-
-
Notifications
You must be signed in to change notification settings - Fork 9.8k
Description
Symfony version(s) affected
v6.4.24
Description
Using CurlHttpClient implementation
PHP Version: 8.3.28
ext-curl version: ext-curl version bundled with php
system curl version:
curl 8.5.0 (x86_64-pc-linux-gnu) libcurl/8.5.0 OpenSSL/3.0.13 zlib/1.3 brotli/1.1.0 zstd/1.5.5 libidn2/2.3.7 libpsl/0.21.2 (+libidn2/2.3.7) libssh/0.10.6/openssl/zlib nghttp2/1.59.0 librtmp/2.3 OpenLDAP/2.6.7
Release-Date: 2023-12-06, security patched: 8.5.0-2ubuntu10.6
Protocols: dict file ftp ftps gopher gophers http https imap imaps ldap ldaps mqtt pop3 pop3s rtmp rtsp scp sftp smb smbs smtp smtps telnet tftp
Features: alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM PSL SPNEGO SSL threadsafe TLS-SRP UnixSockets zstd
I realize this is quite a wide range of versions and I am still working on narrowing it down, but I am going ahead and creating the issue to see if anyone else has any ideas.
I originally upgraded symfony/http-client from v6.4.5 to v6.4.28 and saw memory increasing much more than normal. I deployed the change on Saturday morning, but we didn't notice the problem getting worse until later on Sunday at 6pm eastern time when traffic started to increase. Traffic is really low over the weekend.
I reverted back to v6.4.5 and memory went back to normal.
I initially suspected the problem was in v6.4.25 so I deployed an upgrade to v6.4.24, but unfortunately the problem still exists in v6.4.24 so I reverted the change.
The issue is somewhere in this diff https://github.com/symfony/http-client/compare/v6.4.5..v6.4.24
I am going to spend some time today to try and narrow it down further. If anyone has any ideas of which version in the above diff looks suspicious, I am all ears.
Notes for Myself
Staging curl:
curl 8.5.0 (x86_64-pc-linux-gnu) libcurl/8.5.0 OpenSSL/3.0.13 zlib/1.3 brotli/1.1.0 zstd/1.5.5 libidn2/2.3.7 libpsl/0.21.2 (+libidn2/2.3.7) libssh/0.10.6/openssl/zlib nghttp2/1.59.0 librtmp/2.3 OpenLDAP/2.6.7
Release-Date: 2023-12-06, security patched: 8.5.0-2ubuntu10.6
Protocols: dict file ftp ftps gopher gophers http https imap imaps ldap ldaps mqtt pop3 pop3s rtmp rtsp scp sftp smb smbs smtp smtps telnet tftp
Features: alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM PSL SPNEGO SSL threadsafe TLS-SRP UnixSockets zstd
Production curl:
curl 8.5.0 (x86_64-pc-linux-gnu) libcurl/8.5.0 OpenSSL/3.0.13 zlib/1.3 brotli/1.1.0 zstd/1.5.5 libidn2/2.3.7 libpsl/0.21.2 (+libidn2/2.3.7) libssh/0.10.6/openssl/zlib nghttp2/1.59.0 librtmp/2.3 OpenLDAP/2.6.7
Release-Date: 2023-12-06, security patched: 8.5.0-2ubuntu10.6
Protocols: dict file ftp ftps gopher gophers http https imap imaps ldap ldaps mqtt pop3 pop3s rtmp rtsp scp sftp smb smbs smtp smtps telnet tftp
Features: alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM PSL SPNEGO SSL threadsafe TLS-SRP UnixSockets zstd
How to reproduce
I am not able to reproduce the problem locally. In production we have thousands of customers making thousands of API calls to different API endpoints every minute and I am not able to replicate that kind of load locally.
Possible Solution
No response
Additional Context
No response