|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2003-11-30 19:16 UTC] fillmore at nrcan dot gc dot ca
Description: ------------ PHP 4.3.4 --with-nsapi (and 4.3.2) segfaults when many simultaneous requests are made to a script that calls MySQL. It fails under both SunONE Web Server 6.0 and 6.1 with: [30/Nov/2003:18:39:36] catastrophe ( 2877): Server crash detected (signal SIGBUS) [30/Nov/2003:18:39:36] info ( 2877): Crash occurred in NSAPI SAF php4_execute [30/Nov/2003:18:39:36] info ( 2877): Crash occurred in function _db_return_ from module /sunone/bin/libphp4.so It only happens if a load test is run with more than about 30 simultaneous users. It does not appear to be a multithreading problem- it still fails with all CPUs except one shut off. - Bob Fillmore PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sun Oct 26 22:00:01 2025 UTC |
I finally captured a core file, and with the gdb command "info threads" got this output for thread 25: 49 Thread 25 (LWP 17) _db_return_ (_line_=949, _sfunc_=0xfd3ee01c, _sfile_=0xfd3ee018, _slevel_=0xfd3ee014) at /home8/src/php/php-4.3.4/ext/mysql/libmysql/dbug.c:826 I can't get a full backtrace using "bt", maybe because the SunONE modules don't have debug symbols? I'm not very familiar with gdb - how do you run bt for a specified thread? I tried "thread 25" followed by "bt", but it traced libthread.so: (gdb) thread 25 [Switching to thread 25 (Thread 1 )] #0 0xfeb2826c in cond_wait () from /usr/lib/libthread.so.1 (gdb) bt #0 0xfeb2826c in cond_wait () from /usr/lib/libthread.so.1 #1 0xfeb28118 in pthread_cond_wait () from /usr/lib/libthread.so.1 #2 0xfed61a94 in PR_WaitCondVar () from /export/home/local/sunone/bin/https/lib/libnspr4.so #3 0xff298084 in __0fJWebServerDRunvT () from /export/home/local/sunone/bin/https/lib/libns-httpd40.so #4 0x10c44 in main ()