debugging advice needed
| From: | Maciek Uhlig | Date: | Fri, 27 Oct 2000 19:41:11 +0000 |
| Subject: | debugging advice needed | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-22369@lists.php.net to get a copy of this message | ||
I'd like to ask you to point me what to do in the following case:
the software is: Solaris 2.4, Apache 1.3.12, MySQL 3.22.25 and PHP
php4-200010221045 snapshot. Sometimes I can observe several httpd processes
looping. They eat 100% CPU. What I did was: I run
truss -topen,read,write,close on main Apache process, saving the output to
disk. Seeing Apache process looping, I killed it -9 and examined truss
output for the looping child process (grep looping pid). I found this httpd
process was serving dynamic page content from PHP+MySQL page. Last read was
a read from MySQL server (select query), and it seems to me it was
successful (the row could be seen in truss output). The last lines of truss
output were:
21266: Received signal #13, SIGPIPE [ignored]
21266: Received signal #29, SIGPROF [caught]
The problem is, the page (BTW with output buffering) is in principle
(almost?) always served correctly. It means I can't observe it is truncated.
Only sometimes I see httpd loop.
The question is, what would be the methodology to find out what part of the
software doesn't work correctly? I don't suspect PHP page. I don't know what
is the reason of PIPE and PROF signals - is it due to kill -9 httpdpid, or a
part of software doesn't function correctly?
Maciek