WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED INVALID
83195
Assertion reloading an inspected page if the page uses workers
https://bugs.webkit.org/show_bug.cgi?id=83195
Summary
Assertion reloading an inspected page if the page uses workers
Simon Fraser (smfr)
Reported
2012-04-04 13:14:13 PDT
If you reload a page with the inspector open, and the page uses workers, then JSC asserts (even in release builds): Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0 com.apple.JavaScriptCore 0x000000010dea61eb JSC::Weak<JSC::JSCell>::Weak(JSC::JSGlobalData&, JSC::JSCell*, JSC::WeakHandleOwner*, void*) + 59 1 com.apple.JavaScriptCore 0x000000010dea60f8 JSC::Heap::addFinalizer(JSC::JSCell*, void (*)(JSC::JSCell*)) + 40 2 com.apple.JavaScriptCore 0x000000010de376ac JSC::evaluate(JSC::ExecState*, JSC::ScopeChainNode*, JSC::SourceCode const&, JSC::JSValue, JSC::JSValue*) + 172 3 com.apple.WebCore 0x000000010e11c339 WebCore::ScriptController::evaluateInWorld(WebCore::ScriptSourceCode const&, WebCore::DOMWrapperWorld*) + 425 4 com.apple.WebCore 0x000000010e11bf89 WebCore::ScriptController::evaluate(WebCore::ScriptSourceCode const&) + 41 5 com.apple.WebCore 0x000000010e5679b2 WebCore::InspectorClient::doDispatchMessageOnFrontendPage(WebCore::Page*, WTF::String const&) + 242 6 com.apple.WebKit2 0x000000010daf7d9e WebKit::WebInspectorClient::sendMessageToFrontend(WTF::String const&) + 58 7 com.apple.WebCore 0x000000010e8d5269 WebCore::InspectorFrontend::Inspector::didDestroyWorker(int) + 617 8 com.apple.WebCore 0x000000010e893533 WebCore::InspectorAgent::didDestroyWorker(long) + 259 9 com.apple.WebCore 0x000000010e448846 WebCore::AbstractWorker::~AbstractWorker() + 38 10 com.apple.WebCore 0x000000010e4484ae WebCore::Worker::~Worker() + 94 11 com.apple.WebCore 0x000000010e448416 WebCore::JSWorkerOwner::finalize(JSC::Handle<JSC::Unknown>, void*) + 166 12 com.apple.JavaScriptCore 0x000000010dd7e549 JSC::HandleHeap::finalizeWeakHandles() + 169 13 com.apple.JavaScriptCore 0x000000010dea5f7d JSC::Heap::collect(JSC::Heap::SweepToggle) + 77 14 com.apple.JavaScriptCore 0x000000010dd7dde8 JSC::DefaultGCActivityCallbackPlatformData::trigger(__CFRunLoopTimer*, void*) + 184 15 com.apple.CoreFoundation 0x00007fff917a9c24 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 20 16 com.apple.CoreFoundation 0x00007fff917a9776 __CFRunLoopDoTimer + 534 17 com.apple.CoreFoundation 0x00007fff9178a001 __CFRunLoopRun + 1617 18 com.apple.CoreFoundation 0x00007fff91789676 CFRunLoopRunSpecific + 230 19 com.apple.HIToolbox 0x00007fff9474831f RunCurrentEventLoopInMode + 277 20 com.apple.HIToolbox 0x00007fff9474f5c9 ReceiveNextEventCommon + 355 21 com.apple.HIToolbox 0x00007fff9474f456 BlockUntilNextEventMatchingListInMode + 62 22 com.apple.AppKit 0x00007fff8b4e1f5d _DPSNextEvent + 659 23 com.apple.AppKit 0x00007fff8b4e1861 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 135 24 com.apple.AppKit 0x00007fff8b4de19d -[NSApplication run] + 470 25 com.apple.WebCore 0x000000010eb6624f WebCore::RunLoop::run() + 63 26 com.apple.WebKit2 0x000000010db2eeaa WebKit::WebProcessMain(WebKit::CommandLine const&) + 2538 27 com.apple.WebKit2 0x000000010dafa8ef WebKitMain + 285 28 com.apple.WebProcess 0x000000010d9fae5f 0x10d9fa000 + 3679 29 com.apple.WebProcess 0x000000010d9fad7c 0x10d9fa000 + 3452 The problem is that InspectorAgent::didDestroyWorker(long) is causing script to be run while we're inside a GC. That's a big no-no.
Attachments
Add attachment
proposed patch, testcase, etc.
Simon Fraser (smfr)
Comment 1
2012-04-04 13:14:23 PDT
<
rdar://problem/11185236
>
Brian Burg
Comment 2
2014-08-03 19:19:32 PDT
This code path no longer exists, so closing.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug