Today my dfx(0.24.3) just stopped communicating with --network ic.
dfx canister --network ic status jio3a-xaaaa-aaaal-ab66q-cai
Error: Failed to get canister status for 'jio3a-xaaaa-aaaal-ab66q-cai'.
Caused by: Failed to get canister status of jio3a-xaaaa-aaaal-ab66q-cai.
Caused by: Failed to call update function 'canister_status' regarding canister 'jio3a-xaaaa-aaaal-ab66q-cai'.
Caused by: Update call (without wallet) failed.
Caused by: An error happened during communication with the replica: error sending request for url (https://icp0.io/api/v3/canister/jio3a-xaaaa-aaaal-ab66q-cai/call)
Caused by: error sending request for url (https://icp0.io/api/v3/canister/jio3a-xaaaa-aaaal-ab66q-cai/call)
Caused by: client error (Connect)
Caused by: tcp connect error: Operation timed out (os error 60)
Caused by: Operation timed out (os error 60)
In the past I’ve seen time issues cause something like this, but I’ve restarted and forced sync of my time and am still getting the same error. The v3 is interesting.
The curl to v2 and v3 looks ok:
afat@virusbook ~ % curl -v https://ic0.app/api/v2/status
* Trying [2600:c00:2:100:5000:d0ff:fe62:c29b]:443...
* Connected to ic0.app (2600:c00:2:100:5000:d0ff:fe62:c29b) port 443
* ALPN: curl offers h2,http/1.1
* (304) (OUT), TLS handshake, Client hello (1):
* CAfile: /etc/ssl/cert.pem
* CApath: none
* (304) (IN), TLS handshake, Server hello (2):
* (304) (IN), TLS handshake, Unknown (8):
* (304) (IN), TLS handshake, Certificate (11):
* (304) (IN), TLS handshake, CERT verify (15):
* (304) (IN), TLS handshake, Finished (20):
* (304) (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / AEAD-CHACHA20-POLY1305-SHA256
* ALPN: server accepted h2
* Server certificate:
* subject: CN=boundary.dfinity.network
* start date: Dec 16 11:22:09 2024 GMT
* expire date: Mar 16 11:22:08 2025 GMT
* subjectAltName: host "ic0.app" matched cert's "ic0.app"
* issuer: C=US; O=Let's Encrypt; CN=E6
* SSL certificate verify ok.
* using HTTP/2
* [HTTP/2] [1] OPENED stream for https://ic0.app/api/v2/status
* [HTTP/2] [1] [:method: GET]
* [HTTP/2] [1] [:scheme: https]
* [HTTP/2] [1] [:authority: ic0.app]
* [HTTP/2] [1] [:path: /api/v2/status]
* [HTTP/2] [1] [user-agent: curl/8.4.0]
* [HTTP/2] [1] [accept: */*]
> GET /api/v2/status HTTP/2
> Host: ic0.app
> User-Agent: curl/8.4.0
> Accept: */*
>
< HTTP/2 200
< content-type: application/cbor
< x-content-type-options: nosniff
< x-frame-options: DENY
< content-length: 200
< date: Mon, 13 Jan 2025 15:46:52 GMT
< vary: origin, access-control-request-method, access-control-request-headers
< access-control-allow-origin: *
< access-control-expose-headers: accept-ranges,content-length,content-range,x-request-id,x-ic-canister-id
< strict-transport-security: max-age=31536000; includeSubDomains
< x-request-id: 01946058-b423-72a1-80e8-b5fd489fb4b3
<
Warning: Binary output can mess up your terminal. Use "--output -" to tell
Warning: curl to output it to your terminal anyway, or consider "--output
Warning: <FILE>" to save to a file.
* Failure writing output to destination
* Connection #0 to host ic0.app left intact
afat@virusbook ~ % curl -v https://ic0.app/api/v3/status
* Trying [2604:1380:45e1:a604:5000:65ff:fec9:e862]:443...
* Connected to ic0.app (2604:1380:45e1:a604:5000:65ff:fec9:e862) port 443
* ALPN: curl offers h2,http/1.1
* (304) (OUT), TLS handshake, Client hello (1):
* CAfile: /etc/ssl/cert.pem
* CApath: none
* (304) (IN), TLS handshake, Server hello (2):
* (304) (IN), TLS handshake, Unknown (8):
* (304) (IN), TLS handshake, Certificate (11):
* (304) (IN), TLS handshake, CERT verify (15):
* (304) (IN), TLS handshake, Finished (20):
* (304) (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / AEAD-CHACHA20-POLY1305-SHA256
* ALPN: server accepted h2
* Server certificate:
* subject: CN=boundary.dfinity.network
* start date: Dec 16 11:22:09 2024 GMT
* expire date: Mar 16 11:22:08 2025 GMT
* subjectAltName: host "ic0.app" matched cert's "ic0.app"
* issuer: C=US; O=Let's Encrypt; CN=E6
* SSL certificate verify ok.
* using HTTP/2
* [HTTP/2] [1] OPENED stream for https://ic0.app/api/v3/status
* [HTTP/2] [1] [:method: GET]
* [HTTP/2] [1] [:scheme: https]
* [HTTP/2] [1] [:authority: ic0.app]
* [HTTP/2] [1] [:path: /api/v3/status]
* [HTTP/2] [1] [user-agent: curl/8.4.0]
* [HTTP/2] [1] [accept: */*]
> GET /api/v3/status HTTP/2
> Host: ic0.app
> User-Agent: curl/8.4.0
> Accept: */*
>
< HTTP/2 404
< content-type: text/plain; charset=utf-8
< strict-transport-security: max-age=31536000; includeSubDomains
< x-request-id: 01946059-198c-7ef2-a668-c0fdae55c7bb
< content-length: 0
< date: Mon, 13 Jan 2025 15:47:19 GMT
<
* Connection #0 to host ic0.app left intact
But curl to icp0.io are giving an SSL error
afat@virusbook ~ % curl -v https://icp0.io/api/v3/status
* Trying [2a0b:21c0:b002:2:5000:59ff:fead:c233]:443...
* Connected to icp0.io (2a0b:21c0:b002:2:5000:59ff:fead:c233) port 443
* ALPN: curl offers h2,http/1.1
* (304) (OUT), TLS handshake, Client hello (1):
* CAfile: /etc/ssl/cert.pem
* CApath: none
* LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to icp0.io:443
* Closing connection
curl: (35) LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to icp0.io:443
OpenSSL 3.4.0
After upgrading curl I still get:
afat@virusbook ~ % curl -v https://icp0.io/api/v3
* Host icp0.io:443 was resolved.
* IPv6: 2a0b:21c0:b002:2:5000:59ff:fead:c233
* IPv4: 193.118.63.173
* Trying [2a0b:21c0:b002:2:5000:59ff:fead:c233]:443...
* Trying 193.118.63.173:443...
And it just freezes.
Any ideas?