ID:               21306
 Updated by:       [EMAIL PROTECTED]
 Reported By:      Xuefer at 21cn dot com
-Status:           Open
+Status:           Bogus
 Bug Type:         Session related
 Operating System: linux
-PHP Version:      PHP 4.3.12-dev
+PHP Version:      4.3.12-dev
 Assigned To:      sas
 New Comment:

Can not reproduce, there's been couple of reports and none them with
proper way to get this reproduced. Most likely user error.


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

[2005-04-08 15:42:30] Xuefer at 21cn dot com

anyone please take a look on it

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

[2005-02-12 09:23:34] Xuefer at 21cn dot com

confirmed with CVS
again, exit() in sess_write() cause this issue
other modules after session module is not shutdown properly

i don't see any fix in the php4-src/ext/session/ source

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

[2005-02-02 01:00:06] php-bugs at lists dot php dot net

No feedback was provided for this bug for over a week, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".

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

[2005-01-25 15:28:30] [EMAIL PROTECTED]

Please try using this CVS snapshot:

  http://snaps.php.net/php4-STABLE-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php4-win32-STABLE-latest.zip



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

[2004-11-08 17:24:27] Xuefer at 21cn dot com

i guess i've found the bug
it's a "exception safe" problem as c++
well, not php5 exception, i meant zend_bailout(longjmp)

when write handler issue a Fatal error, will trigger zend_bailout() and
skip ALL other modules rshutdown, including the one right after
session_flush_data();

session.c:
static void php_session_flush(TSRMLS_D)
{
    if(PS(session_status)==php_session_active) {
        php_session_save_current_state(TSRMLS_C); <-- NOT exception
safe using for mod_user.c
    }
    PS(session_status)=php_session_none; <- WON'T executed when
zend_bailout
}

suggested fix:
mod_user.c :: function PS_WRITE_FUNC(user)
chnage
======
    retval = ps_call_handler(PSF(write), 2, args TSRMLS_CC);
======
to
======
zend_try {
    retval = ps_call_handler(PSF(write), 2, args TSRMLS_CC);
} zend_end_try();
======

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

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

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

Reply via email to