devagr
devagrā€¢2w ago

`convex dev` can't reach server

I'm on windows with WSL, this was working fine a few hours ago. Now it's not able to deploy my changes. And it's not unique to this project, I have another that times out and keeps trying like this. I am able to browse convex dashboard, and I can run other commands that access the network so it's likely not a connectivity issue.
No description
34 Replies
Convex Bot
Convex Botā€¢2w ago
Thanks for posting in <#1088161997662724167>. Reminder: If you have a Convex Pro account, use the Convex Dashboard to file support tickets. - Provide context: What are you trying to achieve, what is the end-user interaction, what are you seeing? (full error message, command output, etc.) - Use search.convex.dev to search Docs, Stack, and Discord all at once. - Additionally, you can post your questions in the Convex Community's <#1228095053885476985> channel to receive a response from AI. - Avoid tagging staff unless specifically instructed. Thank you!
devagr
devagrOPā€¢2w ago
Using v1.19.2
jamwt
jamwtā€¢2w ago
can you give us a npx convex network-test output? just for kicks (or bunx convex network-test should work too)
devagr
devagrOPā€¢2w ago
No description
jamwt
jamwtā€¢2w ago
@gautamg ^ any ideas?
gautamg
gautamgā€¢2w ago
looking! Could you also try curl -v https://little-walrus-398.convex.cloud?
devagr
devagrOPā€¢2w ago
that runs fine
No description
jamwt
jamwtā€¢2w ago
šŸ˜• no different outcome if you run npx instead of bunx, for the network test, right?
devagr
devagrOPā€¢2w ago
correct i tried both, same result
devagr
devagrOPā€¢2w ago
No description
devagr
devagrOPā€¢2w ago
i guess the one difference between when it was working and now is that i'm not on my home wifi, i'm on mobile data with a hotspot, never really tried local development on hotspot wifi before
jamwt
jamwtā€¢2w ago
interesting... yeah, I'm setting here trying to figure out what would be different between fetch() and like curl's http impl to cause this just to double check, can you try another project, to make sure no convex deployment is reachable this way? I'm guessing none of them work, and this isn't isolated to this one we have a theory here
gautamg
gautamgā€¢2w ago
could you actually expand the curl screenshot a bit? I'm curious to see what IPs it's finding / choosing to connect to
devagr
devagrOPā€¢2w ago
i tried another project and it didn't work, i'll give it another go
āžœ minicrm git:(master) āœ— curl -v https://little-walrus-398.convex.cloud
* Host little-walrus-398.convex.cloud:443 was resolved.
* IPv6: 2600:1f18:77e:2300:4929:e49b:6cb2:75e6, 2600:1f18:77e:2301:685b:995f:b5bb:9cbf, 2600:1f18:77e:2302:ddda:86fa:5687:daaa
* IPv4: 52.44.230.118, 52.54.48.130, 52.200.179.149
* Trying 52.44.230.118:443...
* Trying [2600:1f18:77e:2300:4929:e49b:6cb2:75e6]:443...
* Immediate connect fail for 2600:1f18:77e:2300:4929:e49b:6cb2:75e6: Network is unreachable
* Trying [2600:1f18:77e:2301:685b:995f:b5bb:9cbf]:443...
* Immediate connect fail for 2600:1f18:77e:2301:685b:995f:b5bb:9cbf: Network is unreachable
* Trying [2600:1f18:77e:2302:ddda:86fa:5687:daaa]:443...
* Immediate connect fail for 2600:1f18:77e:2302:ddda:86fa:5687:daaa: Network is unreachable
* Connected to little-walrus-398.convex.cloud (52.44.230.118) port 443
* ALPN: curl offers h2,http/1.1
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* CAfile: /etc/ssl/certs/ca-certificates.crt
* CApath: /etc/ssl/certs
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.3 (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / TLS_AES_128_GCM_SHA256 / X25519 / RSASSA-PSS
* ALPN: server accepted h2
* Server certificate:
* subject: CN=*.convex.cloud
* start date: Jul 9 00:00:00 2024 GMT
* expire date: Aug 6 23:59:59 2025 GMT
* subjectAltName: host "little-walrus-398.convex.cloud" matched cert's "*.convex.cloud"
* issuer: C=US; O=Amazon; CN=Amazon RSA 2048 M03
āžœ minicrm git:(master) āœ— curl -v https://little-walrus-398.convex.cloud
* Host little-walrus-398.convex.cloud:443 was resolved.
* IPv6: 2600:1f18:77e:2300:4929:e49b:6cb2:75e6, 2600:1f18:77e:2301:685b:995f:b5bb:9cbf, 2600:1f18:77e:2302:ddda:86fa:5687:daaa
* IPv4: 52.44.230.118, 52.54.48.130, 52.200.179.149
* Trying 52.44.230.118:443...
* Trying [2600:1f18:77e:2300:4929:e49b:6cb2:75e6]:443...
* Immediate connect fail for 2600:1f18:77e:2300:4929:e49b:6cb2:75e6: Network is unreachable
* Trying [2600:1f18:77e:2301:685b:995f:b5bb:9cbf]:443...
* Immediate connect fail for 2600:1f18:77e:2301:685b:995f:b5bb:9cbf: Network is unreachable
* Trying [2600:1f18:77e:2302:ddda:86fa:5687:daaa]:443...
* Immediate connect fail for 2600:1f18:77e:2302:ddda:86fa:5687:daaa: Network is unreachable
* Connected to little-walrus-398.convex.cloud (52.44.230.118) port 443
* ALPN: curl offers h2,http/1.1
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* CAfile: /etc/ssl/certs/ca-certificates.crt
* CApath: /etc/ssl/certs
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.3 (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / TLS_AES_128_GCM_SHA256 / X25519 / RSASSA-PSS
* ALPN: server accepted h2
* Server certificate:
* subject: CN=*.convex.cloud
* start date: Jul 9 00:00:00 2024 GMT
* expire date: Aug 6 23:59:59 2025 GMT
* subjectAltName: host "little-walrus-398.convex.cloud" matched cert's "*.convex.cloud"
* issuer: C=US; O=Amazon; CN=Amazon RSA 2048 M03
* SSL certificate verify ok.
* Certificate level 0: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
* Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
* Certificate level 2: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
* using HTTP/2
* [HTTP/2] [1] OPENED stream for https://little-walrus-398.convex.cloud/
* [HTTP/2] [1] [:method: GET]
* [HTTP/2] [1] [:scheme: https]
* [HTTP/2] [1] [:authority: little-walrus-398.convex.cloud]
* [HTTP/2] [1] [:path: /]
* [HTTP/2] [1] [user-agent: curl/8.5.0]
* [HTTP/2] [1] [accept: */*]
> GET / HTTP/2
> Host: little-walrus-398.convex.cloud
> User-Agent: curl/8.5.0
> Accept: */*
>
< HTTP/2 200
< access-control-allow-credentials: true
< content-type: text/plain; charset=utf-8
< date: Thu, 03 Apr 2025 22:13:16 GMT
< vary: origin, access-control-request-method, access-control-request-headers
< vary: origin, access-control-request-method, access-control-request-headers
< vary: origin, access-control-request-method, access-control-request-headers
< x-convex-usher: 1
< x-robots-tag: noindex, nofollow
< content-length: 64
<
* Connection #0 to host little-walrus-398.convex.cloud left intact
This Convex deployment is running. See https://docs.convex.dev/.%
* SSL certificate verify ok.
* Certificate level 0: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
* Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
* Certificate level 2: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
* using HTTP/2
* [HTTP/2] [1] OPENED stream for https://little-walrus-398.convex.cloud/
* [HTTP/2] [1] [:method: GET]
* [HTTP/2] [1] [:scheme: https]
* [HTTP/2] [1] [:authority: little-walrus-398.convex.cloud]
* [HTTP/2] [1] [:path: /]
* [HTTP/2] [1] [user-agent: curl/8.5.0]
* [HTTP/2] [1] [accept: */*]
> GET / HTTP/2
> Host: little-walrus-398.convex.cloud
> User-Agent: curl/8.5.0
> Accept: */*
>
< HTTP/2 200
< access-control-allow-credentials: true
< content-type: text/plain; charset=utf-8
< date: Thu, 03 Apr 2025 22:13:16 GMT
< vary: origin, access-control-request-method, access-control-request-headers
< vary: origin, access-control-request-method, access-control-request-headers
< vary: origin, access-control-request-method, access-control-request-headers
< x-convex-usher: 1
< x-robots-tag: noindex, nofollow
< content-length: 64
<
* Connection #0 to host little-walrus-398.convex.cloud left intact
This Convex deployment is running. See https://docs.convex.dev/.%
jamwt
jamwtā€¢2w ago
yeah, this could be ipv4 vs. ipv6 issue
devagr
devagrOPā€¢2w ago
same issue on two other projects
jamwt
jamwtā€¢2w ago
looks like curl is using ipv6 and fetch() is using ipv4
devagr
devagrOPā€¢2w ago
why would it work up until a few hours ago then
gautamg
gautamgā€¢2w ago
can you try adding --ip-family ipv4 to the network-test command?
devagr
devagrOPā€¢2w ago
No description
gautamg
gautamgā€¢2w ago
hmm. best guess so far is something about the mobile hotspot doing something to your routing, but I'll check what the network test is trying to do
devagr
devagrOPā€¢2w ago
i'll wait for the wifi to get back on and report back
gautamg
gautamgā€¢2w ago
one thing you could test -- try turning off IPv6 briefly in your network settings? at least on Mac, you can do this in the settings for your wifi network under TCP/IP by setting IPv6 to "link-local only"
No description
gautamg
gautamgā€¢2w ago
I suspect your mobile hotspot is advertising IPv6 support, so your computer is trying to use that to talk to Convex...but the connections are failing, and it may be our fault that it's not falling back to IPv4 cleanly
devagr
devagrOPā€¢2w ago
found this, disabled and reconnected, network test still the same result
No description
gautamg
gautamgā€¢2w ago
thanks for trying that! one more thing to try: npx --node-options '--dns-result-order=ipv4first' convex network-test
jamwt
jamwtā€¢2w ago
@devagr in short, especially if that command works, this is our suspicion: WSL doesn't support ipv6, but fetch() is preferring IPV6. curl -v is using ipv4. if you force node / bun to use IPV4 for fetch, then it will probably start working again. if that seems to fix the issue, there are environment variables you can set that make sure node (and probably bun?) always use IPv4 for fetch()
devagr
devagrOPā€¢2w ago
nop
No description
jamwt
jamwtā€¢2w ago
if you provide that same --node-options to convex dev, how about then?
gautamg
gautamgā€¢2w ago
you may also want to try NODE_OPTIONS='--dns-result-order=ipv4first' npx convex network-test -- apparently some newer versions of node don't respect --node-options and only use the environment variable version
jamwt
jamwtā€¢2w ago
why this changed: possible when you're tethering you're getting a public IPv6 address, and you normally don't have one
devagr
devagrOPā€¢2w ago
no change
No description
jamwt
jamwtā€¢2w ago
man.
devagr
devagrOPā€¢6d ago
no worries i'm completely fine with waiting it out yeah got back on regular wifi and the issue is gone

Did you find this page helpful?