ID:               21756
 Updated by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
-Status:           Open
+Status:           Feedback
 Bug Type:         Reproducible crash
 Operating System: Linux/Apache (Debian 3.0r1)
 PHP Version:      4.3.0
 New Comment:

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.


There you can find some info how to use GDB properly.

Can you provide a short, COMPLETE and self-contained
example script that can be used to reproduce this?

It's not much use for us to try guessing unless you don't 
give us the necessary information..



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

[2003-01-20 04:46:57] [EMAIL PROTECTED]

Yes, you're right, the include() statement in my toy example should
have been wrapped in a pair of braces - the actual code does not
contain calls to include() however...

I'm sorry I could not provide a backtrace - the thing refused to
misbehave when gdb was listening.  Prehaps someone who is more familiar
with the Apache (1.3) / PHP interface will know where to examine more
closely.

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

[2003-01-20 00:04:35] [EMAIL PROTECTED]

Sounds pretty unlikely for the crash being caused 
by unset variable/array index. 

And btw. If you conditionally include() files, then
you MUST use { } with the clauses:

http://www.php.net/manual/en/function.include.php
(Example 12-6)

Maybe this caused the crashes?



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

[2003-01-19 14:34:35] [EMAIL PROTECTED]

If the special global $_SERVER['PATH_INFO'] is accessed in scripts on
either my test or production server when it is not set (on load of home
page usually) it causes Apache to segfault intermittently (like 1/100
page views...).

eg, this is what caused me grief:
if( $_SERVER['PATH_INFO'] == 'whatever')
   include( 'whatever_else');

Wrapping in call to 'isset' stopped crashes:
if( isset($_SERVER['PATH_INFO']) )
    if( $_SERVER['PATH_INFO'] == 'whatever')
       include( 'whatever_else');

Was really hard to reproduce.  In the end I sat at a split screen
comparing the error to the access log, second by second.  The error log
was reporting ~100-300 segfaults a day untill I used the call to isset,
when that dropped to zero.  (After a fun 6 hours trying to catch it
with gdb...)

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


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

Reply via email to