Bug description
It happens occasionally (once a day or so) in a production environment where many requests are being served.
$ sudo gdb /usr/sbin/httpd core.httpd.9971 --command download/gdbinit-7.3
GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-119.el7
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/sbin/httpd...Reading symbols from /usr/lib/debug/usr/sbin/httpd.debug...done.
done.
[New LWP 9975]
[New LWP 9972]
[New LWP 9971]
[New LWP 9973]
[New LWP 9974]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `/usr/sbin/httpd -DFOREGROUND'.
Program terminated with signal 11, Segmentation fault.
#0 __GI_getenv (name=0x7fb42bd34b26 "l_proxy", [email protected]=0x7fb42bd34b24 "all_proxy") at getenv.c:88
88 if (name_start == ep_start && !strncmp (*ep + 2, name, len)
(gdb) backtrace
#0 __GI_getenv (name=0x7fb42bd34b26 "l_proxy", [email protected]=0x7fb42bd34b24 "all_proxy") at getenv.c:88
#1 0x00007fb42bd059f9 in GetEnv ([email protected]=0x7fb42bd34b24 "all_proxy") at getenv.c:44
#2 curl_getenv ([email protected]=0x7fb42bd34b24 "all_proxy") at getenv.c:52
#3 0x00007fb42bd03c17 in detect_proxy (conn=<optimized out>, conn=<optimized out>) at url.c:4147
#4 create_conn (async=0x7fb3cbffeb8c, in_connect=0x7fb3cbffeba4, data=0x7fb3c0020900) at url.c:5163
#5 Curl_connect ([email protected]=0x7fb3c0020900, [email protected]=0x7fb3c002c6b8, [email protected]=0x7fb3cbffeb8c, [email protected]=0x7fb3cbffeb8d) at url.c:5531
#6 0x00007fb42bd14780 in multi_runsingle ([email protected]=0x7fb3c002c880, now=..., [email protected]=0x7fb3c002c6a0) at multi.c:1045
#7 0x00007fb42bd15641 in curl_multi_perform ([email protected]=0x7fb3c002c880, [email protected]=0x7fb3cbffec80) at multi.c:1763
#8 0x00007fb42bd0c853 in curl_easy_perform (easy=0x7fb3c0020900) at easy.c:480
#9 0x00007fb41da460b4 in _dd_writer_loop () from /opt/datadog-php/extensions/ddtrace-20180731.so
#10 0x00007fb435c6bea5 in start_thread (arg=0x7fb3cbfff700) at pthread_create.c:307
#11 0x00007fb4357908dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
PHP version
PHP 7.3.22 (cli) (built: Sep 1 2020 09:44:58) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.22, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.3.22, Copyright (c) 1999-2018, by Zend Technologies
with ddtrace v0.49.0, Copyright Datadog, by Datadog
Installed extensions
[PHP Modules]
apcu
bcmath
bz2
calendar
Core
ctype
curl
date
ddtrace
dom
exif
fileinfo
filter
ftp
gd
gettext
grpc
hash
iconv
igbinary
intl
json
libxml
mbstring
memcached
msgpack
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
readline
Reflection
session
shmop
SimpleXML
sockets
SPL
sqlite3
ssh2
standard
sysvmsg
sysvsem
sysvshm
tokenizer
wddx
xml
xmlreader
xmlwriter
xsl
Zend OPcache
zip
zlib
[Zend Modules]
Zend OPcache
ddtrace
OS info
CentOS Linux 7 (Core)
Diagnostics and configuration
Output of phpinfo() (ddtrace >= 0.47.0)
$ php --ri=ddtrace
ddtrace
Datadog PHP tracer extension
For help, check out the documentation at https://docs.datadoghq.com/tracing/languages/php/
(c) Datadog 2020
Datadog tracing support => enabled
Version => 0.49.0
DATADOG TRACER CONFIGURATION => {"date":"2020-10-20T09:30:26Z","os_name":"Linux host 3.10.0-1127.19.1.el7.x86_64 #1 SMP Tue Aug 25 17:23:54 UTC 2020 x86_64","os_version":"3.10.0-1127.19.1.el7.x86_64","version":"0.49.0","lang":"php","lang_version":"7.3.20","env":null,"enabled":true,"service":null,"enabled_cli":false,"agent_url":"http://localhost:8126","debug":false,"analytics_enabled":false,"sample_rate":1.000000,"sampling_rules":null,"tags":null,"service_mapping":null,"distributed_tracing_enabled":true,"priority_sampling_enabled":true,"dd_version":null,"architecture":"x86_64","sapi":"cli","ddtrace.request_init_hook":"/opt/datadog-php/dd-trace-sources/bridge/dd_wrap_autoloader.php","open_basedir_configured":false,"uri_fragment_regex":null,"uri_mapping_incoming":null,"uri_mapping_outgoing":null,"auto_flush_enabled":false,"generate_root_span":true,"http_client_split_by_domain":false,"measure_compile_time":true,"report_hostname_on_root_span":false,"traced_internal_functions":null,"auto_prepend_file_configured":false,"integrations_disabled":null,"enabled_from_env":true,"opcache.file_cache":null}
Diagnostics
Diagnostic checks => passed
Directive => Local Value => Master Value
ddtrace.disable => Off => Off
ddtrace.request_init_hook => /opt/datadog-php/dd-trace-sources/bridge/dd_wrap_autoloader.php => /opt/datadog-php/dd-trace-sources/bridge/dd_wrap_autoloader.php
Output of dd-doctor (ddtrace < 0.47.0)
Upgrading info