Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: page.goto hangs on aborted client side redirect #9175

Closed
mkacmar opened this issue Oct 27, 2022 · 5 comments · Fixed by #9178 or #9184
Closed

[Bug]: page.goto hangs on aborted client side redirect #9175

mkacmar opened this issue Oct 27, 2022 · 5 comments · Fixed by #9178 or #9184

Comments

@mkacmar
Copy link

mkacmar commented Oct 27, 2022

Bug description

Steps to reproduce the problem:

  1. Run script against HTML page simulating client side redirect (both attached below, the script assumes page available at port 8000).
  2. The script will hang, the expectation is that it will finish (behavior observed in versions <= 16.1.0, more details below).

Minimal reproducible example (uses the recommended approach from #823 (comment)):

const puppeteer = require('puppeteer');

(async () => {
    const url = 'http://localhost:8000/index.html';

    const browser = await puppeteer.launch({headless: true});
    const page = await browser.newPage();

    await page.setRequestInterception(true);

    page.on('request', async (request) => {
        if (request.url() === url) {
            return request.continue();
        }

        if (request.isNavigationRequest() && request.frame() === page.mainFrame()) {
            return request.abort();
        } else {
            return request.continue();
        }
    });

    await page.goto(url, {
        waitUntil: ['domcontentloaded', 'networkidle0'],
    });

    await page.close();
    await browser.close();
})();
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Client side redirect</title>
</head>
<body>
<script>
    setTimeout(() => {
        window.location.href = 'https://pptr.dev/';
    }, 500);
</script>
</body>
</html>

The issue starts to appear with v16.1.1, it works as expected with v16.1.0 - I can reproduce the issue on most recent version - (19.2.0 at the time of writing).

I've tracked the issue to commit 2580347 - I've attached the log output from this commit.

Let me know if I can provide more details or if there's a different recommended approach to stop client side redirects.

Puppeteer version

16.1.1

Node.js version

16.14.0

npm version

8.3.1

What operating system are you seeing the problem on?

Linux

Relevant log output

puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Target.setDiscoverTargets","params":{"discover":true,"filter":[{"type":"tab","exclude":true},{}]},"id":1}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Target.setAutoAttach","params":{"waitForDebuggerOnStart":true,"flatten":true,"autoAttach":true},"id":2}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Target.targetCreated","params":{"targetInfo":{"targetId":"82550D36248BE4D8AE7E63720A8C12B8","type":"page","title":"","url":"about:blank","attached":false,"canAccessOpener":false,"browserContextId":"52C2C43E500C33B50D7579EDA1B34D64"}}}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Target.targetCreated","params":{"targetInfo":{"targetId":"92302830-97b6-4c31-84d3-563910152dc5","type":"browser","title":"","url":"","attached":true,"canAccessOpener":false}}}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Target.targetCreated","params":{"targetInfo":{"targetId":"9fd8c75b-0917-429b-93a1-5b0607b3c50b","type":"browser","title":"","url":"","attached":false,"canAccessOpener":false}}}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [ '{"id":1,"result":{}}' ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Target.targetInfoChanged","params":{"targetInfo":{"targetId":"82550D36248BE4D8AE7E63720A8C12B8","type":"page","title":"","url":"about:blank","attached":true,"canAccessOpener":false,"browserContextId":"52C2C43E500C33B50D7579EDA1B34D64"}}}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Target.attachedToTarget","params":{"sessionId":"5BECCA4AD46819EE3FDAEF4C20E2B87C","targetInfo":{"targetId":"82550D36248BE4D8AE7E63720A8C12B8","type":"page","title":"","url":"about:blank","attached":true,"canAccessOpener":false,"browserContextId":"52C2C43E500C33B50D7579EDA1B34D64"},"waitingForDebugger":false}}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"sessionId":"5BECCA4AD46819EE3FDAEF4C20E2B87C","method":"Target.setAutoAttach","params":{"waitForDebuggerOnStart":true,"flatten":true,"autoAttach":true},"id":3}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"sessionId":"5BECCA4AD46819EE3FDAEF4C20E2B87C","method":"Runtime.runIfWaitingForDebugger","id":4}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:RECV ◀ [ '{"id":2,"result":{}}' ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"method":"Target.createTarget","params":{"url":"about:blank"},"id":5}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Target.targetInfoChanged","params":{"targetInfo":{"targetId":"82550D36248BE4D8AE7E63720A8C12B8","type":"page","title":"about:blank","url":"about:blank","attached":true,"canAccessOpener":false,"browserContextId":"52C2C43E500C33B50D7579EDA1B34D64"}}}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Target.targetCreated","params":{"targetInfo":{"targetId":"A97FAA647BBCEC4141F63485119B1B27","type":"page","title":"","url":"","attached":false,"canAccessOpener":false,"browserContextId":"52C2C43E500C33B50D7579EDA1B34D64"}}}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Target.targetInfoChanged","params":{"targetInfo":{"targetId":"A97FAA647BBCEC4141F63485119B1B27","type":"page","title":"","url":"","attached":true,"canAccessOpener":false,"browserContextId":"52C2C43E500C33B50D7579EDA1B34D64"}}}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Target.attachedToTarget","params":{"sessionId":"20F02A3C7EA2EA181823E4140162B46A","targetInfo":{"targetId":"A97FAA647BBCEC4141F63485119B1B27","type":"page","title":"","url":"","attached":true,"canAccessOpener":false,"browserContextId":"52C2C43E500C33B50D7579EDA1B34D64"},"waitingForDebugger":true}}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"sessionId":"20F02A3C7EA2EA181823E4140162B46A","method":"Target.setAutoAttach","params":{"waitForDebuggerOnStart":true,"flatten":true,"autoAttach":true},"id":6}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"sessionId":"20F02A3C7EA2EA181823E4140162B46A","method":"Runtime.runIfWaitingForDebugger","id":7}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:RECV ◀ [ '{"id":5,"result":{"targetId":"A97FAA647BBCEC4141F63485119B1B27"}}' ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":3,"result":{},"sessionId":"5BECCA4AD46819EE3FDAEF4C20E2B87C"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":4,"result":{},"sessionId":"5BECCA4AD46819EE3FDAEF4C20E2B87C"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Target.targetInfoChanged","params":{"targetInfo":{"targetId":"A97FAA647BBCEC4141F63485119B1B27","type":"page","title":"about:blank","url":"about:blank","attached":true,"canAccessOpener":false,"browserContextId":"52C2C43E500C33B50D7579EDA1B34D64"}}}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"sessionId":"20F02A3C7EA2EA181823E4140162B46A","method":"Page.enable","id":8}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"sessionId":"20F02A3C7EA2EA181823E4140162B46A","method":"Page.getFrameTree","id":9}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"sessionId":"20F02A3C7EA2EA181823E4140162B46A","method":"Performance.enable","id":10}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"sessionId":"20F02A3C7EA2EA181823E4140162B46A","method":"Log.enable","id":11}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":6,"result":{},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":7,"result":{},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":8,"result":{},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":9,"result":{"frameTree":{"frame":{"id":"A97FAA647BBCEC4141F63485119B1B27","loaderId":"F8747BFF8DBC93A13A025D74A01AC5E5","url":"about:blank","domainAndRegistry":"","securityOrigin":"://","mimeType":"text/html","adFrameStatus":{"adFrameType":"none"},"secureContextType":"InsecureScheme","crossOriginIsolatedContextType":"NotIsolated","gatedAPIFeatures":[]}}},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":10,"result":{},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":11,"result":{},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"sessionId":"20F02A3C7EA2EA181823E4140162B46A","method":"Page.setLifecycleEventsEnabled","params":{"enabled":true},"id":12}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"sessionId":"20F02A3C7EA2EA181823E4140162B46A","method":"Runtime.enable","id":13}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"sessionId":"20F02A3C7EA2EA181823E4140162B46A","method":"Network.enable","id":14}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.lifecycleEvent","params":{"frameId":"A97FAA647BBCEC4141F63485119B1B27","loaderId":"F8747BFF8DBC93A13A025D74A01AC5E5","name":"commit","timestamp":15310.729802},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.lifecycleEvent","params":{"frameId":"A97FAA647BBCEC4141F63485119B1B27","loaderId":"F8747BFF8DBC93A13A025D74A01AC5E5","name":"DOMContentLoaded","timestamp":15310.729859},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.lifecycleEvent","params":{"frameId":"A97FAA647BBCEC4141F63485119B1B27","loaderId":"F8747BFF8DBC93A13A025D74A01AC5E5","name":"load","timestamp":15310.730139},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.lifecycleEvent","params":{"frameId":"A97FAA647BBCEC4141F63485119B1B27","loaderId":"F8747BFF8DBC93A13A025D74A01AC5E5","name":"networkAlmostIdle","timestamp":15310.730328},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.lifecycleEvent","params":{"frameId":"A97FAA647BBCEC4141F63485119B1B27","loaderId":"F8747BFF8DBC93A13A025D74A01AC5E5","name":"networkIdle","timestamp":15310.730328},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":12,"result":{},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Runtime.executionContextCreated","params":{"context":{"id":1,"origin":"://","name":"","uniqueId":"-7516517037022972481.2916006451957734418","auxData":{"isDefault":true,"type":"default","frameId":"A97FAA647BBCEC4141F63485119B1B27"}}},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":13,"result":{},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":14,"result":{},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"sessionId":"20F02A3C7EA2EA181823E4140162B46A","method":"Page.addScriptToEvaluateOnNewDocument","params":{"source":"//# sourceURL=pptr://__puppeteer_evaluation_script__","worldName":"__puppeteer_utility_world__"},"id":15}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":15,"result":{"identifier":"1"},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"sessionId":"20F02A3C7EA2EA181823E4140162B46A","method":"Page.createIsolatedWorld","params":{"frameId":"A97FAA647BBCEC4141F63485119B1B27","worldName":"__puppeteer_utility_world__","grantUniveralAccess":true},"id":16}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Runtime.executionContextCreated","params":{"context":{"id":2,"origin":"","name":"__puppeteer_utility_world__","uniqueId":"-6158458979214583541.-1838967889955616902","auxData":{"isDefault":false,"type":"isolated","frameId":"A97FAA647BBCEC4141F63485119B1B27"}}},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":16,"result":{"executionContextId":2},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"sessionId":"20F02A3C7EA2EA181823E4140162B46A","method":"Emulation.setDeviceMetricsOverride","params":{"mobile":false,"width":800,"height":600,"deviceScaleFactor":1,"screenOrientation":{"angle":0,"type":"portraitPrimary"}},"id":17}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"sessionId":"20F02A3C7EA2EA181823E4140162B46A","method":"Emulation.setTouchEmulationEnabled","params":{"enabled":false},"id":18}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":17,"result":{},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":18,"result":{},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"sessionId":"20F02A3C7EA2EA181823E4140162B46A","method":"Network.setCacheDisabled","params":{"cacheDisabled":false},"id":19}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"sessionId":"20F02A3C7EA2EA181823E4140162B46A","method":"Fetch.enable","params":{"handleAuthRequests":true,"patterns":[{"urlPattern":"*"}]},"id":20}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":20,"result":{},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":19,"result":{},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"sessionId":"20F02A3C7EA2EA181823E4140162B46A","method":"Page.navigate","params":{"url":"http://localhost:8000/index.html","frameId":"A97FAA647BBCEC4141F63485119B1B27"},"id":21}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.requestWillBeSent","params":{"requestId":"A0C3973C8A064464F2B0BBE74A097A98","loaderId":"A0C3973C8A064464F2B0BBE74A097A98","documentURL":"http://localhost:8000/index.html","request":{"url":"http://localhost:8000/index.html","method":"GET","headers":{"Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/105.0.5173.0 Safari/537.36"},"mixedContentType":"none","initialPriority":"VeryHigh","referrerPolicy":"strict-origin-when-cross-origin","isSameSite":true},"timestamp":15310.751088,"wallTime":1666861494.571863,"initiator":{"type":"other"},"redirectHasExtraInfo":false,"type":"Document","frameId":"A97FAA647BBCEC4141F63485119B1B27","hasUserGesture":false},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Fetch.requestPaused","params":{"requestId":"interception-job-1.0","request":{"url":"http://localhost:8000/index.html","method":"GET","headers":{"Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/105.0.5173.0 Safari/537.36"},"initialPriority":"VeryHigh","referrerPolicy":"strict-origin-when-cross-origin"},"frameId":"A97FAA647BBCEC4141F63485119B1B27","resourceType":"Document","networkId":"A0C3973C8A064464F2B0BBE74A097A98"},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"sessionId":"20F02A3C7EA2EA181823E4140162B46A","method":"Fetch.continueRequest","params":{"requestId":"interception-job-1.0"},"id":22}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":22,"result":{},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.requestWillBeSentExtraInfo","params":{"requestId":"A0C3973C8A064464F2B0BBE74A097A98","associatedCookies":[],"headers":{"Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9","Accept-Encoding":"gzip, deflate, br","Accept-Language":"en-US","Connection":"keep-alive","Host":"localhost:8000","Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/105.0.5173.0 Safari/537.36"},"connectTiming":{"requestTime":15310.757985}},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.responseReceivedExtraInfo","params":{"requestId":"A0C3973C8A064464F2B0BBE74A097A98","blockedCookies":[],"headers":{"Connection":"close","Content-Length":"245","Content-Type":"text/html; charset=UTF-8","Date":"Thu, 27 Oct 2022 09:04:54 GMT","Host":"localhost:8000"},"resourceIPAddressSpace":"Local","statusCode":200,"headersText":"HTTP/1.1 200 OK\\r\\nHost: localhost:8000\\r\\nDate: Thu, 27 Oct 2022 09:04:54 GMT\\r\\nConnection: close\\r\\nContent-Type: text/html; charset=UTF-8\\r\\nContent-Length: 245\\r\\n\\r\\n"},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.responseReceived","params":{"requestId":"A0C3973C8A064464F2B0BBE74A097A98","loaderId":"A0C3973C8A064464F2B0BBE74A097A98","timestamp":15310.760699,"type":"Document","response":{"url":"http://localhost:8000/index.html","status":200,"statusText":"OK","headers":{"Connection":"close","Content-Length":"245","Content-Type":"text/html; charset=UTF-8","Date":"Thu, 27 Oct 2022 09:04:54 GMT","Host":"localhost:8000"},"mimeType":"text/html","connectionReused":false,"connectionId":10,"remoteIPAddress":"[::1]","remotePort":8000,"fromDiskCache":false,"fromServiceWorker":false,"fromPrefetchCache":false,"encodedDataLength":158,"timing":{"requestTime":15310.757985,"proxyStart":-1,"proxyEnd":-1,"dnsStart":0.553,"dnsEnd":0.566,"connectStart":0.566,"connectEnd":0.777,"sslStart":-1,"sslEnd":-1,"workerStart":-1,"workerReady":-1,"workerFetchStart":-1,"workerRespondWithSettled":-1,"sendStart":0.875,"sendEnd":0.947,"pushStart":0,"pushEnd":0,"receiveHeadersEnd":1.159},"responseTime":1.666861494579797e+12,"protocol":"http/1.1","securityState":"secure"},"hasExtraInfo":true,"frameId":"A97FAA647BBCEC4141F63485119B1B27"},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":21,"result":{"frameId":"A97FAA647BBCEC4141F63485119B1B27","loaderId":"A0C3973C8A064464F2B0BBE74A097A98"},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.frameStartedLoading","params":{"frameId":"A97FAA647BBCEC4141F63485119B1B27"},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.lifecycleEvent","params":{"frameId":"A97FAA647BBCEC4141F63485119B1B27","loaderId":"A0C3973C8A064464F2B0BBE74A097A98","name":"init","timestamp":15310.762975},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Target.targetInfoChanged","params":{"targetInfo":{"targetId":"A97FAA647BBCEC4141F63485119B1B27","type":"page","title":"localhost:8000/index.html","url":"http://localhost:8000/index.html","attached":true,"canAccessOpener":false,"browserContextId":"52C2C43E500C33B50D7579EDA1B34D64"}}}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Runtime.executionContextsCleared","params":{},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.frameNavigated","params":{"frame":{"id":"A97FAA647BBCEC4141F63485119B1B27","loaderId":"A0C3973C8A064464F2B0BBE74A097A98","url":"http://localhost:8000/index.html","domainAndRegistry":"","securityOrigin":"http://localhost:8000","mimeType":"text/html","adFrameStatus":{"adFrameType":"none"},"secureContextType":"SecureLocalhost","crossOriginIsolatedContextType":"NotIsolated","gatedAPIFeatures":[]},"type":"Navigation"},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.dataReceived","params":{"requestId":"A0C3973C8A064464F2B0BBE74A097A98","timestamp":15310.764562,"dataLength":245,"encodedDataLength":0},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Runtime.executionContextCreated","params":{"context":{"id":3,"origin":"http://localhost:8000","name":"","uniqueId":"-3343960272331105270.-1218915237190640746","auxData":{"isDefault":true,"type":"default","frameId":"A97FAA647BBCEC4141F63485119B1B27"}}},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Runtime.executionContextCreated","params":{"context":{"id":4,"origin":"://","name":"__puppeteer_utility_world__","uniqueId":"5062652045824689077.-7982270581230780116","auxData":{"isDefault":false,"type":"isolated","frameId":"A97FAA647BBCEC4141F63485119B1B27"}}},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.loadingFinished","params":{"requestId":"A0C3973C8A064464F2B0BBE74A097A98","timestamp":15310.760329,"encodedDataLength":403,"shouldReportCorbBlocking":false},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.loadEventFired","params":{"timestamp":15310.771577},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.lifecycleEvent","params":{"frameId":"A97FAA647BBCEC4141F63485119B1B27","loaderId":"A0C3973C8A064464F2B0BBE74A097A98","name":"load","timestamp":15310.771577},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.frameStoppedLoading","params":{"frameId":"A97FAA647BBCEC4141F63485119B1B27"},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.domContentEventFired","params":{"timestamp":15310.771911},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.lifecycleEvent","params":{"frameId":"A97FAA647BBCEC4141F63485119B1B27","loaderId":"A0C3973C8A064464F2B0BBE74A097A98","name":"DOMContentLoaded","timestamp":15310.771911},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.frameScheduledNavigation","params":{"frameId":"A97FAA647BBCEC4141F63485119B1B27","delay":0,"reason":"scriptInitiated","url":"https://pptr.dev/"},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.frameRequestedNavigation","params":{"frameId":"A97FAA647BBCEC4141F63485119B1B27","reason":"scriptInitiated","url":"https://pptr.dev/","disposition":"currentTab"},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.frameStartedLoading","params":{"frameId":"A97FAA647BBCEC4141F63485119B1B27"},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.requestWillBeSent","params":{"requestId":"02D553B350D20A5C3E6DBB400C51CC3F","loaderId":"02D553B350D20A5C3E6DBB400C51CC3F","documentURL":"https://pptr.dev/","request":{"url":"https://pptr.dev/","method":"GET","headers":{"Referer":"http://localhost:8000/","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/105.0.5173.0 Safari/537.36"},"mixedContentType":"none","initialPriority":"VeryHigh","referrerPolicy":"strict-origin-when-cross-origin","isSameSite":true},"timestamp":15311.271914,"wallTime":1666861495.092701,"initiator":{"type":"script","stack":{"callFrames":[{"functionName":"","scriptId":"4","url":"http://localhost:8000/index.html","lineNumber":9,"columnNumber":29}]}},"redirectHasExtraInfo":false,"type":"Document","frameId":"A97FAA647BBCEC4141F63485119B1B27","hasUserGesture":false},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.frameClearedScheduledNavigation","params":{"frameId":"A97FAA647BBCEC4141F63485119B1B27"},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Fetch.requestPaused","params":{"requestId":"interception-job-2.0","request":{"url":"https://pptr.dev/","method":"GET","headers":{"Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9","Referer":"http://localhost:8000/","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/105.0.5173.0 Safari/537.36"},"initialPriority":"VeryHigh","referrerPolicy":"strict-origin-when-cross-origin"},"frameId":"A97FAA647BBCEC4141F63485119B1B27","resourceType":"Document","networkId":"02D553B350D20A5C3E6DBB400C51CC3F"},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:SEND ► [
  puppeteer:protocol:SEND ►   '{"sessionId":"20F02A3C7EA2EA181823E4140162B46A","method":"Fetch.failRequest","params":{"requestId":"interception-job-2.0","errorReason":"Failed"},"id":23}'
  puppeteer:protocol:SEND ► ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"id":23,"result":{},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.loadingFailed","params":{"requestId":"02D553B350D20A5C3E6DBB400C51CC3F","timestamp":15311.275237,"type":"Document","errorText":"net::ERR_FAILED","canceled":false},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Runtime.executionContextsCleared","params":{},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.frameStartedLoading","params":{"frameId":"A97FAA647BBCEC4141F63485119B1B27"},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.lifecycleEvent","params":{"frameId":"A97FAA647BBCEC4141F63485119B1B27","loaderId":"B7BA2EDA68405137B7DD26E6563D9B84","name":"init","timestamp":15311.300053},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Target.targetInfoChanged","params":{"targetInfo":{"targetId":"A97FAA647BBCEC4141F63485119B1B27","type":"page","title":"https://pptr.dev","url":"https://pptr.dev/","attached":true,"canAccessOpener":false,"browserContextId":"52C2C43E500C33B50D7579EDA1B34D64"}}}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Runtime.executionContextsCleared","params":{},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.frameNavigated","params":{"frame":{"id":"A97FAA647BBCEC4141F63485119B1B27","loaderId":"B7BA2EDA68405137B7DD26E6563D9B84","url":"chrome-error://chromewebdata/","domainAndRegistry":"","securityOrigin":"://","mimeType":"text/html","unreachableUrl":"https://pptr.dev/","adFrameStatus":{"adFrameType":"none"},"secureContextType":"InsecureScheme","crossOriginIsolatedContextType":"NotIsolated","gatedAPIFeatures":[]},"type":"Navigation"},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Runtime.executionContextCreated","params":{"context":{"id":1,"origin":"://","name":"","uniqueId":"7482128285791906033.105819196283900394","auxData":{"isDefault":true,"type":"default","frameId":"A97FAA647BBCEC4141F63485119B1B27"}}},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Runtime.executionContextCreated","params":{"context":{"id":2,"origin":"","name":"__puppeteer_utility_world__","uniqueId":"-1355980433999949103.-1893024910049789446","auxData":{"isDefault":false,"type":"isolated","frameId":"A97FAA647BBCEC4141F63485119B1B27"}}},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Network.loadingFinished","params":{"requestId":"B7BA2EDA68405137B7DD26E6563D9B84","timestamp":15311.305526,"encodedDataLength":0,"shouldReportCorbBlocking":false},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.loadEventFired","params":{"timestamp":15311.306705},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.lifecycleEvent","params":{"frameId":"A97FAA647BBCEC4141F63485119B1B27","loaderId":"B7BA2EDA68405137B7DD26E6563D9B84","name":"load","timestamp":15311.306705},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.frameStoppedLoading","params":{"frameId":"A97FAA647BBCEC4141F63485119B1B27"},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.domContentEventFired","params":{"timestamp":15311.307218},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.lifecycleEvent","params":{"frameId":"A97FAA647BBCEC4141F63485119B1B27","loaderId":"B7BA2EDA68405137B7DD26E6563D9B84","name":"DOMContentLoaded","timestamp":15311.307218},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.lifecycleEvent","params":{"frameId":"A97FAA647BBCEC4141F63485119B1B27","loaderId":"B7BA2EDA68405137B7DD26E6563D9B84","name":"networkAlmostIdle","timestamp":15311.307249},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
  puppeteer:protocol:RECV ◀ [
  puppeteer:protocol:RECV ◀   '{"method":"Page.lifecycleEvent","params":{"frameId":"A97FAA647BBCEC4141F63485119B1B27","loaderId":"B7BA2EDA68405137B7DD26E6563D9B84","name":"networkIdle","timestamp":15311.307249},"sessionId":"20F02A3C7EA2EA181823E4140162B46A"}'
  puppeteer:protocol:RECV ◀ ] +0ms
