ID:               21306
 User updated by:  Xuefer at 21cn dot com
 Reported By:      Xuefer at 21cn dot com
-Status:           Bogus
+Status:           Open
 Bug Type:         Session related
 Operating System: linux
 PHP Version:      4.3.7
 New Comment:

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();
======


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

[2004-08-28 14:25:25] [EMAIL PROTECTED]

Sorry, but your problem does not imply a bug in PHP itself.  For a
list of more appropriate places to ask for help using PHP, please
visit http://www.php.net/support.php as this bug system is not the
appropriate forum for asking support questions. 

Thank you for your interest in PHP.



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

[2004-08-28 07:22:43] Xuefer at 21cn dot com

i can confirm it in new php
however, this bug maybe relatived to:
http://bugs.php.net/?id=28708

NOSPAMdr_lucas:
do u do custom session save handler? or register_shutdown_function?

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

[2004-08-28 07:09:39] NOSPAMdr_lucas at hotmail dot com

Hello,

I am using oscommerce version 2.2 MS2 on:
HTTP Server:    Apache/1.3.31 (Unix) mod_auth_passthrough/1.8
mod_log_bytes/1.2 mod_bwlimited/1.4 FrontPage/5.0.2.2634a
mod_ssl/2.8.19 OpenSSL/0.9.7a
PHP Version:    4.3.8 (Zend: 1.3.0)

I am having the same exact problem. Watching my error.log shows many
occurances of this error message:
[27-Aug-2004 08:17:23] PHP Warning:  Unknown(): A session is active.
You cannot change the session module's ini settings at this time. in
Unknown on line 0
[27-Aug-2004 08:17:24] PHP Warning:  Unknown(): A session is active.
You cannot change the session module's ini settings at this time. in
Unknown on line 0
[27-Aug-2004 08:17:24] PHP Warning:  Unknown(): A session is active.
You cannot change the session module's ini settings at this time. in
Unknown on line 0
[27-Aug-2004 08:17:25] PHP Warning:  Unknown(): A session is active.
You cannot change the session module's ini settings at this time. in
Unknown on line 0
[27-Aug-2004 08:17:26] PHP Warning:  Unknown(): A session is active.
You cannot change the session module's ini settings at this time. in
Unknown on line 0
[27-Aug-2004 11:37:45] PHP Warning:  Unknown(): A session is active.
You cannot change the session module's ini settings at this time. in
Unknown on line 0
[27-Aug-2004 11:37:46] PHP Warning:  Unknown(): A session is active.
You cannot change the session module's ini settings at this time. in
Unknown on line 0
[27-Aug-2004 11:37:46] PHP Warning:  Unknown(): A session is active.
You cannot change the session module's ini settings at this time. in
Unknown on line 0
[27-Aug-2004 11:37:47] PHP Warning:  Unknown(): A session is active.
You cannot change the session module's ini settings at this time. in
Unknown on line 0
[27-Aug-2004 11:37:47] PHP Warning:  Unknown(): A session is active.
You cannot change the session module's ini settings at this time. in
Unknown on line 0
[27-Aug-2004 14:01:15] PHP Warning:  Unknown(): A session is active.
You cannot change the session module's ini settings at this time. in
Unknown on line 0
[27-Aug-2004 14:01:15] PHP Warning:  Unknown(): A session is active.
You cannot change the session module's ini settings at this time. in
Unknown on line 0
[27-Aug-2004 14:01:16] PHP Warning:  Unknown(): A session is active.
You cannot change the session module's ini settings at this time. in
Unknown on line 0
[27-Aug-2004 14:01:17] PHP Warning:  Unknown(): A session is active.
You cannot change the session module's ini settings at this time. in
Unknown on line 0
[27-Aug-2004 14:01:17] PHP Warning:  Unknown(): A session is active.
You cannot change the session module's ini settings at this time. in
Unknown on line 0
[27-Aug-2004 16:19:27] PHP Warning:  Unknown(): A session is active.
You cannot change the session module's ini settings at this time. in
Unknown on line 0
[27-Aug-2004 16:19:28] PHP Warning:  Unknown(): A session is active.
You cannot change the session module's ini settings at this time. in
Unknown on line 0
[27-Aug-2004 16:19:29] PHP Warning:  Unknown(): A session is active.
You cannot change the session module's ini settings at this time. in
Unknown on line 0
[27-Aug-2004 16:19:29] PHP Warning:  Unknown(): A session is active.
You cannot change the session module's ini settings at this time. in
Unknown on line 0
[27-Aug-2004 16:19:30] PHP Warning:  Unknown(): A session is active.
You cannot change the session module's ini settings at this time. in
Unknown on line 0

Any news about how I can fix that?

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

[2004-06-09 22:58:52] [EMAIL PROTECTED]

Try upgrading to the latest stable release (4.3.7 ATM) and avoid using
Apache2 in production environments, the docs already warned you about
it and you must have known, that Apache2 with PHP is unstable ATM.

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

[2004-06-09 22:41:29] carlos dot mafla at calipso dot com dot co

I got that warning too with some php scripts ...( Warning: Unknown(): A
session is active. You cannot change the session module's ini settings
at this time. in Unknown on line 0 ).

The scripts are the same and are placed in two different servers, one
with php 4.3.1 and apache 1.3 and the other one with php 4.3.3 and
apache 2, the first one works  fine without any problem but when i put
it in the second one i got that warning ... so i know its not an script
warning, but i dont know how to fix it... please help because we are now
upgrading other servers to apache 2 and php 4.3.3..

thanx

carlos mafla
from colombia

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

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