php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #12952 Output buffering misbehaving
Submitted: 2001-08-24 17:24 UTC Modified: 2001-10-31 10:13 UTC
From: ryan_sokol at ihearditwas dot com Assigned:
Status: Closed Package: Output Control
PHP Version: 4.0.6 OS: RedHat 7.2
Private report: No CVE-ID: None
View Add Comment Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
You can add a comment by following this link or if you reported this bug, you can edit this bug over here.
(description)
Block user comment
Status: Assign to:
Package:
Bug Type:
Summary:
From: ryan_sokol at ihearditwas dot com
New email:
PHP Version: OS:

 

 [2001-08-24 17:24 UTC] ryan_sokol at ihearditwas dot com
Here's my configure line:
'./configure' '-with-apxs' '--enable-track-vars' '--disable-debug' '--enable-sysvshm' '-enable-sysvsem' '-enable-trans-sid'

I have been running PHP 4.0.4pl1 with no problems for about 5 months and tried to move to PHP 4.0.6.  The code below produced an undisplayable page in 4.0.6 but works fine in 4.0.4pl1:
///////////////////////////////////////////////////////////
ob_start();
if (sessionResume() == false)
{
      // some error handling code here	
        include "error.fre";
  	return;
}
else
{
   // some more logic here
   if($loginTo != '') // means would rather go to another page, probably from bookmark
       header("Location: " . $loginTo . "&PHPSESS=" . session_id());   		
  	else
  		include "member-home.fre";

}
ob_end_flush();
///////////////////////////////////////////////////////////

What happens when I run this code is IE gives me a "Page cannot be displayed" screen.  I am positive this has something to do with 4.0.6 because I had 4.0.4pl1 installed, then upgraded to 4.0.6 and got the error, and then downgraded back to 4.0.4pl1 (where it worked properly again) without changing one line of code or anything in php.ini.

Sorry I can't offer any suggestions, but let me know if I can help track this one down.

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2001-10-26 18:06 UTC] ryan_sokol at ihearditwas dot com
Note:  The function sessionResume() simply checks if a session exists for the user and continues it if it does or starts a new one if it doesn't.
 [2001-10-30 15:35 UTC] ryan_sokol at ihearditwas dot com
Changed the bug type, OS, and Summary.  

After unsuccessfully trying to get a backtrace (got a Segmentation Fault and "Document contains no data", but could not generate a core file nor force a crash on httpd in gdb), I have concluded that this has to do with the 
--enable-trans-sid option AND ob_end_flush() on PHP 4.0.6.  When I compile PHP WITHOUT the --enable-trans-sid, I have no problems (except I need the trans-sid for my sessions).  But when I recompile PHP WITH --enable-trans-sid, I get the Segmentation Fault and "Document contains no data" errors.

I think this is related to Bug# 12180. Again, the code (see above) did not change from PHP 4.0.4pl1 to PHP 4.0.6, but the result of execution did.
 [2001-10-30 16:40 UTC] ryan_sokol at ihearditwas dot com
Almost forgot, I also get this in my Apache error_log:

[Tue Oct 30 15:36:56 2001] [notice] child pid 4831 exit signal Segmentation fault (11)
 [2001-10-30 19:07 UTC] sniper@php.net
Does this happen with latest CVS snapshot from 
http://snaps.php.net/ ?

 [2001-10-31 10:05 UTC] ryan_sokol at ihearditwas dot com
Yes, snapshot php4-200110301200 fixed this problem.  When will the next stable release come out?
 [2001-10-31 10:13 UTC] derick@php.net
As soon as we think it's ready.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Fri Mar 29 05:01:28 2024 UTC