@mkacmar mkacmar added the bug label Oct 27, 2022
@OrKoN
Copy link
Collaborator

OrKoN commented Oct 27, 2022

Thanks for the detailed repro! it looks like we did regress here while fixing the navigation flakiness. I guess the navigation response is never received because it's aborted so we don't resolve the lifecycle watched.

@gRoussac
Copy link

Hi @mkacmar , I thought I had the exact same problem on version 17.1.3 and this issue brings me to update the version to 19.2.0 and now I can not reproduce anymore, even with version 1.6.1.1 😒

Can you please try following ?

const puppeteer = require('puppeteer');

(async () => {
  const url = 'http://localhost/test2/test.html'; // your page with the redirect

  const browser = await puppeteer.launch({ headless: true });
  const page = await browser.newPage();

  await page.setRequestInterception(true);

  page.on('request', (request) => {
    if (
      request.isNavigationRequest() &&
      request.frame() === page.mainFrame() &&
      request.url() !== url
    ) {
      request.abort('aborted');
    } else {
      request.continue();
    }
  });

  await page.goto(url, {
    timeout: 6666,
    waitUntil: ['domcontentloaded', 'networkidle0'],
  });

  await page.close();
  await browser.close();
})();

It seems abort('aborted'); is important. My 2 cents...

@mkacmar
Copy link
Author

mkacmar commented Oct 27, 2022

Hello @gRoussac, it doesn't seem like that's the case on my side unfortunately (I've tried 2580347 and v19.2.0) - goto() still hangs. The only obvious difference I can observe in debug log is a different errorReason for Fetch.failRequest (Failed which is the default if not specified vs. explicitly set Aborted based on your suggestion). Target.closeTarget which is present in debug log while testing with 16.1.0 seems to be missing regardless of errorReason.

@gRoussac
Copy link

@mkacmar very weird, did you see I also changed your if statements ? I uploaded my files here https://github.com/gRoussac/puppeteer-puppeteer-issues-9175

@OrKoN
Copy link
Collaborator

OrKoN commented Oct 28, 2022

@mkacmar @gRoussac as far as I can see the issue is flaky and it almost completely depends on the timing of the client side redirect: for example, in some runs, the repro script passes. I am working on a fix.

jrandolf pushed a commit that referenced this issue Oct 28, 2022
#8768 fixes flakiness in handling navigations but it didn't account for
the fact that subsequent navigation requests could be aborted via the
request interception. In that case, the navigationResponseReceived
promise would never be resolved. This PR adds a listener for the failed
network requests and resolves the promise if the network request has
failed. Adding test coverage for this seems tricky, as the reproduction
depends on timing of the second navigation request.

Closes #9175
This was referenced Oct 28, 2022
OrKoN pushed a commit that referenced this issue Nov 2, 2022
🤖 I have created a release *beep* *boop*
---


<details><summary>puppeteer: 19.2.1</summary>

### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * puppeteer-core bumped from 19.2.0 to ^19.2.1
</details>

<details><summary>puppeteer-core: 19.2.1</summary>

##
[19.2.1](puppeteer-core-v19.2.0...puppeteer-core-v19.2.1)
(2022-10-28)


### Bug Fixes

* resolve navigation requests when request fails
([#9178](#9178))
([c11297b](c11297b)),
closes [#9175](#9175)
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants