Opened 5 weeks ago
#8201 new defect (bug)
api.wordpress.org fails intermittently with HTTP3/quic
| Reported by: |
|
Owned by: | |
|---|---|---|---|
| Milestone: | Priority: | normal | |
| Component: | API | Keywords: | |
| Cc: |
Description
Similar to #7965 (ticket), I'm experiencing intermittent connection errors when connecting to api.wordpress.org. This is mostly from a Composer plugin that's using the Plugin endpoints to check versions. This is using the curl library under the hood
Other users are experiencing the same issue:
- https://github.com/inpsyde/wp-translation-downloader/issues/43
- https://github.com/typisttech/wp-org-closed-plugin/pull/22
It's also reproducible from the command line:
$ curl -v --http3 https://api.wordpress.org/plugins/info/1.0/redirection.json * Host api.wordpress.org:443 was resolved. * IPv6: 2607:f978:5:8002::c68f:a4fb * IPv4: 198.143.164.251 * Trying [2607:f978:5:8002::c68f:a4fb]:443... * SSL Trust Anchors: * Native: Apple SecTrust * OpenSSL default paths (fallback) * SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / X25519MLKEM768 / id-ecPublicKey * Server certificate: * subject: CN=wordpress.org * start date: Jan 26 19:43:57 2026 GMT * expire date: Apr 26 19:43:56 2026 GMT * issuer: C=US; O=Let's Encrypt; CN=E8 * Certificate level 0: Public key type EC/prime256v1 (256/128 Bits/secBits), signed using ecdsa-with-SHA384 * Certificate level 1: Public key type EC/secp384r1 (384/192 Bits/secBits), signed using sha256WithRSAEncryption * Certificate level 2: Public key type RSA (4096/152 Bits/secBits), signed using sha256WithRSAEncryption * subjectAltName: "api.wordpress.org" matches cert's "*.wordpress.org" * OpenSSL verify result: 0 * SSL certificate verified via OpenSSL. * Established connection to api.wordpress.org (2607:f978:5:8002::c68f:a4fb port 443) from 2604:3d08:117d:4c05:45c0:86f4:67ba:72c3 port 58821 * using HTTP/3 * [HTTP/3] [0] OPENED stream for https://api.wordpress.org/plugins/info/1.0/redirection.json * [HTTP/3] [0] [:method: GET] * [HTTP/3] [0] [:scheme: https] * [HTTP/3] [0] [:authority: api.wordpress.org] * [HTTP/3] [0] [:path: /plugins/info/1.0/redirection.json] * [HTTP/3] [0] [user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134] * [HTTP/3] [0] [accept: */*] > GET /plugins/info/1.0/redirection.json HTTP/3 > Host: api.wordpress.org > User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134 > Accept: */* > * Request completely sent off * ngtcp2_conn_writev_stream returned error: ERR_DRAINING * ngtcp2_conn_writev_stream returned error: ERR_DRAINING * Connection #0 to host api.wordpress.org:443 left intact curl: (56) ngtcp2_conn_writev_stream returned error: ERR_DRAINING
Note: See
TracTickets for help on using
tickets.