#15983 [Com]: session variables lost between pages

From: Date: Tue, 03 Sep 2002 17:39:33 +0000
Subject: #15983 [Com]: session variables lost between pages
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-18317@lists.php.net to get a copy of this message
 ID:               15983
 Comment by:       pratesi@telug.it
 Reported By:      sl@scrooge.dk
 Status:           Feedback
 Bug Type:         Session related
 Operating System: Debian/Linux mips platform
 PHP Version:      4.1.2 and 4.2.0
 New Comment:

I have found some messages that could reply to our issue;
the second is a reply written by Linus Torvalds:

http://www.cs.helsinki.fi/linux/linux-kernel/2002-30/0486.html
http://www.cs.helsinki.fi/linux/linux-kernel/2002-30/0493.html

In practice, for what I'm able to understand of these messages,
it seems that, on non-i386 platforms, glibc and the linux kernel
could "disagree" about the implementation of pread() and then
that the use of pread() on linux + glibc can fail on non-i386
platforms.

Some other messages about this topic:

http://www.cs.helsinki.fi/linux/linux-kernel/2002-30/0411.html
        
                                                                 
http://www.cs.helsinki.fi/linux/linux-kernel/2002-30/0439.html
        
                                                                 
http://www.cs.helsinki.fi/linux/linux-kernel/2002-30/0469.html

And finally:

http://www.cs.helsinki.fi/linux/linux-kernel/2002-30/0559.html

where it is written that it is a glibc bug, fixed in the CVS.

I suppose that future Linux distributions will not be affected 
by this problem, but, IMVVVHO, for safety reasons, currently
the use of pread() should be avoided on non-i386 Linux platforms,
and this should solve this issue.


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

[2002-08-30 14:45:07] pratesi@telug.it

Debian Woody 3.0r0 PPC, PHP 4.2.2
---------------------------------

bash$ find . -name php_config.h
./debian/php4-dev/usr/include/php4/main/php_config.h
./apache-build/main/php_config.h
./cgi-build/main/php_config.h

In all these 3 files, HAVE_PREAD is defined and set to 1:

/* Define if you have the pread function.  */
#define HAVE_PREAD 1

BTW, I could try to compile PHP 4.1 or 4.2 on a Linux PPC
box based on glibc 2.1 and check if the same problem
occurs also with glibc 2.1.
Could this check be useful?

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

[2002-08-30 12:14:18] kalowsky@php.net

Can any of you check your php_config.h file and see if the HAVE_PREAD
variable is defined?  

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

[2002-08-30 10:06:12] sl@scrooge.dk

I will try to make some test this weekend om the MIPS platform.

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

[2002-08-30 06:54:12] pratesi@telug.it

I can make all tests that you want as I'm the sys admin
of the computers at hand.
But if tests affect the use of apache and php, a bit of
patience is needed, as the computer currently using
that workaround is a production server, hence I need
to install and set up an unsed computer of the rack.
An analogous consideration holds true for the Sparc
I'm using :-)
If you prefer, we can continue with private mailing.
Which tests should I perform on the pread() ?
Should I open a bug report for glibc 2.2 ?

Thank you for your time.

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

[2002-08-29 16:30:17] kalowsky@php.net

The problem with the suggested work around is fairly straight forward.

from the ext/session/config.m4:
if test "$PHP_SESSION" != "no"; then
  AC_CHECK_FUNCS(pread pwrite)

This asks libtool/autoconf to check the system for the functions pread
and pwrite.  If they are found by libtool/autoconf (mostly autoconf),
the HAVE_PREAD and HAVE_PWRITE flags are set.  If your work around is
actually working, it would suggest to me that pread doesn't work
properly on this non-i386 machines.  

Is there any chance you can look into the pread/pwrite functionality of
these non-i386 machines?

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

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

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



Thread (46 messages)

« previous php.bugs (#18317) next »