ID:               40641
 User updated by:  jfgingras at cegep-ste-foy dot qc dot ca
 Reported By:      jfgingras at cegep-ste-foy dot qc dot ca
-Status:           Feedback
+Status:           Open
 Bug Type:         Reproducible crash
 Operating System: FreeBSD 6.1-RELEASE
 PHP Version:      5.2.1
 New Comment:

Well, if that can help.. PHP with --enable-debug and no extension
doesn't crash if open_basedir is defined. I'll have to test this with
--disable-debug.

I'm buidling the extensions we use for the debug version and see if I
can reproduce the crash.


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

[2007-02-26 18:32:06] jfgingras at cegep-ste-foy dot qc dot ca

I'll keep trying generate a backtrace for httpd, but gdb doesn't like
that very much. Since I can't stop our production server, I have create
an exact duplicate of httpd.conf and name it httpd-debug.conf and simply
change the Listen directive and my VirtualHost.

I launch httpd directly from command line like this:

/usr/local/sbin/httpd -X -f /usr/local/etc/apache2/httpd-debug.conf

And the server start ok, and crash as expected when I enter a directory
with open_basedir defined.

But I can't manage to start it via gdb, here's what happen:

[EMAIL PROTECTED] apache2]# gdb /usr/local/sbin/httpd
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and
you are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for
details.
This GDB was configured as "amd64-marcel-freebsd"...(no debugging
symbols found)...
(gdb) run -X -f /usr/local/etc/apache2/httpd-debug.conf
Starting program: /var/bd/pol/usr/local/sbin/httpd -X -f
/usr/local/etc/apache2/httpd-debug.conf
(no debugging symbols found)...(no debugging symbols found)...(no
debugging symbols found)...(no debugging symbols found)...(no debugging
symbols found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...gdb in realloc(): error: junk
pointer, too high to make sense
Abort trap: 6 (core dumped)
[EMAIL PROTECTED] apache2]#

I'm kinda lost right now. I'll see if I can rebuild PHP with
--enable-debug

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

[2007-02-26 15:50:55] [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 for *NIX and
http://bugs.php.net/bugs-generating-backtrace-win32.php for Win32

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.



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

[2007-02-26 15:49:36] jfgingras at cegep-ste-foy dot qc dot ca

Description:
------------
If open_basedir if defined in a <Directory>, any call to a php file,
event if this file is empty, will either throw a Bus error or a
Segmentation fault. This problem appears as soon as I upgraded php
5.1.6 to 5.2.1

I didn't change anything in any configuration file of apache, and I did
not upgrade apache either.

My Apache version is 2.0.58

When I remove the open_basedir directive, it solve the problem.


Here's the logfile of apache:

[...]
[Mon Feb 26 09:21:43 2007] [notice] child pid 31432 exit signal
Segmentation fault (11)
[Mon Feb 26 09:27:13 2007] [notice] child pid 65784 exit signal Bus
error (10)
[Mon Feb 26 09:27:44 2007] [notice] child pid 65537 exit signal
Segmentation fault (11)
[Mon Feb 26 09:28:27 2007] [notice] child pid 68909 exit signal Bus
error (10)
[Mon Feb 26 09:34:19 2007] [notice] child pid 32270 exit signal Bus
error (10)
[Mon Feb 26 09:36:58 2007] [notice] child pid 68902 exit signal Bus
error (10)
[Mon Feb 26 09:37:13 2007] [notice] child pid 69863 exit signal Bus
error (10)

Reproduce code:
---------------
Here's what I have in my <Directory>:

<Directory /var/www/htdocs/stages/>
     php_admin_value open_basedir /var/www/htdocs/stages
     php_admin_value upload_tmp_dir /var/www/htdocs/stages/tmp
     php_value register_globals 1
</Directory>



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


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

Reply via email to