#31048 [Com]: PHP crashes if fpassthru() is used along with fseek()
| From: | thomas at mbox371 dot swipnet dot se | Date: | Fri, 08 Apr 2005 15:58:43 +0000 |
| Subject: | #31048 [Com]: PHP crashes if fpassthru() is used along with fseek() | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-77414@lists.php.net to get a copy of this message | ||
ID: 31048
Comment by: thomas at mbox371 dot swipnet dot se
Reported By: john dot wellesz at teaser dot fr
Status: No Feedback
Bug Type: Reproducible crash
Operating System: FreeBSD 4.9 STABLE and WINXPSP2
PHP Version: 5.0.2
New Comment:
It works now. It might have been fix of bug 32553 that did it for me.
Previous Comments:
------------------------------------------------------------------------
[2005-04-01 14:04:31] thomas at mbox371 dot swipnet dot se
I am having this problem as well with 5.0.4 and latest apache2 on
windows 2003. I also have the problem that even without fseek the file
submission stops after a minute or so (streaming mp3).
I wanted 5.0.4 for the bugfix of the XML parser but there always seems
to be one or more new bugs that stops me from upgrading :( file
passthru has been broken several times now :( I have debuged my
passthru/readfile code several hours in total now and i'm not doing it
again. I cant even make myself to diagnose the problem, just hoping
that someone else does it.. I will revert to 5.0.3 instead. PHP is too
confusing :(
------------------------------------------------------------------------
[2004-12-24 01:00:07] php-bugs at lists dot php dot net
No feedback was provided for this bug for over a week, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
------------------------------------------------------------------------
[2004-12-16 09:51:27] derick@php.net
You can actually, type "bt" on the GDB prompt after it crashed. That
will make a backtrace which is very useful for us.
Thanks
------------------------------------------------------------------------
[2004-12-16 00:02:19] john dot wellesz at teaser dot fr
OK, The bug doesn't happen in php 5.0.3 (at least on windows XP sp2).
I've been able to generate a core dump but without the --enable-debug
parameter, plus I've made a kdump.
First the kdump (I've called ob_start() just before the call to
fpassthru() since it didn't change anything and make the trace
shorter):
ktrace is launched just before the line:
"$handle = fopen($loginfo, "rb");"
------------Kdump Result:
67985 php RET read 0
67985 php CALL close(0x3)
67985 php RET close 0
67985 php CALL wait4(0x10994,0xbfbfd9dc,0,0)
67985 php RET wait4 67988/0x10994
67985 php CALL nanosleep(0xbfbfdab8,0xbfbfdab0)
67985 php RET nanosleep 0
67985 php CALL __getcwd(0xbfbfd5d0,0x400)
67985 php RET __getcwd 0
67985 php CALL lstat(0xbfbfd180,0xbfbfd0d0)
67985 php NAMI "/home"
67985 php RET lstat 0
67985 php CALL lstat(0xbfbfd180,0xbfbfd0d0)
67985 php NAMI "/home/_j2"
67985 php RET lstat 0
67985 php CALL lstat(0xbfbfd180,0xbfbfd0d0)
67985 php NAMI "/home/_j2/j2072"
67985 php RET lstat 0
67985 php CALL lstat(0xbfbfd180,0xbfbfd0d0)
67985 php NAMI "/home/_j2/j2072/pub"
67985 php RET lstat 0
67985 php CALL lstat(0xbfbfd180,0xbfbfd0d0)
67985 php NAMI "/home/_j2/j2072/pub/www.2072productions.com"
67985 php RET lstat 0
67985 php CALL lstat(0xbfbfd180,0xbfbfd0d0)
67985 php NAMI "/home/
_j2/j2072/pub/www.2072productions.com/fpassthru_crash_test_file"
67985 php RET lstat 0
67985 php CALL open(0x8205e8c,0,0x1b6)
67985 php NAMI "/home/
_j2/j2072/pub/www.2072productions.com/fpassthru_crash_test_file"
67985 php RET open 3
67985 php CALL fstat(0x3,0x817892c)
67985 php RET fstat 0
67985 php CALL lseek(0x3,0,0,0,0x1)
67985 php RET lseek 0
67985 php CALL lseek(0x3,0,0x30d40,0,0)
67985 php RET lseek 200000/0x30d40
67985 php CALL break(0x8222000)
67985 php RET break 0
67985 php CALL fstat(0x3,0x817892c)
67985 php RET fstat 0
67985 php CALL mmap(0,0x493e3,0x1,0x1,0x3,0,0x30d40,0)
67985 php RET mmap 677834048/0x2866ed40
67985 php CALL break(0x826e000)
67985 php RET break 0
67985 php PSIG SIGBUS SIG_DFL
67985 php NAMI "/var/cores/php"
------------Now the result of GDB:
#0 0x284212a6 in memcpy () from /usr/lib/libc.so.4
(gdb) #0 0x284212a6 in memcpy () from /usr/lib/libc.so.4
Cannot access memory at address 0xbfbfba2c.
(gdb)
I can't do better, I hope this will be sufficient :-)
------------------------------------------------------------------------
[2004-12-14 02:18:24] wez@php.net
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.
Read the link; it tells you how to make a backtrace; without one we
can't fix the bug.
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/31048
--
Edit this bug report at http://bugs.php.net/?id=31048&edit=1