[Webkit-unassigned] [Bug 157333] New: REGRESSION(r200383): Setting lazily initialized properties across frame boundaries crashes
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Tue May 3 18:20:37 PDT 2016
https://bugs.webkit.org/show_bug.cgi?id=157333
Bug ID: 157333
Summary: REGRESSION(r200383): Setting lazily initialized
properties across frame boundaries crashes
Classification: Unclassified
Product: WebKit
Version: WebKit Nightly Build
Hardware: Unspecified
OS: Unspecified
Status: NEW
Severity: Normal
Priority: P2
Component: JavaScriptCore
Assignee: webkit-unassigned at lists.webkit.org
Reporter: joepeck at webkit.org
CC: fpizlo at apple.com, ggaren at apple.com,
keith_miller at apple.com
Created attachment 278051
--> https://bugs.webkit.org/attachment.cgi?id=278051&action=review
[TEST] Test case
* SUMMARY
Setting lazily initialized properties across frame boundaries crashes.
* TEST
<iframe id="x" src="data:text/html,<p>Hello</p>"></iframe>
<script>window.frames[0].Math = window.Math;</script>
* STEPS TO REPRODUCE
1. Load attached test case
=> CRASH
* NOTES
- Caught when trying to make `console` lazily initialized by test:
LayoutTests/fast/dom/Window/window-lookup-precedence.html
* CRASH SNIPPET
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 ??? 000000000000000000 0 + 0
1 com.apple.JavaScriptCore 0x00000001059bcc93 JSC::callCustomSetter(JSC::ExecState*, bool (*)(JSC::ExecState*, long long, long long), bool, JSC::JSValue, JSC::JSValue) + 19 (CustomGetterSetter.cpp:43)
2 com.apple.JavaScriptCore 0x0000000105e4d3da JSC::putEntry(JSC::ExecState*, JSC::HashTableValue const*, JSC::JSObject*, JSC::JSObject*, JSC::PropertyName, JSC::JSValue, JSC::PutPropertySlot&) + 138 (Lookup.h:312)
3 com.apple.JavaScriptCore 0x0000000105e4c63a JSC::JSObject::putInlineSlow(JSC::ExecState*, JSC::PropertyName, JSC::JSValue, JSC::PutPropertySlot&) + 1194 (JSObject.cpp:573)
4 com.apple.JavaScriptCore 0x0000000105e476ae JSC::JSObject::put(JSC::JSCell*, JSC::ExecState*, JSC::PropertyName, JSC::JSValue, JSC::PutPropertySlot&) + 526 (JSObjectInlines.h:81)
5 com.apple.JavaScriptCore 0x0000000105e0e0cf JSC::JSGlobalObject::put(JSC::JSCell*, JSC::ExecState*, JSC::PropertyName, JSC::JSValue, JSC::PutPropertySlot&) + 111 (JSGlobalObject.cpp:825)
6 com.apple.WebCore 0x0000000106ee09fa WebCore::JSDOMWindow::put(JSC::JSCell*, JSC::ExecState*, JSC::PropertyName, JSC::JSValue, JSC::PutPropertySlot&) + 90 (JSDOMWindowCustom.cpp:315)
7 com.apple.JavaScriptCore 0x0000000105dbce9a JSC::putByVal(JSC::ExecState*, JSC::JSValue, JSC::JSValue, JSC::JSValue, JSC::ByValInfo*) + 1466 (JSCJSValueInlines.h:840)
8 ??? 0x000039d551e0e7b3 0 + 63588364511155
9 com.apple.JavaScriptCore 0x0000000105f283c2 llint_entry + 23764
10 com.apple.JavaScriptCore 0x0000000105f2250b vmEntryToJavaScript + 299
11 com.apple.JavaScriptCore 0x0000000105d9a74e JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*) + 158 (JITCode.cpp:81)
12 com.apple.JavaScriptCore 0x0000000105d51536 JSC::Interpreter::execute(JSC::ProgramExecutable*, JSC::ExecState*, JSC::JSObject*) + 15110 (Interpreter.cpp:960)
13 com.apple.JavaScriptCore 0x00000001059b1f25 JSC::evaluate(JSC::ExecState*, JSC::SourceCode const&, JSC::JSValue, WTF::NakedPtr<JSC::Exception>&) + 469 (Completion.cpp:106)
14 com.apple.WebCore 0x00000001074e9cfe WebCore::ScriptController::evaluateInWorld(WebCore::ScriptSourceCode const&, WebCore::DOMWrapperWorld&, WebCore::ExceptionDetails*) + 302 (JSMainThreadExecState.h:81)
15 com.apple.WebCore 0x00000001074efdc7 WebCore::ScriptElement::executeScript(WebCore::ScriptSourceCode const&) + 567 (CurrentScriptIncrementer.h:50)
16 com.apple.WebCore 0x00000001074ee6fa WebCore::ScriptElement::prepareScript(WTF::TextPosition const&, WebCore::ScriptElement::LegacyTypeSupport) + 1066 (StdLibExtras.h:370)
17 com.apple.WebCore 0x0000000106cb5d02 WebCore::HTMLScriptRunner::runScript(WebCore::Element*, WTF::TextPosition const&) + 338 (ScriptElement.h:59)
18 com.apple.WebCore 0x0000000106cb5b60 WebCore::HTMLScriptRunner::execute(WTF::PassRefPtr<WebCore::Element>, WTF::TextPosition const&) + 48 (HTMLScriptRunner.cpp:189)
19 com.apple.WebCore 0x0000000106c5358c WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder() + 316 (StdLibExtras.h:370)
20 com.apple.WebCore 0x0000000106c5393d WebCore::HTMLDocumentParser::pumpTokenizerLoop(WebCore::HTMLDocumentParser::SynchronousMode, bool, WebCore::PumpSession&) + 669 (HTMLDocumentParser.cpp:234)
21 com.apple.WebCore 0x0000000106c532c3 WebCore::HTMLDocumentParser::pumpTokenizer(WebCore::HTMLDocumentParser::SynchronousMode) + 115 (DocumentParser.h:70)
...
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-unassigned/attachments/20160504/ecbddb22/attachment-0001.html>
More information about the webkit-unassigned
mailing list