ID:               31048
 Updated by:       [EMAIL PROTECTED]
 Reported By:      john dot wellesz at teaser dot fr
-Status:           Open
+Status:           Feedback
 Bug Type:         Reproducible crash
 Operating System: FreeBSD 4.9 STABLE and WINXPSP2
 PHP Version:      5.0.2
 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.


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

[2004-12-10 02:39:53] john dot wellesz at teaser dot fr

Description:
------------
The bug I'm about to describe happens on Windows XP SP2 and freeBSD 4.9
STABLE and probably other platforms (I'm currently using PHP 5.0.2 on
both).

My 2 php (winXP and FreeBSD) run as CGI, the crashes also happens if I
execute my script on command line.

Modules used is probably irrelevant (and futile?), I use 2 PHP, one on
FreeBSD and the other on winXP compiled on totally different way with
not the same modules... (tell me if you can't reproduce the crash, i'll
provide more info).

----------------
BUG REQUIREMENTS:

--> You must have a file of at least 300Kb in size (200Kb won't make
PHP to crash)
--> You must have set the file pointer with fseek at 200,000 bytes
(other values may not produce the bug) from the beginning of the file.
--> You must call fpassthru() to print the rest of the file.

Reproduce code:
---------------
<?php
//test file path
$loginfo="fpassthru_crash_test_file";

//create the file;
touch($loginfo);

//allocate ~300000 bytes in the files (the file will make 300003
bytes)
$handle=fopen($loginfo, "r+b");
ftruncate($handle,0);
fseek($handle, 300000, SEEK_END);
fwrite($handle,"END");
fclose($handle);

//Open it for reading
$handle=fopen($loginfo, "rb");
fseek($handle, 200000, SEEK_SET);//the 200000 is important, other
values may not trigger the bug

fpassthru($handle);
?>

Expected result:
----------------
PHP should print the file till the end, we should see "END"...

Actual result:
--------------
PHP displays the file till the 98304th byte and crashes with a bus
error (Signal 10).


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


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

Reply via email to