[Webkit-unassigned] [Bug 187297] [linux] ASSERT: Using an alternative signal stack is not supported. Consider disabling the concurrent GC.

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Jul 4 00:25:48 PDT 2018


https://bugs.webkit.org/show_bug.cgi?id=187297

--- Comment #3 from Mark Lam <mark.lam at apple.com> ---
(In reply to Yusuke Suzuki from comment #2)
> ...
> I think this is not Linux specific. Even in Darwin, an alternative stack is
> not supported.
> 
> 1. when a signal handler with an alternative stack flag is invoked, it's
> stack pointer is an alternative stack.
> 2. while executig a signal handler, thread_suspend is executed
> 3. saved thread context's stack pointer is pointing an alternative stack
> 4. stack scan is broken.

According to Thread::getRegisters(), OS(DARWIN) does not depend on the platform registers stashed away by Thread::signalHandlerSuspendResume().  Instead, it uses a thread_get_state() to get the registers of the target thread.  I quite sure that thread_get_state() does not require the target thread to be the current thread.  In fact, OS(DARWIN) suspends the target thread and reads its registers using thread_get_state().  Therefore, thread_get_state() has to be operating on a different thread there.

Hence, this issue only applies to Linux.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20180704/ea560adc/attachment.html>


More information about the webkit-unassigned mailing list