ID: 16859
Updated by: [EMAIL PROTECTED]
Reported By: [EMAIL PROTECTED]
Status: Open
Bug Type: Session related
Operating System: Solaris 2.6 (5.6)
PHP Version: 4.2.0
New Comment:
As an explanation to the backtrace I posted:
The backslashes that appear before some of the double quotes in the
backtrace are due to gdb. The file that is read (and the string that's
processed) do _not_ contain the backslash.
The variable "ses_login" is the first of the session variables that are
stored as part of the session data.
The backtrace says that it's dying in session.c, line 290. This is in
function php_set_session_var(), at the point where it's trying to call
zend_set_hash_symbol().
The PHP setting "register_globals" is set to "On" in both the local and
master contexts.
The script that causes this error is calling session_decode without
having called any kind of session_start or session_name beforehand.
(Again, this works as I expected it to in 4.1.2; the SEGV is in 4.2.0).
Previous Comments:
------------------------------------------------------------------------
[2002-04-28 14:23:18] [EMAIL PROTECTED]
Backtrace (running in gdb with -X) is:
(gdb) bt
#0 0x8ed44 in php_set_session_var (name=0x3364f0 "ses_login",
namelen=9,
state_val=0x328dd0, var_hash=0xefffcfb0) at session.c:290
#1 0x8f588 in ps_srlzr_decode_php (
val=0x339128
"ses_login|s:8:\"theodore\";ses_id|s:19:\"PMwwKgoAADwAADKfkFU\";ses_timestamp_ultimo|i:1020014634;ses_timestamp_inicio|i:1020014634;ses_ip|s:9:\"10.0.0.64\";ses_url|s:13:\"/contar.phtml\";ses_valor|i:1;",
vallen=193)
at session.c:441
#2 0x8f87c in php_session_decode (
val=0x339128
"ses_login|s:8:\"theodore\";ses_id|s:19:\"PMwwKgoAADwAADKfkFU\";ses_timestamp_ultimo|i:1020014634;ses_timestamp_inicio|i:1020014634;ses_ip|s:9:\"10.0.0.64\";ses_url|s:13:\"/contar.phtml\";ses_valor|i:1;",
vallen=193)
at session.c:490
#3 0x93454 in zif_session_decode (ht=1, return_value=0x3360d0,
this_ptr=0x0,
return_value_used=0) at session.c:1339
#4 0x1a2080 in execute (op_array=0x323440) at ./zend_execute.c:1598
#5 0x169e48 in zend_execute_scripts (type=8, retval=0x0,
file_count=3)
at zend.c:810
#6 0x4e270 in php_execute_script (primary_file=0xeffff7f0) at
main.c:1381
#7 0x17c1fc in apache_php_module_main (r=0x30a420,
display_source_mode=0)
at sapi_apache.c:90
#8 0x48b8c in send_php ()
#9 0x48bf8 in send_parsed_php ()
#10 0x1ad4e4 in ap_invoke_handler ()
#11 0x1bf494 in process_request_internal ()
#12 0x1bf4ec in ap_process_request ()
#13 0x1b7d84 in child_main ()
#14 0x1b7f38 in make_child ()
#15 0x1b8084 in startup_children ()
#16 0x1b866c in standalone_main ()
#17 0x1b8df4 in main ()
(gdb)
------------------------------------------------------------------------
[2002-04-26 20:07:49] [EMAIL PROTECTED]
To properly diagnose this bug, we need a backtrace to see what is
happening behind the scenes. To find out how to generate a backtrace,
please read http://bugs.php.net/bugs-generating-backtrace.php
Once you have generated a backtrace, please submit it to this bug
report and change the status back to "Open".
------------------------------------------------------------------------
[2002-04-26 13:20:03] [EMAIL PROTECTED]
session_decode ($str) gives SEGV with PHP 4.2.0 and Apache 1.3.24.
Worked fine with PHP 4.1.2; I just built 4.2.0 with the same configure
params and same Apache as I had with 4.1.2, and the same script gives
the problem.
I have verified that the argument to session_decode ($str) is not null,
etc.
Basically, my script is reading the $str out of several sess_* files
and dumping the contents for each one.
There was a session_decode SEGV bug that was reported as fixed and
closed in 4.0.1 pl2, so maybe the same bug is back.
Thanks to all.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=16859&edit=1