ID: 9264
User Update by: [EMAIL PROTECTED]
Status: Open
Bug Type: *Session related
Description: Using session_encode with user-level session storage functions causes a 
crash

Hi!

I've done a test with the new php4.0.5-RC1 from php4win.de and the crash still occurs.

Regards,
Loïc

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

[2001-02-15 11:05:27] [EMAIL PROTECTED]
Oups, in the code before I omited to put the 'open session' function. Here it is:

function dbSessionOpen($savePath, $sessionName)
{
    return true;
}


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

[2001-02-14 12:39:47] [EMAIL PROTECTED]
Hi!

Be indulgent for my poorly english level please...

To force session data to be saved when using a database based session storage system 
and 'register_globals' is set to off I've build this (very) simplified structure of 
script:

function dbSessionClose()
{
    return true;
}

function dbSessionRead($id)
{
    return true;
}

function dbSessionWrite($id, $data)
{
    return true;
}

function dbSessionDestroy($id)
{
    return true;
}

function dbSessionGarbageCollector($sessionLifeTime)
{
    return true;
}

function dbSessionSave()
{
    return dbSessionWrite(session_id(), session_encode());  // The note below is about 
this line
}

session_set_save_handler('dbSessionOpen', 'dbSessionClose', 'dbSessionRead', 
'dbSessionWrite', 'dbSessionDestroy', 'dbSessionGarbageCollector');


/**
 * Uses session
 */
session_start();
session_register('myVar');

$myVar = 'crash';

dbSessionSave();


Then each time I run it with the latest PHP 4.0.5dev loaded as an apache module, PHP 
crash and produces this error:

APACHE a causé une défaillance de page dans
 le module PHP4TS.DLL à 016f:008a533e.
Registres :
EAX=00000000 CS=016f EIP=008a533e EFLGS=00010246
EBX=00000000 SS=0177 ESP=01e2f274 EBP=007f7df0
ECX=007ee7a0 DS=0177 ESI=007ee164 FS=2217
EDX=007ee130 ES=0177 EDI=007f7c46 GS=0000
Octets à CS : EIP :
8b 00 8b 4c 24 0c 8b 54 24 08 51 8b 4c 24 08 42 
État de la pile :
008a57b4 007f7c40 00000005 01e2f2a4 007ee7a0 007ee130 007dd720 00000001 00000000 
007dd720 007f7b10 007f7c40 00000000 00000000 007ee7a0 007dd720


An amazing note: if...
- ... at the first run I replace the call to the session_encode() function by the 
string 'crash', fire the script...
- ... then resume to the original 'dbSessionSave()' function and run the script 
again...
... everything go right!

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


Full Bug description available at: http://bugs.php.net/?id=9264


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to