PHP Bugs  
php.net | support | documentation | report a bug | advanced search | search howto | statistics | login

go to bug id or search bugs for  

Bug #16905 mkdir crashes
Submitted:29 Apr 2002 10:55am UTC Modified: 6 May 2002 1:35pm UTC
From:mav at alkar dot net Assigned to:
Status:Closed Category:Scripting Engine problem
Version:4.2.0 OS:FreeBSD 4.5
Votes:7 Avg. Score:4.7 ± 0.5 Reproduced:6 of 6 (100.0%)
Same Version:5 (83.3%) Same OS:5 (83.3%)
View/Vote Developer Edit Submission

[29 Apr 2002 10:55am UTC] mav at alkar dot net
Simple test like this makes segmentation fault:
<?

  mkdir('1/fv',0777);

  echo('!!!!!!!!!!!!!!\n\n');

?>
This error occurs in both Apache DSO module and console version.
PHP configures as:
./configure  --with-apxs=/usr/local/apache/bin/apxs
--with-config-file-path=/usr/local/apache/conf --with-mysql=
/usr/local/mysql --with-gd=/usr/local --enable-trans-sid
--enable-versioning --enable-inline-optimization --enabl
e-ftp --enable-dbase --enable-gd-native-ttf --with-ttf
--with-freetype-dir=/usr/local

Here is back trace by gdb from core file:
# gdb php /www/www/clients/alkar/hotline/hotline.alkar.net/php.core 
GNU gdb 4.18
Copyright 1998 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 "i386-unknown-freebsd"...
Core was generated by `php'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /usr/lib/libpam.so.1...done.
Reading symbols from
/usr/local/mysql/lib/mysql/libmysqlclient.so.10...done.
Reading symbols from /usr/lib/libz.so.2...done.
Reading symbols from /usr/lib/libcrypt.so.2...done.
Reading symbols from /usr/local/lib/libgd.so.2...done.
Reading symbols from /usr/local/lib/libfreetype.so.9...done.
Reading symbols from /usr/lib/libm.so.2...done.
Reading symbols from /usr/lib/libc.so.4...done.
Reading symbols from /usr/local/lib/libpng.so.5...done.
Reading symbols from /usr/local/lib/libjpeg.so.9...done.
Reading symbols from /usr/libexec/ld-elf.so.1...done.
#0  0x80fed24 in execute (op_array=0x0) at ./zend_execute.c:1602
1602                                                   
EX(Ts)[EX(opline)->result.u.var].var.ptr->is_ref = 0;
(gdb) bt
#0  0x80fed24 in execute (op_array=0x0) at ./zend_execute.c:1602
(gdb) 
[29 Apr 2002 4:16pm UTC] sniper@php.net
I can not reproduce this with PHP 4.3.0.
Please try latest CVS snapshot from http://snaps.php.net/
[2 May 2002 4:54am UTC] jason at jase dot org
I've just tried a 4.3.0 snapshot using the same test file as
mav@alkar.net posted above.

Operating system is FreeBSD 4.5.

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

php4-200205020000# ./php ~/test.php
X-Powered-By: PHP/4.3.0-dev
Content-type: text/html

<br />
<b>Warning</b>:  mkdir() failed (No such file or directory) in
<b>/disk1/home/jase/bigmailbox/test.php</b> on line <b>3</b><br />
Segmentation fault (core dumped)
[2 May 2002 6:04am UTC] jason at jase dot org
Just to further confuse the issue.  If I build the 4.3.0-DEV snaphost
(php4-200205020000) with --enable-debug then it behaves normally.

Jason
[6 May 2002 11:37am UTC] kalowsky@php.net
Happens in 4.2.1RC1 as well.  When compiled with --enable-debug, works
fine.  When compiled with --disable-debug, it doesn't work
[6 May 2002 1:35pm UTC] jimw@php.net
This bug has been fixed in CVS. You can grab a snapshot of the
CVS version at http://snaps.php.net/

fix was merged into 4.2 branch, so it should be included in 4.2.1. (we
were passing a pointer to a mode_t, which is a short on freebsd, and it
was being treated elsewhere as a pointer to a long. this is the fun sort
of bug that usually only shows up on non-debug builds.)
[7 May 2002 8:23am UTC] jason at jase dot org
Hi,

I've submitted a pr to the FreeBSD php port maintainer, including a
patch.  

The patch can be downloaded from: 

http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/37825

Jason
[29 May 2002 6:18pm UTC] pav at oook dot cz
I have very similar thing happening. Script is reading directory with a
lot of image files, printing them in colors. The script crash as both
mod_php4 in apache and command-line. It crash every time at same
position, however it crash in different positions when called thru
apache and when run from command line. Relevant part of script:

$handle = opendir("/home/pav/images/fit"); 
while ($fajl = readdir($handle)) {
	if ($fajl == "." || $fajl == "..") continue;
	echo '<a href="wow.php3?showme='.$fajl.'" target="_blank" style="color:
'; 
	if ($rates[$fajl]) echo calclinkcolor($ratingy[$fajl]); 
	else echo calclinkcolor(-1);
	echo '">'.$fajl."</a>\n";
}
closedir($handle);

backtrace
#0  0x2836aaed in readdir_r () from /usr/lib/libc.so.4
(gdb) bt
#0  0x2836aaed in readdir_r () from /usr/lib/libc.so.4
#1  0x8091935 in php_if_readdir ()
#2  0x80ed79c in execute ()
#3  0x80d9171 in zend_execute_scripts ()
#4  0x8062406 in php_execute_script ()
#5  0x8060288 in main ()
#6  0x805f629 in _start ()

PHP 4.2.1, Apache 1.3.24, FreeBSD 4.5-STABLE
[29 May 2002 6:20pm UTC] pav at oook dot cz
Yeah sorry! Commented bad bug. Sorry. This apply to bug #15665. Sorry
again.

RSS feed | show source 

PHP Copyright © 2001-2009 The PHP Group
All rights reserved.
Last updated: Sat Nov 21 10:30:49 2009 UTC