Re: Race Condition In PHP Session Handler

From: Date: Mon, 20 Feb 2012 19:02:08 +0000
Subject: Re: Race Condition In PHP Session Handler
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-316734@lists.php.net to get a copy of this message
On Mon, Feb 20, 2012 at 7:21 PM, Adam Tauno Williams <awilliam@whitemice.org> wrote: > php-5.3.3-3.el6_2.6.x86_64 > 2.6.32-220.4.2.el6.x86_64 > > After some testing we moved our production PHP intranet site from an old > server to a new CentOS 6.2 instance running the mentioned versions.  At > first it worked well and then user's started to experience a hung site. > Upon some digging it appears that the PHP module is getting stuck in a > race condition regarding the sessions file - > > [root@yannigan-orange fd]# strace -p  22607 > Process 22607 attached - interrupt to quit > flock(53, LOCK_EX^C <unfinished ...> > > where file handle 53 is > > ... > lr-x------. 1 root root 64 Feb 17 15:24 52 > -> /opt/informix/msg/en_us/0333/cli.iem > lrwx------. 1 root root 64 Feb 17 15:24 53 > -> /var/lib/php/session/sess_ulgsl9joplobb9o4fue3n2e1k0 > l-wx------. 1 root root 64 Feb 17 15:24 6 -> pipe:[660246] > .... > > The PHP session file.  Originally I had a tmpfs mounted for the session > files.  I removed that and used the underlying filesystem.  Same issue. > I disabled APC.  Same issue. > > Switching the the memcache session handler resolved the issue,  although > that may be less optimal.  But this seems like a PHP bug. > > Tips, comments, pointers? > > Backtrace of a hung httpd - > #0  0x00007fa175af9be7 in flock () from /lib64/libc.so.6 > #1  0x00007fa16cb59dfc in ?? () from /etc/httpd/modules/libphp5.so > #2  0x00007fa16cb5a047 in ?? () from /etc/httpd/modules/libphp5.so > #3  0x00007fa16cb56e4c in php_session_start () > from /etc/httpd/modules/libphp5.so > #4  0x00007fa16cb57559 in ?? () from /etc/httpd/modules/libphp5.so > #5  0x00007fa16cc9afe8 in ?? () from /etc/httpd/modules/libphp5.so > #6  0x00007fa16cc72320 in execute () from /etc/httpd/modules/libphp5..so > #7  0x00007fa16cc4ca5d in zend_execute_scripts () > from /etc/httpd/modules/libphp5.so > #8  0x00007fa16cbfacf8 in php_execute_script () > from /etc/httpd/modules/libphp5.so > #9  0x00007fa16ccd59a5 in ?? () from /etc/httpd/modules/libphp5.so > #10 0x00007fa17751da60 in ap_run_handler () > #11 0x00007fa17752131e in ap_invoke_handler () > #12 0x00007fa17752c990 in ap_process_request () > #13 0x00007fa177529858 in ?? () > #14 0x00007fa177525568 in ap_run_process_connection () > #15 0x00007fa177531767 in ?? () > #16 0x00007fa177531a7a in ?? () > #17 0x00007fa177531dab in ap_mpm_run () > #18 0x00007fa177509900 in main () > > > > -- > System & Network Administrator [ LPI & NCLA ] > <http://www.whitemiceconsulting.com> > OpenGroupware Developer <http://www.opengroupware.us> > Adam Tauno Williams It sounds like a bug in memcache to me, but anyway, there's little chance you're getting any info from this mailing list. You should open a bug report at bugs.php.net for this. If you want to be even more helpful, provide a backtrace with debug symbols included. - Matijn

« previous php.general (#316734) next »