[Webkit-unassigned] [Bug 208642] REGRESSION: (r257905) [ Mac wk2 Debug ] ASSERTION FAILED: !m_isolatedWorld->isNormal() || m_wrapper || !m_jsFunction

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Mar 5 17:28:11 PST 2020


--- Comment #14 from Yusuke Suzuki <ysuzuki at apple.com> ---
(In reply to Yusuke Suzuki from comment #13)
> (In reply to Yusuke Suzuki from comment #11)
> > > The assertion is saying that if m_jsFunction is not null, then m_wrapper shouldn't be null. This must be true because any event target with a valid JS event listener should have had a wrapper when the event listener was added, and the wrapper should never be collected as long as the event listener can be invoked.
> > 
> > No. m_jsFunction can be any value basically if m_wrapper is null. This can
> > be collected. But this can be retained because of conservative GC, because
> > user puts listener function to somewhere, and the other any reasons.
> > So, m_jsFunction in this assertion is completely unrelated to what we should
> > test.
> > The correct assertion should be at least,
> > 
> > ASSERT(!m_isolatedWorld->isNormal() || m_wrapper);
> Maybe, we can also ensure that,
> if (m_wrapper)
>     ASSERT(m_jsFunction);
> But current assertion is saying,
> if (!m_wrapper)
>     ASSERT(!m_jsFunction);
> This is not guaranteed (you can consider conservative GC. Any objects can be
> marked as live).

And I ensured that nobody is clearing m_jsFunction when m_wrapper is gone. So the current assertion's `!m_jsFunction` part is incorrect.

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/20200306/aef8302e/attachment.htm>

More information about the webkit-unassigned mailing list