ID:               26478
 User updated by:  fillmore at nrcan dot gc dot ca
 Reported By:      fillmore at nrcan dot gc dot ca
 Status:           Open
 Bug Type:         Reproducible crash
 Operating System: Solaris 8 (SPARC)
 PHP Version:      4.3.4
 New Comment:

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 ()


Previous Comments:
------------------------------------------------------------------------

[2003-12-04 17:09:16] fillmore at nrcan dot gc dot ca

There is no core file produced for process that crashes
(not sure why), so I used truss to stop the process
when it gets a FLTACCESS fault (bus or alignment error),
then used pstack to do a stack trace of all the lightweight
processes (threads), and here is the one for _db_return_:

-----------------  lwp# 17 / thread# 27  --------------------
 fe4fa5c0 _db_return_ (b4, fd2bde9c, fd2bde98, fd2bde94, fd2bde98,
fd2bde94) + 1
98
 fe4eff98 vio_read (4, 105cb18, 4, 434c, fd2bdf38, 434c) + 144
 fe4ef8f4 my_real_read (105c698, 434c, 950, 948, fe67ffa0, 2) + e4
 fe4efc10 my_net_read (105c698, 8, 1, 0, 1bb9c, fea973e4) + 8
 fe4ea5b8 net_safe_read (105c698, fe6176c0, 6cc, fd2be0ac, fd2be0a8,
fd2be0a4) +
 50
 fe4ed2cc mysql_read_query_result (105c698, fd2be134, fd2be130,
fd2be12c, 1, fd2
be12c) + 50
 fe4ed5a4 mysql_real_query (105c698, 10754a8, 93, 105c560, 0, 2) + f8
 fe4e6e9c php_mysql_do_query_general (d95398, 105c698, 2, 0, 4000,
105c5a8) + 46
4
 fe4e70e0 php_mysql_do_query (1, 105c5a8, 0, 1, d7d178, 1) + d0
 fe4e7108 zif_mysql_query (1, 105c5a8, 0, 1, d7d178, fe4e70f0) + 18
 fe5ff208 execute  (10611d8, d7d178, fd2be8e0, 3c00, d828c8, db79a8) +
63cc
 fe5e7de4 zend_execute_scripts (fe69f0a4, d7d178, 0, 3, fe69f404,
fd2c1274) + 12
4
 fe5abdcc php_execute_script (0, d7d178, 8000, a92340, d828cc, 65) +
334
 fe609370 php4_execute (5de4c8, a4fd98, a4fde0, 4000, 0, 4000) + 4b4
 ff239244 __0FNfunc_exec_strP6KFuncStructP6GpblockP6HSessionP6HRequest
(6b7c8, 5
de4c8, a4fd98, a4fde0, 633, 0) + 1f0
 ff23a434 INTobject_execute (5dfec8, a4fd98, a4fde0, a418c8, a4fce8,
ff308000) +
 56c
 ff23e0b4 INTservact_service (a4fd98, a4fde0, 0, 0, 0, ff308400) + 444
 ff23e608 INTservact_handle_processed (a4fd98, a4fde0, 1, 5d2420,
fffffffc, 0) +
 140
 ff27308c __0fLHttpRequestUUnacceleratedRespondPCcPc (a4fce8, a91478,
ff317fd8,
a4fde0, a4fd98, ff317c00) + 4e8
 ff27268c __0fLHttpRequestNHandleRequestP6Gnetbuf (a4fce8, a91490,
a91478, 2000,
 a8f460, ff317c00) + 590
 ff270e3c __0fNDaemonSessionDrunv (a418c8, ff317800, ff317800,
ff2720fc, ffffe80
0, 0) + 40c
 ff11407c ThreadMain (a418c8, ff114054, feb4e000, 8, a502c8, 0) + 28
 fed67698 _pt_root (a502c8, fed81074, 1, 5, 1, fe401000) + a4
 feb3b744 _thread_start (a502c8, 0, 0, 0, 0, 0) + 40

------------------------------------------------------------------------

[2003-11-30 19:23:50] [EMAIL PROTECTED]

Thank you for this bug report. To properly diagnose the problem, we
need a backtrace to see what is happening behind the scenes. To
find out how to generate a backtrace, please read
http://bugs.php.net/bugs-generating-backtrace.php

Once you have generated a backtrace, please submit it to this bug
report and change the status back to "Open". Thank you for helping
us make PHP better.

When generating a backtrace make sure your PHP has been compiled with
--enable-debug.

------------------------------------------------------------------------

[2003-11-30 19:16:05] 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




------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=26478&edit=1

Reply via email to