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