Changeset 242652 in webkit


Ignore:
Timestamp:
Mar 8, 2019 11:54:02 AM (5 years ago)
Author:
Chris Dumez
Message:

Add assertions to help debug a WebProcessCache crash
https://bugs.webkit.org/show_bug.cgi?id=195469

Reviewed by Brady Eidson.

I suspect the process's registrableDomain in null when evictProcess() gets
called, thus crashing when lookup it up in the HashMap. Confirm this and
how this could happen via assertions.

  • UIProcess/WebProcessCache.cpp:

(WebKit::WebProcessCache::evictProcess):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::didStartProvisionalLoadForMainFrame):

Location:
trunk/Source/WebKit
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r242646 r242652  
     12019-03-08  Chris Dumez  <cdumez@apple.com>
     2
     3        Add assertions to help debug a WebProcessCache crash
     4        https://bugs.webkit.org/show_bug.cgi?id=195469
     5
     6        Reviewed by Brady Eidson.
     7
     8        I suspect the process's registrableDomain in null when evictProcess() gets
     9        called, thus crashing when lookup it up in the HashMap. Confirm this and
     10        how this could happen via assertions.
     11
     12        * UIProcess/WebProcessCache.cpp:
     13        (WebKit::WebProcessCache::evictProcess):
     14        * UIProcess/WebProcessProxy.cpp:
     15        (WebKit::WebProcessProxy::didStartProvisionalLoadForMainFrame):
     16
    1172019-03-08  Brady Eidson  <beidson@apple.com>
    218
  • trunk/Source/WebKit/UIProcess/WebProcessCache.cpp

    r242496 r242652  
    187187void WebProcessCache::evictProcess(WebProcessProxy& process)
    188188{
     189    RELEASE_ASSERT(!process.registrableDomain().isEmpty());
    189190    auto it = m_processesPerRegistrableDomain.find(process.registrableDomain());
    190191    ASSERT(it != m_processesPerRegistrableDomain.end());
  • trunk/Source/WebKit/UIProcess/WebProcessProxy.cpp

    r242646 r242652  
    14281428void WebProcessProxy::didStartProvisionalLoadForMainFrame(const URL& url)
    14291429{
     1430    RELEASE_ASSERT(!isInProcessCache());
     1431
    14301432    // This process has been used for several registrable domains already.
    14311433    if (m_registrableDomain && m_registrableDomain->isNull())
Note: See TracChangeset for help on using the changeset viewer.