[Webkit-unassigned] [Bug 152480] New: ASSERT(m_downloads.isEmpty()) fails in DownloadProxyMap::~DownloadProxyMap()
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Mon Dec 21 10:01:57 PST 2015
https://bugs.webkit.org/show_bug.cgi?id=152480
Bug ID: 152480
Summary: ASSERT(m_downloads.isEmpty()) fails in
DownloadProxyMap::~DownloadProxyMap()
Classification: Unclassified
Product: WebKit
Version: WebKit Nightly Build
Hardware: Macintosh
OS: Mac OS X 10.11
Status: NEW
Severity: Normal
Priority: P2
Component: WebKit2
Assignee: webkit-unassigned at lists.webkit.org
Reporter: dbates at webkit.org
CC: achristensen at apple.com, andersca at apple.com,
sam at webkit.org
When running TestWebKitAPI with a debug build of WebKit in Xcode, TestWebKitAPI crashes after running test ContentFiltering.BlockDownloadAfterWillSendRequest because the assertion ASSERT(m_downloads.isEmpty()) fails in DownloadProxyMap::~DownloadProxyMap(). For some reason, I have not had success reproducing this issue when running TestWebKitAPI tests using the command line script run-api-tests.
I am using a debug build of WebKit r194240.
You can reproduce this crash by performing the following:
1. Open WebKit.xcworkspace.
2. Ensure scheme is All Tools/My Mac (64-bit).
3. Choose Product > Scheme > Edit Scheme from the menu bar.
4. In the scheme editor, click Run in the sidebar. In the Info pane, choose executable TestWebKitAPI. Then switch to the Arguments pane and pass the following argument on launch:
--gtest_filter=ContentFiltering.AllowDownloadAfterWillSendRequest:ContentFiltering.BlockDownloadAfterWillSendRequest
5. Click the Close button to close the scheme editor.
6. Run TestWebKitAPI (if you have an existing build then choose Product > Perform Action > Run Without Building).
Then you will break into a debug session when the assertion fails with the following debugger output:
ASSERTION FAILED: m_downloads.isEmpty()
/Volumes/.../Source/WebKit2/UIProcess/Downloads/DownloadProxyMap.cpp(44) : WebKit::DownloadProxyMap::~DownloadProxyMap()
1 0x10188d9b0 WTFCrash
2 0x1037c66a1 WebKit::DownloadProxyMap::~DownloadProxyMap()
3 0x1037c66d5 WebKit::DownloadProxyMap::~DownloadProxyMap()
4 0x103987172 WebKit::NetworkProcessProxy::~NetworkProcessProxy()
5 0x103987215 WebKit::NetworkProcessProxy::~NetworkProcessProxy()
6 0x103987299 WebKit::NetworkProcessProxy::~NetworkProcessProxy()
7 0x103a67843 WTF::ThreadSafeRefCounted<WebKit::ChildProcessProxy>::deref()
8 0x104019aca void WTF::derefIfNotNull<WebKit::NetworkProcessProxy>(WebKit::NetworkProcessProxy*)
9 0x104019a89 WTF::RefPtr<WebKit::NetworkProcessProxy>::~RefPtr()
10 0x10400db75 WTF::RefPtr<WebKit::NetworkProcessProxy>::~RefPtr()
11 0x1040054fe WebKit::WebProcessPool::~WebProcessPool()
12 0x104005945 WebKit::WebProcessPool::~WebProcessPool()
13 0x10419d53e -[WKProcessPool dealloc]
14 0x10366c81d API::Object::deref()
15 0x103670134 void WTF::derefIfNotNull<WebKit::WebProcessPool>(WebKit::WebProcessPool*)
16 0x1037c5957 WTF::RefPtr<WebKit::WebProcessPool>::operator=(std::nullptr_t)
17 0x1037c4a82 WebKit::DownloadProxy::invalidate()
18 0x1037c68f2 WebKit::DownloadProxyMap::downloadFinished(WebKit::DownloadProxy*)
19 0x1037c50d4 WebKit::DownloadProxy::didFinish()
20 0x1037cb8e3 void IPC::callMemberFunctionImpl<WebKit::DownloadProxy, void (WebKit::DownloadProxy::*)(), std::__1::tuple<> >(WebKit::DownloadProxy*, void (WebKit::DownloadProxy::*)(), std::__1::tuple<>&&, std::index_sequence<>)
21 0x1037cb858 void IPC::callMemberFunction<WebKit::DownloadProxy, void (WebKit::DownloadProxy::*)(), std::__1::tuple<>, std::make_index_sequence<0ul> >(std::__1::tuple<>&&, WebKit::DownloadProxy*, void (WebKit::DownloadProxy::*)())
22 0x1037ca75a void IPC::handleMessage<Messages::DownloadProxy::DidFinish, WebKit::DownloadProxy, void (WebKit::DownloadProxy::*)()>(IPC::MessageDecoder&, WebKit::DownloadProxy*, void (WebKit::DownloadProxy::*)())
23 0x1037c9d02 WebKit::DownloadProxy::didReceiveMessage(IPC::Connection&, IPC::MessageDecoder&)
24 0x1037c9e77 non-virtual thunk to WebKit::DownloadProxy::didReceiveMessage(IPC::Connection&, IPC::MessageDecoder&)
25 0x10384bfcf IPC::MessageReceiverMap::dispatchMessage(IPC::Connection&, IPC::MessageDecoder&)
26 0x1036cdc87 WebKit::ChildProcessProxy::dispatchMessage(IPC::Connection&, IPC::MessageDecoder&)
27 0x10398827a WebKit::NetworkProcessProxy::didReceiveMessage(IPC::Connection&, IPC::MessageDecoder&)
28 0x103988307 non-virtual thunk to WebKit::NetworkProcessProxy::didReceiveMessage(IPC::Connection&, IPC::MessageDecoder&)
29 0x1036dbe13 IPC::Connection::dispatchMessage(IPC::MessageDecoder&)
30 0x1036d2d41 IPC::Connection::dispatchMessage(std::__1::unique_ptr<IPC::MessageDecoder, std::__1::default_delete<IPC::MessageDecoder> >)
31 0x1036dc40f IPC::Connection::dispatchOneMessage()
--
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/20151221/750625b5/attachment-0001.html>
More information about the webkit-unassigned
mailing list