Bug 186784 - Crash under WebProcessPool::networkProcessFailedToLaunch():
Summary: Crash under WebProcessPool::networkProcessFailedToLaunch():
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit2 (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Chris Dumez
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2018-06-18 12:09 PDT by Chris Dumez
Modified: 2018-06-18 14:47 PDT (History)
6 users (show)

See Also:


Attachments
Patch (8.75 KB, patch)
2018-06-18 12:13 PDT, Chris Dumez
no flags Details | Formatted Diff | Diff
Archive of layout-test-results from ews202 for win-future (12.86 MB, application/zip)
2018-06-18 14:16 PDT, EWS Watchlist
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Dumez 2018-06-18 12:09:05 PDT
Crash under WebProcessPool::networkProcessFailedToLaunch()::
Thread[0] EXC_BAD_ACCESS (SIGSEGV) (KERN_INVALID_ADDRESS at 0x0000000000000000)
[  0] 0x0000000196928b7c WebKit`WebKit::WebProcessPool::networkProcessFailedToLaunch(WebKit::NetworkProcessProxy&) + 116 at WebProcessPool.cpp:512:21
       508 	    ASSERT(&networkProcessProxy == m_networkProcess.get());
       509 	    m_didNetworkProcessCrash = true;
       510 	
       511 	    for (auto& supplement : m_supplements.values())
    -> 512 	        supplement->processDidClose(&networkProcessProxy);
       513 	
       514 	    m_client.networkProcessDidCrash(this);
       515 	
       516 	    // Leave the process proxy around during client call, so that the client could query the process identifier.
    

     0x0000000196928b6c:      mov x22, x21
     0x0000000196928b70:      cmp x22, x21
     0x0000000196928b74:     b.eq 0x23dbc0             ; <+184> at WebProcessPool.cpp:514
     0x0000000196928b78:      ldr x0, [x22, #0x8]
 ->  0x0000000196928b7c:      ldr x8, [x0]
     0x0000000196928b80:      ldr x8, [x8, #0x20]
     0x0000000196928b84:      mov x1, x20
     0x0000000196928b88:      blr x8
     0x0000000196928b8c:      add x22, x22, #0x10      ; =0x10 

[  1] 0x0000000196928ab7 WebKit`WebKit::WebProcessPool::networkProcessCrashed(WebKit::NetworkProcessProxy&, WTF::Vector<WTF::Ref<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply>, 0ul, WTF::CrashOnOverflow, 16ul>&&) + 27 at WebProcessPool.cpp:496:5
       492 	}
       493 	
       494 	void WebProcessPool::networkProcessCrashed(NetworkProcessProxy& networkProcessProxy, Vector<Ref<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply>>&& pendingReplies)
       495 	{
    -> 496 	    networkProcessFailedToLaunch(networkProcessProxy);
       497 	    ASSERT(!m_networkProcess);
       498 	    if (pendingReplies.isEmpty())
       499 	        return;
       500 	    auto& newNetworkProcess = ensureNetworkProcess();
    
[  2] 0x0000000196928ab7 WebKit`WebKit::WebProcessPool::networkProcessCrashed(WebKit::NetworkProcessProxy&, WTF::Vector<WTF::Ref<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply>, 0ul, WTF::CrashOnOverflow, 16ul>&&) + 27 at WebProcessPool.cpp:496:5
       492 	}
       493 	
       494 	void WebProcessPool::networkProcessCrashed(NetworkProcessProxy& networkProcessProxy, Vector<Ref<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply>>&& pendingReplies)
       495 	{
    -> 496 	    networkProcessFailedToLaunch(networkProcessProxy);
       497 	    ASSERT(!m_networkProcess);
       498 	    if (pendingReplies.isEmpty())
       499 	        return;
       500 	    auto& newNetworkProcess = ensureNetworkProcess();
    
[  3] 0x00000001967a821f WebKit`WebKit::NetworkProcessProxy::networkProcessCrashed() + 151 at NetworkProcessProxy.cpp:177:19
       173 	    for (auto& reply : m_pendingConnectionReplies)
       174 	        pendingReplies.append(WTFMove(reply));
       175 	
       176 	    // Tell the network process manager to forget about this network process proxy. This may cause us to be deleted.
    -> 177 	    m_processPool.networkProcessCrashed(*this, WTFMove(pendingReplies));
       178 	}
       179 	
       180 	void NetworkProcessProxy::networkProcessFailedToLaunch()
       181 	{
Comment 1 Chris Dumez 2018-06-18 12:09:17 PDT
<rdar://problem/33535377>
Comment 2 Chris Dumez 2018-06-18 12:13:18 PDT
Created attachment 342960 [details]
Patch
Comment 3 EWS Watchlist 2018-06-18 14:16:04 PDT
Comment on attachment 342960 [details]
Patch

Attachment 342960 [details] did not pass win-ews (win):
Output: http://webkit-queues.webkit.org/results/8236016

New failing tests:
http/tests/preload/onload_event.html
Comment 4 EWS Watchlist 2018-06-18 14:16:15 PDT
Created attachment 342971 [details]
Archive of layout-test-results from ews202 for win-future

The attached test failures were seen while running run-webkit-tests on the win-ews.
Bot: ews202  Port: win-future  Platform: CYGWIN_NT-6.1-2.9.0-0.318-5-3-x86_64-64bit
Comment 5 Chris Dumez 2018-06-18 14:47:04 PDT
Comment on attachment 342960 [details]
Patch

Clearing flags on attachment: 342960

Committed r232948: <https://trac.webkit.org/changeset/232948>
Comment 6 Chris Dumez 2018-06-18 14:47:06 PDT
All reviewed patches have been landed.  Closing bug.