Summary: | Crash on SES selftest page when loading the page while WebInspector is open | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Chris Dumez <cdumez> | ||||
Component: | JavaScriptCore | Assignee: | Chris Dumez <cdumez> | ||||
Status: | RESOLVED FIXED | ||||||
Severity: | Normal | CC: | barraclough, commit-queue, erights, ggaren, joepeck, keith_miller, mark.lam, msaboff, sbarati, webkit-bug-importer | ||||
Priority: | P2 | Keywords: | InRadar | ||||
Version: | WebKit Nightly Build | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
URL: | https://rawgit.com/tvcutsem/es-lab/master/src/ses/contract.html | ||||||
See Also: |
https://bugs.webkit.org/show_bug.cgi?id=154350 https://bugs.webkit.org/show_bug.cgi?id=154102 https://bugs.webkit.org/show_bug.cgi?id=200560 |
||||||
Attachments: |
|
Description
Chris Dumez
2016-02-17 19:51:51 PST
Looks like there were 2 checks like this in putDirectInternal: if ((attributes & Accessor) != (currentAttributes & Accessor)) And I only updated one of them :/ This time it seems we hit the following assertion in getOwnPropertyDescriptor(): ASSERT(maybeGetterSetter); So we have a slot with CustomAccessor attribute but getDirect() returns no value somehow. |this| is a DebuggerScope and the propertyName is “document”. I think the issue is that DebuggerScope::getOwnPropertySlot() does not only return *own* properties. It searches the prototype chain, like JSDOMWindow used to do before r196676. We used to have a check at the top of GetOwnPropertyDescriptor() to return early if getOwnPropertySlot() returned a non-own property but Gavin dropped it in r 196676, assuming the workaround was only needed for JSDOMWindow... We probably need to add the following check back: if (slot.slotBase() != this && slot.slotBase()) { if (!proxy || proxy->target() != slot.slotBase()) return false; } I will verify. Created attachment 271663 [details]
Patch
Comment on attachment 271663 [details]
Patch
r=me
Comment on attachment 271663 [details] Patch Clearing flags on attachment: 271663 Committed r196760: <http://trac.webkit.org/changeset/196760> All reviewed patches have been landed. Closing bug. |