cypress: cypress.run module api throws "Error running proxy middleware: Cannot call this.next() more than once in the same middleware function."

Current behavior

Running multiple cypress.run module api commands on the same machine might be the cause. It seems to be a race condition, so it doesn’t happen every time.

Error running proxy middleware: Cannot call this.next() more than once in the same middleware function. Doing so can cause unintended issues.
2022-07-16T23:56:40.4895771Z Error: Error running proxy middleware: Cannot call this.next() more than once in the same middleware function. Doing so can cause unintended issues.
2022-07-16T23:56:40.4896661Z     at Object.fullCtx.next (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\packages\proxy\lib\http\index.js:78:31)
2022-07-16T23:56:40.4897377Z     at Object.callback (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\packages\proxy\lib\http\request-middleware.js:70:14)
2022-07-16T23:56:40.4898194Z     at PreRequests.addPending (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\packages\proxy\lib\http\util\prerequests.js:56:39)
2022-07-16T23:56:40.4898910Z     at Http.addPendingBrowserPreRequest (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\packages\proxy\lib\http\index.js:229:26)
2022-07-16T23:56:40.4899576Z     at onError (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\packages\proxy\lib\http\index.js:198:22)
2022-07-16T23:56:40.4900214Z     at Object.onError (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\packages\proxy\lib\http\index.js:95:21)
2022-07-16T23:56:40.4901100Z     at C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\packages\proxy\lib\http\index.js:107:25
2022-07-16T23:56:40.4901754Z     at Promise._execute (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\node_modules\bluebird\js\release\debuggability.js:313:9)
2022-07-16T23:56:40.4902506Z     at Promise._resolveFromExecutor (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\node_modules\bluebird\js\release\promise.js:483:18)
2022-07-16T23:56:40.4903205Z     at new Promise (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\node_modules\bluebird\js\release\promise.js:79:10)
2022-07-16T23:56:40.4903903Z     at runMiddlewareStack (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\packages\proxy\lib\http\index.js:52:16)
2022-07-16T23:56:40.4904541Z     at Object.next (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\packages\proxy\lib\http\index.js:81:26)
2022-07-16T23:56:40.4905233Z     at Object.MaybeSetBasicAuthHeaders (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\packages\proxy\lib\http\request-middleware.js:136:10)
2022-07-16T23:56:40.4905899Z     at C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\packages\proxy\lib\http\index.js:104:28
2022-07-16T23:56:40.4906643Z     at Promise._execute (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\node_modules\bluebird\js\release\debuggability.js:313:9)
2022-07-16T23:56:40.4907377Z     at Promise._resolveFromExecutor (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\node_modules\bluebird\js\release\promise.js:483:18)
2022-07-16T23:56:40.4908075Z     at new Promise (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\node_modules\bluebird\js\release\promise.js:79:10)
2022-07-16T23:56:40.4908733Z     at runMiddlewareStack (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\packages\proxy\lib\http\index.js:52:16)
2022-07-16T23:56:40.4909377Z     at Object.next (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\packages\proxy\lib\http\index.js:81:26)
2022-07-16T23:56:40.4910076Z     at Object.StripUnsupportedAcceptEncoding (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\packages\proxy\lib\http\request-middleware.js:122:10)
2022-07-16T23:56:40.4910752Z     at C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\packages\proxy\lib\http\index.js:104:28
2022-07-16T23:56:40.4911403Z     at Promise._execute (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\node_modules\bluebird\js\release\debuggability.js:313:9)
2022-07-16T23:56:40.4912118Z     at Promise._resolveFromExecutor (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\node_modules\bluebird\js\release\promise.js:483:18)
2022-07-16T23:56:40.4912831Z     at new Promise (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\node_modules\bluebird\js\release\promise.js:79:10)
2022-07-16T23:56:40.4913490Z     at runMiddlewareStack (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\packages\proxy\lib\http\index.js:52:16)
2022-07-16T23:56:40.4914130Z     at Object.next (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\packages\proxy\lib\http\index.js:81:26)
2022-07-16T23:56:40.4914817Z     at Object.EndRequestsToBlockedHosts (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\packages\proxy\lib\http\request-middleware.js:109:10)
2022-07-16T23:56:40.4915484Z     at C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\packages\proxy\lib\http\index.js:104:28
2022-07-16T23:56:40.4916130Z     at Promise._execute (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\node_modules\bluebird\js\release\debuggability.js:313:9)
2022-07-16T23:56:40.4916843Z     at Promise._resolveFromExecutor (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\node_modules\bluebird\js\release\promise.js:483:18)
2022-07-16T23:56:40.4917603Z     at new Promise (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\node_modules\bluebird\js\release\promise.js:79:10)
2022-07-16T23:56:40.4918254Z     at runMiddlewareStack (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\packages\proxy\lib\http\index.js:52:16)
2022-07-16T23:56:40.4918908Z     at Object.next (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\packages\proxy\lib\http\index.js:81:26)
2022-07-16T23:56:40.4919605Z     at Object.RedirectToClientRouteIfUnloaded (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\packages\proxy\lib\http\request-middleware.js:96:10)
2022-07-16T23:56:40.4920280Z     at C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\packages\proxy\lib\http\index.js:104:28
2022-07-16T23:56:40.4920926Z     at Promise._execute (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\node_modules\bluebird\js\release\debuggability.js:313:9)
2022-07-16T23:56:40.4921644Z     at Promise._resolveFromExecutor (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\node_modules\bluebird\js\release\promise.js:483:18)
2022-07-16T23:56:40.4922353Z     at new Promise (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\node_modules\bluebird\js\release\promise.js:79:10)
2022-07-16T23:56:40.4923074Z     at runMiddlewareStack (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\packages\proxy\lib\http\index.js:52:16)
2022-07-16T23:56:40.4923716Z     at Object.next (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\packages\proxy\lib\http\index.js:81:26)
2022-07-16T23:56:40.4924420Z     at Object.InterceptRequest (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\packages\net-stubbing\lib\server\middleware\request.js:43:21)
2022-07-16T23:56:40.4925106Z     at C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\packages\proxy\lib\http\index.js:104:28
2022-07-16T23:56:40.4925760Z     at Promise._execute (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\node_modules\bluebird\js\release\debuggability.js:313:9)
2022-07-16T23:56:40.4926478Z     at Promise._resolveFromExecutor (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\node_modules\bluebird\js\release\promise.js:483:18)
2022-07-16T23:56:40.4927232Z     at new Promise (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\node_modules\bluebird\js\release\promise.js:79:10)
2022-07-16T23:56:40.4927894Z     at runMiddlewareStack (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\packages\proxy\lib\http\index.js:52:16)
2022-07-16T23:56:40.4928536Z     at Object.next (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\packages\proxy\lib\http\index.js:81:26)
2022-07-16T23:56:40.4929210Z     at Object.SendToDriver (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\packages\proxy\lib\http\request-middleware.js:78:10)
2022-07-16T23:56:40.4929880Z     at C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\packages\proxy\lib\http\index.js:104:28
2022-07-16T23:56:40.4930537Z     at Promise._execute (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\node_modules\bluebird\js\release\debuggability.js:313:9)
2022-07-16T23:56:40.4931260Z     at Promise._resolveFromExecutor (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\node_modules\bluebird\js\release\promise.js:483:18)
2022-07-16T23:56:40.4931961Z     at new Promise (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\node_modules\bluebird\js\release\promise.js:79:10)
2022-07-16T23:56:40.4932666Z     at runMiddlewareStack (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\packages\proxy\lib\http\index.js:52:16)
2022-07-16T23:56:40.4933304Z     at Object.next (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\packages\proxy\lib\http\index.js:81:26)
2022-07-16T23:56:40.4934034Z     at Object.callback (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\packages\proxy\lib\http\request-middleware.js:70:14)
2022-07-16T23:56:40.4934732Z     at PreRequests.addPending (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\packages\proxy\lib\http\util\prerequests.js:56:39)
2022-07-16T23:56:40.4935440Z     at Http.addPendingBrowserPreRequest (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\packages\proxy\lib\http\index.js:229:26)
2022-07-16T23:56:40.4936220Z     at NetworkProxy.addPendingBrowserPreRequest (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\packages\proxy\lib\network-proxy.js:10:19)
2022-07-16T23:56:40.4936946Z     at ServerCt.addBrowserPreRequest (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\packages\server\lib\server-base.js:252:27)
2022-07-16T23:56:40.4937681Z     at Automation.onBrowserPreRequest (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\packages\server\lib\project-base.js:245:25)
2022-07-16T23:56:40.4938438Z     at Chrome.CdpAutomation.onNetworkRequestWillBeSent (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\packages\server\lib\browsers\cdp_automation.js:170:103)
2022-07-16T23:56:40.4939070Z     at Chrome.emit (node:events:390:28)
2022-07-16T23:56:40.4939396Z     at Chrome.emit (node:domain:475:12)
2022-07-16T23:56:40.4939929Z     at Chrome._handleMessage (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\node_modules\chrome-remote-interface\lib\chrome.js:272:18)
2022-07-16T23:56:40.4940659Z     at WebSocket.<anonymous> (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\node_modules\chrome-remote-interface\lib\chrome.js:235:22)
2022-07-16T23:56:40.4941186Z     at WebSocket.emit (node:events:390:28)
2022-07-16T23:56:40.4941525Z     at WebSocket.emit (node:domain:475:12)
2022-07-16T23:56:40.4942128Z     at Receiver.receiverOnMessage (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\node_modules\chrome-remote-interface\node_modules\ws\lib\websocket.js:1047:20)
2022-07-16T23:56:40.4943291Z     at Receiver.emit (node:events:390:28)
2022-07-16T23:56:40.4943687Z     at Receiver.emit (node:domain:475:12)
2022-07-16T23:56:40.4944277Z     at Receiver.dataMessage (C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\node_modules\chrome-remote-interface\node_modules\ws\lib\receiver.js:517:14)
2022-07-16T23:56:40.4945046Z     at C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\node_modules\chrome-remote-interface\node_modules\ws\lib\receiver.js:468:23
2022-07-16T23:56:40.4945811Z     at C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\node_modules\chrome-remote-interface\node_modules\ws\lib\permessage-deflate.js:308:9
2022-07-16T23:56:40.4946567Z     at C:\Users\Buildy\AppData\Local\Cypress\Cache\10.3.0\Cypress\resources\app\node_modules\chrome-remote-interface\node_modules\ws\lib\permessage-deflate.js:391:7
2022-07-16T23:56:40.4947131Z     at afterWrite (node:internal/streams/writable:497:5)
2022-07-16T23:56:40.4947501Z     at onwrite (node:internal/streams/writable:477:7)
2022-07-16T23:56:40.4947892Z     at Zlib.cb (node:internal/streams/transform:201:7)
2022-07-16T23:56:40.4948275Z     at Zlib.processCallback (node:zlib:612:8)

Desired behavior

No response

Test code to reproduce

If the stack trace above doesn’t lead you directly to what’s up, let me know and I can setup a repo that’ll call cypress.run like 5 times and hopefully reproduce the error consistently.

Cypress Version

10.3.0

Other

No response

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Reactions: 6
  • Comments: 27 (8 by maintainers)

Commits related to this issue

Most upvoted comments

Hi, has this been resolved pls? Am facing the same issue, but cant track it down as @JohnnyFun … dont have any of the specified stuff on my project as for example “getFileServerToken” etc. Any ideas how to proceed?

This will be in the next release, 12.6, which is this week.

Cool, at some point soon I’ll confirm that removing my work around passes. Thanks!

also checking in on progress here as we’re seeing it on e2e and component tests. With one e2e test in particular we’re seeing it happen because of a specific cy.intercept call. We are mocking the response after it comes back from the BE before it hits the browser. We’re doing this with another call just before and that seems to not cause the issue. The only difference is the one with the issue has a forEach (we also tried changing it to a regular for loop but it still failed). It’s causing the error listed here to occur on a random other spec, a different one each time. We are running all the tests in parallel when this occurs.