#19022 [Com]: PHP Warning: Failed to write session data (files)

From: Date: Wed, 04 Sep 2002 23:47:38 +0000
Subject: #19022 [Com]: PHP Warning: Failed to write session data (files)
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-18457@lists.php.net to get a copy of this message
 ID:               19022
 Comment by:       ShaneO@alldigitalservices.com.au
 Reported By:      phpbugs@mx4k.com
 Status:           Feedback
 Bug Type:         Session related
 Operating System: linux (rh7.3), apache 1.3.26
 PHP Version:      4.2.2
 New Comment:

Our client just pulled out and i lost my job due to this bug. Thanks
guys


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

[2002-09-04 08:41:38] kalowsky@php.net

Yes actually the PREAD functionality in the glibc has been found to be
buggy (this is actually in another bug report as well, I just forget
the number off hand).  It was fixed in the CVS for glibc, but that was
only as of July 2002.  

Regardless, try a snapshot for HEAD dated sometime after this point,
I've taken the PREAD out again.  Post back results.  

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

[2002-09-04 06:35:48] phpbugs@mx4k.com

hi there,

as far as i can tell the problem only appears if the server runs on
middle to high load. (eg. >100httpd)

the problem machine is a p4-1,8ghz with 1gig ram (no smp) and we
couldnt yet reproduce the problem on any other server. the machine only
runs the httpd, postgres is running on a different machine. its using a
IDE hd (some special scsi or something)

i'm willing to apply some patches to get rid of the problem. i looked
into the problem myself but couldn't find any problem in PS(mod)->write
or the resulting write to the hd (which i guess is
PS_WRITE_FUNC(files)). I never coded on linux neither much of c (only
c++, c#, java) but maybe p/write does have a problem.

#ifdef HAVE_PWRITE  
        n = pwrite(data->fd, val, vallen, 0);
#else                   
        lseek(data->fd, 0, SEEK_SET);
        n = write(data->fd, val, vallen);
#endif

anyways, send me some patches via email and i'll try my best to find a
workarround.

greets,
thomas

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

[2002-09-04 00:47:38] rasmus@php.net

Yup, the SMP means it likely has multiple processors.  "cat
/proc/cpuinfo" would tell you for sure.  A nasty bug was fixed recently
which only affected SMP machines and would cause exactly these
symptoms.  4.2.3 will have the fix.

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

[2002-09-04 00:43:56] rossr@reactive.com

I'm not sure since we don't host the production site we are just the
developers. When I do a uname I get this:

Linux lsh129.siteprotect.com 2.4.18-pre7 #5 SMP Mon Feb 4 17:42:59 CST
2002 i686 unknown

I'm guessing that the SMP bit means that the server is using multiple
processors, but I'm not sure.

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

[2002-09-04 00:29:58] rasmus@php.net

Your production server wouldn't happen to have multiple cpus?

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

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/19022

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



Thread (75 messages)

« previous php.bugs (#18457) next »