Bug 140367 - Web Inspector: ASSERT under WebCore::InspectorResourceAgent::loadResource
Summary: Web Inspector: ASSERT under WebCore::InspectorResourceAgent::loadResource
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Web Inspector (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Brian Burg
URL:
Keywords: DoNotImportToRadar
Depends on:
Blocks:
 
Reported: 2015-01-12 12:12 PST by Joseph Pecoraro
Modified: 2015-01-12 14:03 PST (History)
9 users (show)

See Also:


Attachments
Patch (1.80 KB, patch)
2015-01-12 12:58 PST, Brian Burg
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Joseph Pecoraro 2015-01-12 12:12:50 PST
* SUMMARY
Seeing reports of an assertion in Network.loadRequest (used to load SourceMap resources).

ASSERTION FAILED: m_ptr
Ref.h(92) : T *WTF::Ref<Inspector::InspectorNetworkBackendDispatcherHandler::LoadResourceCallback>::operator->() [T = Inspector::InspectorNetworkBackendDispatcherHandler::LoadResourceCallback]
1   0x10dadfb40 WTFCrash
2   0x10fdd3bc5 WTF::Ref<Inspector::InspectorNetworkBackendDispatcherHandler::LoadResourceCallback>::operator->()
3   0x10fdd18f1 WebCore::InspectorResourceAgent::loadResource(WTF::String&, WTF::String const&, WTF::String const&, WTF::Ref<Inspector::InspectorNetworkBackendDispatcherHandler::LoadResourceCallback>&&)
4   0x10fdd1ad7 non-virtual thunk to WebCore::InspectorResourceAgent::loadResource(WTF::String&, WTF::String const&, WTF::String const&, WTF::Ref<Inspector::InspectorNetworkBackendDispatcherHandler::LoadResourceCallback>&&)
5   0x10d6c8b57 Inspector::InspectorNetworkBackendDispatcher::loadResource(long, Inspector::InspectorObject const&)
6   0x10d6c7580 Inspector::InspectorNetworkBackendDispatcher::dispatch(long, WTF::String const&, WTF::Ref<Inspector::InspectorObject>&&)
7   0x10d688e99 Inspector::InspectorBackendDispatcher::dispatch(WTF::String const&)
8   0x10fd13901 WebCore::InspectorController::dispatchMessageFromFrontend(WTF::String const&)
9   0x10ac01661 WebKit::WebInspector::sendMessageToBackend(WTF::String const&)
10  0x10ac0c21f void IPC::callMemberFunctionImpl<WebKit::WebInspector, void (WebKit::WebInspector::*)(WTF::String const&), std::__1::tuple<WTF::String>, 0ul>(WebKit::WebInspector*, void (WebKit::WebInspector::*)(WTF::String const&), std::__1::tuple<WTF::String>&&, std::index_sequence<0ul>)
11  0x10ac0c178 void IPC::callMemberFunction<WebKit::WebInspector, void (WebKit::WebInspector::*)(WTF::String const&), std::__1::tuple<WTF::String>, std::make_index_sequence<1ul> >(std::__1::tuple<WTF::String>&&, WebKit::WebInspector*, void (WebKit::WebInspector::*)(WTF::String const&))


* NOTES
Possible reason for the crash, using a Ref after WTF::move:

    void InspectorResourceAgent::loadResource(ErrorString& errorString, const String& frameId, const String& urlString, Ref<LoadResourceCallback>&& callback)
    {
        ...
        InspectorThreadableLoaderClient* inspectorThreadableLoaderClient = new InspectorThreadableLoaderClient(WTF::move(callback));
        ...
        if (!callback->isActive())
            return;
        ...
    }
Comment 1 Joseph Pecoraro 2015-01-12 12:13:05 PST
<rdar://problem/19444300>
Comment 2 Brian Burg 2015-01-12 12:58:54 PST
Created attachment 244460 [details]
Patch
Comment 3 Andreas Kling 2015-01-12 13:02:08 PST
Comment on attachment 244460 [details]
Patch

r=me
Comment 4 WebKit Commit Bot 2015-01-12 14:02:56 PST
Comment on attachment 244460 [details]
Patch

Clearing flags on attachment: 244460

Committed r178297: <http://trac.webkit.org/changeset/178297>
Comment 5 WebKit Commit Bot 2015-01-12 14:03:01 PST
All reviewed patches have been landed.  Closing bug.