⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 283283 in webkit


Ignore:
Timestamp:
Sep 29, 2021, 4:56:07 PM (5 years ago)
Author:
Chris Dumez
Message:

[ iOS Debug ] http/tests/xmlhttprequest/access-control-preflight-credential-sync.html is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=228305
<rdar://problem/81136891>

Reviewed by Alex Christensen.

Source/WebKit:

When a NetworkResourceLoader for a synchronous XHR gets aborted (e.g. because the connection to
the WebProcess was severed), NetworkResourceLoader::abort() would fail to call
sendReplyToSynchronousRequest() (sendReplyToSynchronousRequest was only called in didFailLoading() and
didFinishLoading()). As a result, we would hit the following assertion in the NetworkResourceLoader

destructor later on: ASSERT(!isSynchronous()
!m_synchronousLoadData->delayedReply)

No new tests, covered by existing test that I am unskipping.

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::abort):

LayoutTests:

Unskip test that should no longer be flaky.

  • platform/ios-wk2/TestExpectations:
Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r283279 r283283  
     12021-09-29  Chris Dumez  <cdumez@apple.com>
     2
     3        [ iOS Debug ] http/tests/xmlhttprequest/access-control-preflight-credential-sync.html is a flaky crash
     4        https://bugs.webkit.org/show_bug.cgi?id=228305
     5        <rdar://problem/81136891>
     6
     7        Reviewed by Alex Christensen.
     8
     9        Unskip test that should no longer be flaky.
     10
     11        * platform/ios-wk2/TestExpectations:
     12
    1132021-09-29  Kiet Ho  <tho22@apple.com>
    214
  • trunk/LayoutTests/platform/ios-wk2/TestExpectations

    r283267 r283283  
    19091909webkit.org/b/215350 http/tests/xmlhttprequest/overridemimetype-headers-received-state-force-shiftjis.html [ Pass Timeout ]
    19101910
    1911 webkit.org/b/228305 [ Debug ] http/tests/xmlhttprequest/access-control-preflight-credential-sync.html [ Pass Crash ]
    1912 
    19131911webkit.org/b/215351 http/wpt/service-workers/module-meta-url-fragment.https.html [ Pass Failure ]
    19141912
  • trunk/Source/WebKit/ChangeLog

    r283280 r283283  
     12021-09-29  Chris Dumez  <cdumez@apple.com>
     2
     3        [ iOS Debug ] http/tests/xmlhttprequest/access-control-preflight-credential-sync.html is a flaky crash
     4        https://bugs.webkit.org/show_bug.cgi?id=228305
     5        <rdar://problem/81136891>
     6
     7        Reviewed by Alex Christensen.
     8
     9        When a NetworkResourceLoader for a synchronous XHR gets aborted (e.g. because the connection to
     10        the WebProcess was severed), NetworkResourceLoader::abort() would fail to call
     11        sendReplyToSynchronousRequest() (sendReplyToSynchronousRequest was only called in didFailLoading() and
     12        didFinishLoading()). As a result, we would hit the following assertion in the NetworkResourceLoader
     13        destructor later on: ASSERT(!isSynchronous() || !m_synchronousLoadData->delayedReply)
     14
     15        No new tests, covered by existing test that I am unskipping.
     16
     17        * NetworkProcess/NetworkResourceLoader.cpp:
     18        (WebKit::NetworkResourceLoader::abort):
     19
    1202021-09-29  Sihui Liu  <sihui_liu@apple.com>
    221
  • trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp

    r283179 r283283  
    524524    }
    525525
     526    if (isSynchronous()) {
     527        m_synchronousLoadData->error = ResourceError { ResourceError::Type::Cancellation };
     528        sendReplyToSynchronousRequest(*m_synchronousLoadData, nullptr, { });
     529    }
     530
    526531    cleanup(LoadResult::Cancel);
    527532}
Note: See TracChangeset for help on using the changeset viewer.