Bug 139422
Summary: | Web Inspector: selecting several resources causes inspector to crash | ||
---|---|---|---|
Product: | WebKit | Reporter: | Jonathan Wells <jonowells> |
Component: | JavaScriptCore | Assignee: | Mark Lam <mark.lam> |
Status: | ASSIGNED | ||
Severity: | Normal | CC: | graouts, joepeck, mark.lam, mmaxfield, webkit-bug-importer |
Priority: | P2 | Keywords: | InRadar |
Version: | 528+ (Nightly build) | ||
Hardware: | All | ||
OS: | All |
Jonathan Wells
To reproduce:
1. Navigate to a page with many resources, say http://twitter.com
2. Open the inspector
3. Select resources repeatedly in the resources tab. Reselecting ones that have already been selected and loaded is fine.
After a little bit of this, the inspector will crash and close.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/19184473>
Jonathan Wells
Crash Log
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000018
VM Regions Near 0x18:
-->
__TEXT 00000001017dd000-00000001017df000 [ 8K] r-x/rwx SM=COW /Users/USER/*/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.WebContent.Development.xpc/Contents/MacOS/com.apple.WebKit.WebContent.Development
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 ??? 0x000052eaa8b1a5d1 0 + 91167806039505
1 ??? 0x000052eaa88437bf 0 + 91167803062207
2 ??? 0x000052eaa8b65783 0 + 91167806347139
3 ??? 0x000052eaa8b59da5 0 + 91167806299557
4 ??? 0x000052eaa867b79a 0 + 91167801194394
5 ??? 0x000052eaa8b3a7dc 0 + 91167806171100
6 ??? 0x000052eaa8b2914a 0 + 91167806099786
7 ??? 0x000052eaa8a67f72 0 + 91167805308786
8 ??? 0x000052eaa86272c3 0 + 91167800849091
9 ??? 0x000052eaa8a2ca7f 0 + 91167805065855
10 ??? 0x000052eae860001a 0 + 91168874430490
11 ??? 0x000052eaa8b47b1e 0 + 91167806225182
12 ??? 0x000052eaa86272c3 0 + 91167800849091
13 ??? 0x000052eaa8a2ca7f 0 + 91167805065855
14 ??? 0x000052eae860001a 0 + 91168874430490
15 ??? 0x000052eaa88f39f3 0 + 91167803783667
16 ??? 0x000052eaa8b4619f 0 + 91167806218655
17 ??? 0x000052eae860001a 0 + 91168874430490
18 com.apple.JavaScriptCore 0x000000010994c468 vmEntryToJavaScript + 326
19 com.apple.JavaScriptCore 0x00000001098481e9 JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*) + 169 (JITCode.cpp:78)
20 com.apple.JavaScriptCore 0x000000010982c604 JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 468 (Interpreter.cpp:977)
21 com.apple.JavaScriptCore 0x00000001095a962e JSC::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 62 (CallData.cpp:39)
22 com.apple.JavaScriptCore 0x00000001098978ca JSC::boundFunctionCall(JSC::ExecState*) + 586 (JSBoundFunction.cpp:54)
23 ??? 0x000052eaa8604834 0 + 91167800707124
24 ??? 0x000052eaa87e52d7 0 + 91167802675927
25 ??? 0x000052eae8600034 0 + 91168874430516
26 ??? 0x000052eaa8adb6c3 0 + 91167805781699
27 com.apple.JavaScriptCore 0x000000010994c468 vmEntryToJavaScript + 326
28 com.apple.JavaScriptCore 0x00000001098481e9 JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*) + 169 (JITCode.cpp:78)
29 com.apple.JavaScriptCore 0x000000010982c604 JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 468 (Interpreter.cpp:977)
30 com.apple.JavaScriptCore 0x00000001095a967f JSC::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&, JSC::JSValue*) + 63 (Register.h:116)
31 com.apple.WebCore 0x000000010a4ed3e6 WebCore::JSEventListener::handleEvent(WebCore::ScriptExecutionContext*, WebCore::Event*) + 998 (JSMainThreadExecState.h:56)
32 com.apple.WebCore 0x000000010a1653dc WebCore::EventTarget::fireEventListeners(WebCore::Event*, WebCore::EventTargetData*, WTF::Vector<WebCore::RegisteredEventListener, 1u, WTF::CrashOnOverflow>&) + 652 (InspectorInstrumentation.h:289)
33 com.apple.WebCore 0x000000010a16507f WebCore::EventTarget::fireEventListeners(WebCore::Event*) + 239 (EventTarget.cpp:207)
34 com.apple.WebCore 0x000000010a14b9ae WebCore::MouseOrFocusEventContext::handleLocalEvents(WebCore::Event&) const + 190 (EventContext.cpp:87)
35 com.apple.WebCore 0x000000010a14c474 WebCore::EventDispatcher::dispatchEvent(WebCore::Node*, WTF::PassRefPtr<WebCore::Event>) + 1060 (Event.h:153)
36 com.apple.WebCore 0x000000010a80e58d WebCore::Node::dispatchEvent(WTF::PassRefPtr<WebCore::Event>) + 29 (Node.cpp:2043)
37 com.apple.WebCore 0x000000010a137d1b WebCore::Element::dispatchMouseEvent(WebCore::PlatformMouseEvent const&, WTF::AtomicString const&, int, WebCore::Element*) + 267 (Element.cpp:246)
38 com.apple.WebCore 0x000000010a15591e WebCore::EventHandler::dispatchMouseEvent(WTF::AtomicString const&, WebCore::Node*, bool, int, WebCore::PlatformMouseEvent const&, bool) + 110 (EventHandler.cpp:2558)
39 com.apple.WebCore 0x000000010a155466 WebCore::EventHandler::handleMousePressEvent(WebCore::PlatformMouseEvent const&) + 1782 (EventHandler.cpp:1739)
40 com.apple.WebCore 0x000000010ac6d2cb WebCore::UserInputBridge::handleMousePressEvent(WebCore::PlatformMouseEvent const&, WebCore::InputSource) + 267 (UserInputBridge.cpp:93)
41 com.apple.WebKit 0x0000000108afa7f6 WebKit::handleMouseEvent(WebKit::WebMouseEvent const&, WebKit::WebPage*, bool) + 213 (WebPage.cpp:1892)
42 com.apple.WebKit 0x0000000108afa6e7 WebKit::WebPage::mouseEvent(WebKit::WebMouseEvent const&) + 187 (WebPage.cpp:1838)
43 com.apple.WebKit 0x0000000108b1226a void IPC::handleMessage<Messages::WebPage::MouseEvent, WebKit::WebPage, void (WebKit::WebPage::*)(WebKit::WebMouseEvent const&)>(IPC::MessageDecoder&, WebKit::WebPage*, void (WebKit::WebPage::*)(WebKit::WebMouseEvent const&)) + 84 (HandleMessage.h:121)
44 com.apple.WebKit 0x0000000108b0f6f6 WebKit::WebPage::didReceiveWebPageMessage(IPC::Connection*, IPC::MessageDecoder&) + 2198 (WebPageMessageReceiver.cpp:175)
45 com.apple.WebKit 0x00000001089f056a IPC::MessageReceiverMap::dispatchMessage(IPC::Connection*, IPC::MessageDecoder&) + 120 (MessageReceiverMap.cpp:87)
46 com.apple.WebKit 0x0000000108b5422e WebKit::WebProcess::didReceiveMessage(IPC::Connection*, IPC::MessageDecoder&) + 28 (WebProcess.cpp:603)
47 com.apple.WebKit 0x00000001089912f6 IPC::Connection::dispatchMessage(std::__1::unique_ptr<IPC::MessageDecoder, std::__1::default_delete<IPC::MessageDecoder> >) + 94 (memory:2603)
48 com.apple.WebKit 0x00000001089934bc IPC::Connection::dispatchOneMessage() + 114 (memory:2623)
49 com.apple.JavaScriptCore 0x0000000109aba7f6 WTF::RunLoop::performWork() + 422 (RunLoop.cpp:106)
50 com.apple.JavaScriptCore 0x0000000109abaec2 WTF::RunLoop::performWork(void*) + 34 (RunLoopCF.cpp:39)
51 com.apple.CoreFoundation 0x00007fff871c2551 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
52 com.apple.CoreFoundation 0x00007fff871b46dd __CFRunLoopDoSources0 + 269
53 com.apple.CoreFoundation 0x00007fff871b3d0f __CFRunLoopRun + 927
54 com.apple.CoreFoundation 0x00007fff871b3728 CFRunLoopRunSpecific + 296
55 com.apple.HIToolbox 0x00007fff94692a2f RunCurrentEventLoopInMode + 235
56 com.apple.HIToolbox 0x00007fff946927aa ReceiveNextEventCommon + 431
57 com.apple.HIToolbox 0x00007fff946925eb _BlockUntilNextEventMatchingListInModeWithFilter + 71
58 com.apple.AppKit 0x00007fff8a21677d _DPSNextEvent + 964
59 com.apple.AppKit 0x00007fff8a215f30 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 194
60 com.apple.AppKit 0x00007fff8a209d83 -[NSApplication run] + 594
61 com.apple.AppKit 0x00007fff8a1f5184 NSApplicationMain + 1832
62 libxpc.dylib 0x00007fff958a2ef2 _xpc_objc_main + 793
63 libxpc.dylib 0x00007fff958a4a9d xpc_main + 490
64 com.apple.WebKit.WebContent.Development 0x00000001017de620 main + 16 (XPCServiceMain.Development.mm:94)
65 libdyld.dylib 0x00007fff95cea5c9 start + 1
Mark Lam
<rdar://problem/20715412>
Mark Lam
The crash trace on a debug build:
ASSERTION FAILED: isSymbol()
/Volumes/Data/ws2/OpenSource/Source/JavaScriptCore/runtime/JSCJSValue.cpp(104) : JSC::JSObject *JSC::JSValue::synthesizePrototype(JSC::ExecState *) const
* thread #1: tid = 0x543f99, 0x00000001169adcda JavaScriptCore`WTFCrash + 42 at Assertions.cpp:321, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0xbbadbeef)
* frame #0: 0x00000001169adcda JavaScriptCore`WTFCrash + 42 at Assertions.cpp:321
frame #1: 0x00000001165f8b22 JavaScriptCore`JSC::JSValue::synthesizePrototype(this=0x00007fff54205e58, exec=0x00007fff54205f50) const + 146 at JSCJSValue.cpp:104
frame #2: 0x0000000115fcf16d JavaScriptCore`JSC::JSValue::getPropertySlot(this=0x00007fff54205e58, exec=0x00007fff54205f50, propertyName=PropertyName at 0x00007fff54205db0, slot=0x00007fff54205e20) const + 173 at JSCJSValueInlines.h:715
frame #3: 0x00000001165a7c34 JavaScriptCore`operationGetByIdBuildList(exec=0x00007fff54205f50, stubInfo=0x0000000139ddb3c0, base=140734604795456, uid=0x0000000121da8468) + 180 at JITOperations.cpp:171
frame #4: 0x0000524ec24ddf2b
...
Mark Lam
If the DFG is disabled, this issue does not reproduce.
Timothy Hatcher
*** Bug 150490 has been marked as a duplicate of this bug. ***