cloudflare / workers-sdk

⛅️ Home to Wrangler, the CLI for Cloudflare Workers®
https://developers.cloudflare.com/workers/
Apache License 2.0
2.44k stars 613 forks source link

🐛 BUG: wrangler dev -> fetch failed #3121

Open ashab96 opened 1 year ago

ashab96 commented 1 year ago

Which Cloudflare product(s) does this pertain to?

Workers/Other, Wrangler

What version of Wrangler are you using?

2.18.0

What operating system are you using?

Windows

Describe the Bug

Whenever I run "wrangler dev" I get the following error:

[ERROR] Error while creating remote dev session: TypeError: fetch failed

at fetch (\my-test-api\node_modules\wrangler\wrangler-dist\cli.js:16584:17) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async createPreviewSession (\my-test-api\node_modules\wrangler\wrangler-dist\cli.js:132585:28) at async start (\my-test-api\node_modules\wrangler\wrangler-dist\cli.js:151229:9) { cause: ConnectTimeoutError: Connect Timeout Error at onConnectTimeout (\my-test-api\node_modules\wrangler\wrangler-dist\cli.js:7185:29) at \my-test-api\node_modules\wrangler\wrangler-dist\cli.js:7141:51 at Immediate._onImmediate (\my-test-api\node_modules\wrangler\wrangler-dist\cli.js:7171:37) at process.processImmediate (node:internal/timers:476:21) { code: 'UND_ERR_CONNECT_TIMEOUT' } }

This is a brand new project with wrangler init, but when I ran wrangler dev it had the same error. Project has only the initial project changes nothing has been modified after the project is created . with -l local run is fine.

AsathalMannan commented 1 year ago

Same Error, stopping me..! Tried in, Windows 10 and Fedora, same error Wrangler installed using Volta

` ⛅️ wrangler 2.19.0

Using vars defined in .dev.vars Your worker has access to the following bindings:

AsathalMannan commented 1 year ago

Same "wrangler tail" command also failing. tried re-installing wrangler, but still error throwing..!

` ⛅️ wrangler 2.19.0

Successfully created tail, expires at 2023-05-06T15:47:28Z C:\Users\mannan\AppData\Local\Volta\tools\image\packages\wrangler\node_modules\wrangler\wrangler-dist\cli.js:30488 throw a; ^

Error: connect ETIMEDOUT 2606:4700:9c6e:c702:81dd:2d8:7328:5b4d:443 at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1494:16) Emitted 'error' event on WebSocket instance at: at emitErrorAndClose (C:\Users\mannan\AppData\Local\Volta\tools\image\packages\wrangler\node_modules\wrangler\wrangler-dist\cli.js:102732:17)
at ClientRequest. (C:\Users\mannan\AppData\Local\Volta\tools\image\packages\wrangler\node_modules\wrangler\wrangler-dist\cli.js:102637:9) at ClientRequest.emit (node:events:513:28) at TLSSocket.socketErrorListener (node:_http_client:502:9) at TLSSocket.emit (node:events:513:28) at emitErrorNT (node:internal/streams/destroy:151:8) at emitErrorCloseNT (node:internal/streams/destroy:116:3) at process.processTicksAndRejections (node:internal/process/task_queues:82:21) { errno: -4039, code: 'ETIMEDOUT', syscall: 'connect', address: '2606:4700:9c6e:c702:81dd:2d8:7328:5b4d', port: 443 }

Node.js v18.16.0`

FantasqueX commented 1 year ago
Error [ERR_SOCKET_CONNECTION_TIMEOUT]: Socket connection timeout
    at new NodeError (node:internal/errors:399:5)
    at internalConnectMultiple (node:net:1099:20)
    at Timeout.internalConnectMultipleTimeout (node:net:1638:3)
    at listOnTimeout (node:internal/timers:575:11)
    at process.processTimers (node:internal/timers:514:7)
Emitted 'error' event on ClientHttp2Session instance at:
    at emitClose (node:internal/http2/core:1086:10)
    at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
  code: 'ERR_SOCKET_CONNECTION_TIMEOUT'
}

Node.js v20.1.0
 ELIFECYCLE  Command failed with exit code 7.

Failed with nodejs v20.

jbergstroem commented 1 year ago

I get this multiple times a day when doing remote workers. I have to restart a few times for it to work. It's been around for a while.

✘ [ERROR] Error while creating remote dev session: TypeError: fetch failed

      at fetch
  (/Users/jbergstroem/wrk/enc/a/node_modules/.pnpm/wrangler@3.0.1/node_modules/wrangler/wrangler-dist/cli.js:16584:17)
      at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
      at async performApiFetch
  (/Users/jbergstroem/wrk/enc/a/node_modules/.pnpm/wrangler@3.0.1/node_modules/wrangler/wrangler-dist/cli.js:120876:10)
      at async fetchInternal
  (/Users/jbergstroem/wrk/enc/a/node_modules/.pnpm/wrangler@3.0.1/node_modules/wrangler/wrangler-dist/cli.js:120886:20)
      at async fetchResult
  (/Users/jbergstroem/wrk/enc/a/node_modules/.pnpm/wrangler@3.0.1/node_modules/wrangler/wrangler-dist/cli.js:121029:16)
      at async createPreviewSession
  (/Users/jbergstroem/wrk/enc/a/node_modules/.pnpm/wrangler@3.0.1/node_modules/wrangler/wrangler-dist/cli.js:128422:28)
      at async start
  (/Users/jbergstroem/wrk/enc/a/node_modules/.pnpm/wrangler@3.0.1/node_modules/wrangler/wrangler-dist/cli.js:147762:9)
  {
    cause: AggregateError
        at internalConnectMultiple (node:net:1103:18)
        at internalConnectMultiple (node:net:1161:5)
        at internalConnectMultiple (node:net:1161:5)
        at Timeout.internalConnectMultipleTimeout (node:net:1638:3)
        at listOnTimeout (node:internal/timers:575:11)
        at process.processTimers (node:internal/timers:514:7) {
      code: 'EHOSTUNREACH',
      [errors]: [ [Error], [Error] ]
    }
  }
admah commented 1 year ago

Hello. PM for the Wrangler team 👋 I have a few questions about this issue that would be really helpful to get answers to:

zhiqingchen commented 1 year ago

3.1.1 same error

jbergstroem commented 1 year ago

Has anyone seen these issues in v3?

My traceback above your comment shows me using wrangler 3.0.1. I see this in 3.1.0 occasionally too. Yet to try 3.1.1.

Does this happen only when using wrangler dev for remote development?

This mostly happens when I am in local development and switching to remote.

bcjordan commented 1 year ago

Seeing this both running deploy or dev/switching to remote. Was deploying multiple projects for an hour perfectly fine

Rhahkeem commented 10 months ago

So I suddenly started getting this which is weird because I dont recall changing anything. One second it wasn't there and suddenly it was

$ npx wrangler dev
wrangler dev now uses local mode by default, powered by 🔥 Miniflare and 👷 workerd.
To run an edge preview session for your Worker, use wrangler dev --remote
Using vars defined in .dev.vars
Your worker has access to the following bindings:
- Vars:
  - WISE_TOKEN: "(hidden)"
  - VERBOSE: "(hidden)"
⎔ Starting local server...
[mf:inf] Ready on http://127.0.0.1:8787/
✘ [ERROR] Failed to register worker in local service registry TypeError: fetch failed

      at fetch
  (/home/rhahkeem/Code/wrangler/lifestuff-web/node_modules/wrangler/wrangler-dist/cli.js:16584:17)
      at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
      at async registerWorker
  (/home/rhahkeem/Code/wrangler/lifestuff-web/node_modules/wrangler/wrangler-dist/cli.js:126327:12)
      at async MiniflareServer.<anonymous>
  (/home/rhahkeem/Code/wrangler/lifestuff-web/node_modules/wrangler/wrangler-dist/cli.js:127987:9) {
    cause: ConnectTimeoutError: Connect Timeout Error
        at onConnectTimeout
  (/home/rhahkeem/Code/wrangler/lifestuff-web/node_modules/wrangler/wrangler-dist/cli.js:7185:29)
        at
  /home/rhahkeem/Code/wrangler/lifestuff-web/node_modules/wrangler/wrangler-dist/cli.js:7141:51
        at Immediate._onImmediate
  (/home/rhahkeem/Code/wrangler/lifestuff-web/node_modules/wrangler/wrangler-dist/cli.js:7173:13)
        at process.processImmediate (node:internal/timers:476:21) {
      code: 'UND_ERR_CONNECT_TIMEOUT'
    }
  }

▲ [WARNING] Failed to get worker definitions TypeError: fetch failed

      at fetch
  (/home/rhahkeem/Code/wrangler/lifestuff-web/node_modules/wrangler/wrangler-dist/cli.js:16584:17)
      at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
      at async getRegisteredWorkers
  (/home/rhahkeem/Code/wrangler/lifestuff-web/node_modules/wrangler/wrangler-dist/cli.js:126361:22)
      at async getBoundRegisteredWorkers
  (/home/rhahkeem/Code/wrangler/lifestuff-web/node_modules/wrangler/wrangler-dist/cli.js:126380:29)
  {
    cause: ConnectTimeoutError: Connect Timeout Error
        at onConnectTimeout
  (/home/rhahkeem/Code/wrangler/lifestuff-web/node_modules/wrangler/wrangler-dist/cli.js:7185:29)
        at
  /home/rhahkeem/Code/wrangler/lifestuff-web/node_modules/wrangler/wrangler-dist/cli.js:7141:51
        at Immediate._onImmediate
  (/home/rhahkeem/Code/wrangler/lifestuff-web/node_modules/wrangler/wrangler-dist/cli.js:7173:13)
        at process.processImmediate (node:internal/timers:476:21) {
      code: 'UND_ERR_CONNECT_TIMEOUT'
    }
  }

Using ⛅️ wrangler 3.5.1

giorgiogross commented 10 months ago

Same here, happens when starting, reloading and exiting, with ⛅️ wrangler 3.6.0:

Start

✘ [ERROR] Failed to register worker in local service registry TypeError: fetch failed

      at fetch
  (/Users/giorgio/Projects/BB/backend/cloudflare/functions/create-resource/node_modules/wrangler/wrangler-dist/cli.js:16584:17)
      at process.processTicksAndRejections
  (node:internal/process/task_queues:95:5)
      at async registerWorker
  (/Users/giorgio/Projects/BB/backend/cloudflare/functions/create-resource/node_modules/wrangler/wrangler-dist/cli.js:126327:12)
      at async MiniflareServer.<anonymous>
  (/Users/giorgio/Projects/BB/backend/cloudflare/functions/create-resource/node_modules/wrangler/wrangler-dist/cli.js:127987:9)
  {
    cause: ConnectTimeoutError: Connect Timeout Error
        at onConnectTimeout
  (/Users/giorgio/Projects/BB/backend/cloudflare/functions/create-resource/node_modules/wrangler/wrangler-dist/cli.js:7185:29)
        at
  /Users/giorgio/Projects/BB/backend/cloudflare/functions/create-resource/node_modules/wrangler/wrangler-dist/cli.js:7141:51
        at Immediate._onImmediate
  (/Users/giorgio/Projects/BB/backend/cloudflare/functions/create-resource/node_modules/wrangler/wrangler-dist/cli.js:7173:13)
        at process.processImmediate (node:internal/timers:476:21) {
      code: 'UND_ERR_CONNECT_TIMEOUT'
    }
  }

▲ [WARNING] Failed to get worker definitions TypeError: fetch failed

      at fetch
  (/Users/giorgio/Projects/BB/backend/cloudflare/functions/create-resource/node_modules/wrangler/wrangler-dist/cli.js:16584:17)
      at process.processTicksAndRejections
  (node:internal/process/task_queues:95:5)
      at async getRegisteredWorkers
  (/Users/giorgio/Projects/BB/backend/cloudflare/functions/create-resource/node_modules/wrangler/wrangler-dist/cli.js:126361:22)
      at async getBoundRegisteredWorkers
  (/Users/giorgio/Projects/BB/backend/cloudflare/functions/create-resource/node_modules/wrangler/wrangler-dist/cli.js:126380:29)
  {
    cause: ConnectTimeoutError: Connect Timeout Error
        at onConnectTimeout
  (/Users/giorgio/Projects/BB/backend/cloudflare/functions/create-resource/node_modules/wrangler/wrangler-dist/cli.js:7185:29)
        at
  /Users/giorgio/Projects/BB/backend/cloudflare/functions/create-resource/node_modules/wrangler/wrangler-dist/cli.js:7141:51
        at Immediate._onImmediate
  (/Users/giorgio/Projects/BB/backend/cloudflare/functions/create-resource/node_modules/wrangler/wrangler-dist/cli.js:7173:13)
        at process.processImmediate (node:internal/timers:476:21) {
      code: 'UND_ERR_CONNECT_TIMEOUT'
    }
  }

Reload:

[mf:inf] Updated and ready on http://127.0.0.1:8787/
✘ [ERROR] Failed to register worker in local service registry TypeError: fetch failed

      at fetch
  (/Users/giorgio/Projects/BB/backend/cloudflare/functions/create-resource/node_modules/wrangler/wrangler-dist/cli.js:16584:17)
      at process.processTicksAndRejections
  (node:internal/process/task_queues:95:5)
      at async registerWorker
  (/Users/giorgio/Projects/BB/backend/cloudflare/functions/create-resource/node_modules/wrangler/wrangler-dist/cli.js:126327:12)
      at async MiniflareServer.<anonymous>
  (/Users/giorgio/Projects/BB/backend/cloudflare/functions/create-resource/node_modules/wrangler/wrangler-dist/cli.js:127987:9)
  {
    cause: ConnectTimeoutError: Connect Timeout Error
        at onConnectTimeout
  (/Users/giorgio/Projects/BB/backend/cloudflare/functions/create-resource/node_modules/wrangler/wrangler-dist/cli.js:7185:29)
        at
  /Users/giorgio/Projects/BB/backend/cloudflare/functions/create-resource/node_modules/wrangler/wrangler-dist/cli.js:7141:51
        at Immediate._onImmediate
  (/Users/giorgio/Projects/BB/backend/cloudflare/functions/create-resource/node_modules/wrangler/wrangler-dist/cli.js:7173:13)
        at process.processImmediate (node:internal/timers:476:21) {
      code: 'UND_ERR_CONNECT_TIMEOUT'
    }
  }

Exiting:

✘ [ERROR] Failed to unregister worker TypeError: fetch failed

      at fetch
  (/Users/giorgio/Projects/BB/backend/cloudflare/functions/create-resource/node_modules/wrangler/wrangler-dist/cli.js:16584:17)
      at process.processTicksAndRejections
  (node:internal/process/task_queues:95:5)
      at async unregisterWorker
  (/Users/giorgio/Projects/BB/backend/cloudflare/functions/create-resource/node_modules/wrangler/wrangler-dist/cli.js:126347:5)
      at async Promise.allSettled (index 0) {
    cause: ConnectTimeoutError: Connect Timeout Error
        at onConnectTimeout
  (/Users/giorgio/Projects/BB/backend/cloudflare/functions/create-resource/node_modules/wrangler/wrangler-dist/cli.js:7185:29)
        at
  /Users/giorgio/Projects/BB/backend/cloudflare/functions/create-resource/node_modules/wrangler/wrangler-dist/cli.js:7141:51
        at Immediate._onImmediate
  (/Users/giorgio/Projects/BB/backend/cloudflare/functions/create-resource/node_modules/wrangler/wrangler-dist/cli.js:7173:13)
        at process.processImmediate (node:internal/timers:476:21) {
      code: 'UND_ERR_CONNECT_TIMEOUT'
    }
  }
bwkam commented 10 months ago

same, and it's so damn annoying. I have to restart the server endless times until I finally get it working. wrangler 3.6.0

Rhahkeem commented 10 months ago

As quickly as it's come it's somehow gone. I havent done anything (possibly a restart?) but now I no longer get the trace

205g0 commented 10 months ago

maybe related: https://github.com/cloudflare/workers-sdk/issues/3925

lrapoport-cf commented 10 months ago

hi @ashab96 :) are you using a VPN or proxy when you encounter the issue?

mrbbot commented 9 months ago

Hey everyone! 👋 As an update, we've identified a potential cause for the errors that are coming from the service registry (Failed to register worker in local service registry, Failed to get worker definitions, Failed to unregister worker) and will aim to get a fix out in the next few weeks. 👍

NachoVazquez commented 9 months ago

Thanks, @mrbbot. I'm getting this now after updating to version 3.11.0.

I'm a library maintainer providing a plugin that gives Cloudflare (Wrangler) support to Nx monorepos.

Is this a problem all users are facing or only a few? I'm asking if it is safe to update my package to the latest version of Wrangler.

Thanks

205g0 commented 9 months ago

FWIW, I just got following multiple times after setting up a new dev machine:

✘ [ERROR] Error: Could not proxy request: TypeError: fetch failed

      at
  /home/user/.nvm/versions/node/v18.18.2/lib/node_modules/wrangler/wrangler-dist/cli.js:110586:29
      at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
      at async #handleLoopbackCustomService
  (/home/user/.nvm/versions/node/v18.18.2/lib/node_modules/wrangler/node_modules/miniflare/dist/src/index.js:7560:24)
      at async #handleLoopback
  (/home/user/.nvm/versions/node/v18.18.2/lib/node_modules/wrangler/node_modules/miniflare/dist/src/index.js:7604:20)

I have WSL2, latest wrangler and...

After I did a manual DNS setting (either 1.1.1.1 or 8.8.8.8), a wsl --shutdown and restart, the error went away:

Don't have this problem with any other service.

maojindao55 commented 9 months ago

I got the same error in windows wsl2

mrbbot commented 8 months ago

As a quick update for people following this issue, we have a PR that could fix this problem in most cases (#4241), but we're going to hold off merging it until some other work to rearchitect Wrangler-as-a-library is complete (#4413). 👍

lrapoport-cf commented 5 months ago

per @mrbbot 's previous comment, moved this to backlog to revisit later

petebacondarwin commented 1 week ago

We decided to implement https://github.com/cloudflare/workers-sdk/pull/5214 instead of https://github.com/cloudflare/workers-sdk/pull/4241. This is available behind a flag --x-registry. Can you give this a try or report whether you are still experiencing these issues?