#23354 [Opn->Fbk]: Use of variable before registration problem

From: Date: Thu, 15 May 2003 18:19:28 +0000
Subject: #23354 [Opn->Fbk]: Use of variable before registration problem
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-39721@lists.php.net to get a copy of this message
 ID:               23354
 Updated by:       sniper@php.net
 Reported By:      bill dot macallister at prideindustries dot com
-Status:           Open
+Status:           Feedback
 Bug Type:         Session related
 Operating System: Linux 2.4.18-27.7.xsmp
 PHP Version:      4-STABLE-200304281330
 New Comment:

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

This might be fixed now.



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

[2003-05-09 01:02:37] bill dot macallister at prideindustries dot com

On a development system that is exhibits this problem we tried pulling
out our customer handler routines and used the vanilla session support
in PHP.  The problem persists.

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

[2003-05-08 16:41:21] bill dot macallister at prideindustries dot com

We very carefully went through our code and made sure that we never
used a variable before we registered it and the specific problem that I
reported does not occur.  But we are seeing, very intermitently,
similiar failures that we cannot explain.  Basically we see a session
"lose" its variables.  This is happening about 10 times in 1000
accesses.  We have not been able to reproduce the problem on demand. 
This is causing us too much pain at this point and we will likely fall
back to 4.2.3 where we do not see the problem.

I really think that the variable register/use that I reported is
exercising a more fundamental problem.  We will try removing our
session handler and see if the problem persists.

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

[2003-04-30 10:58:33] bill dot macallister at prideindustries dot com

Well, a cleaned up php.ini did not seem to change anything.  What I did
was to start from php.ini-recommended and then add local changes.

Bill

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

[2003-04-30 10:05:07] bill dot macallister at prideindustries dot com

I don't see how to upload a file.  The diff contains a lot of comment
differences.  What I did was to write a perl script that stripped the
whole line comments, block delimiters, and blank lines.  Then sorted
the output the output.  Then I did a diff of that.  Here is the
result:

d2x% diff -u php.ini-stripped-sorted php.ini-dist-stripped-sorted
--- php.ini-stripped-sorted     Wed Apr 30 07:52:41 2003
+++ php.ini-dist-stripped-sorted        Wed Apr 30 07:53:03 2003
@@ -1,12 +1,14 @@
 allow_call_time_pass_reference=On
 allow_url_fopen=On
 asp_tags=Off
-'atMYSQL_PORT.
 auto_append_file=
-auto_prepend_file=/usr/local/apache/php/prepend.php3
+auto_prepend_file=
 bcmath.scale=0
+dbx.colnames_case="unchanged"
 default_mimetype="text/html"
+default_socket_timeout=60
 define_syslog_variables=Off
+disable_classes=
 disable_functions=
 display_errors=On
 display_startup_errors=Off
@@ -15,15 +17,9 @@
 engine=On
 error_reporting=E_ALL&~E_NOTICE
 expose_php=On
-extension_dir=./
+extension_dir="./"
 file_uploads=On
 gpc_order="GPC"
-highlight.bg=#FFFFFF
-highlight.comment=#FF9900
-highlight.default=#0000CC
-highlight.html=#000000
-highlight.keyword=#006600
-highlight.string=#CC0000
 ifx.allow_persistent=On
 ifx.blobinfile=0
 ifx.byteasvarchar=0
@@ -35,19 +31,22 @@
 ifx.max_persistent=-1
 ifx.nullformat=0
 ifx.textasvarchar=0
+ignore_repeated_errors=Off
+ignore_repeated_source=Off
 implicit_flush=Off
-include_path=.:/usr/local/apache/php:/usr/local/apache/pi:/amkotron/www/php_inc
ludes
 ingres.allow_persistent=On
 ingres.default_database=
 ingres.default_password=
 ingres.default_user=
 ingres.max_links=-1
 ingres.max_persistent=-1
+log_errors_max_len=1024
 log_errors=Off
-magic_quotes_gpc=Off
+magic_quotes_gpc=On
 magic_quotes_runtime=Off
 magic_quotes_sybase=Off
 max_execution_time=30;Maximumexecutiontimeofeachscript,inseconds
+max_input_time=60;Maximumamountoftimeeachscriptmayspendparsingrequestdata
 memory_limit=8M;Maximumamountofmemoryascriptmayconsume(8MB)
 msql.allow_persistent=On
 msql.max_links=-1
@@ -58,7 +57,9 @@
 mssql.max_persistent=-1
 mssql.min_error_severity=10
 mssql.min_message_severity=10
+mssql.secure_connection=Off
 mysql.allow_persistent=On
+mysql.connect_timeout=-1
 mysql.default_host=
 mysql.default_password=
 mysql.default_port=
@@ -66,39 +67,46 @@
 mysql.default_user=
 mysql.max_links=-1
 mysql.max_persistent=-1
+mysql.trace_mode=Off
 odbc.allow_persistent=On
 odbc.check_persistent=On
 odbc.defaultbinmode=1
-odbc.defaultlrl=10000000
+odbc.defaultlrl=4096
 odbc.max_links=-1
 odbc.max_persistent=-1
 output_buffering=Off
-output_handler=
-pfpro.defaulthost="test.signio.com"
+pfpro.defaulthost="test-payflow.verisign.com"
 pfpro.defaultport=443
 pfpro.defaulttimeout=30
 pgsql.allow_persistent=On
+pgsql.auto_reset_persistent=Off
+pgsql.ignore_notice=0
+pgsql.log_notice=0
 pgsql.max_links=-1
 pgsql.max_persistent=-1
 post_max_size=8M
-precision=14
+precision=12
 register_argc_argv=On
-register_globals=On
+register_globals=Off
+report_memleaks=On
 safe_mode_allowed_env_vars=PHP_
 safe_mode_exec_dir=
+safe_mode_gid=Off
+safe_mode_include_dir=
 safe_mode=Off
 safe_mode_protected_env_vars=LD_LIBRARY_PATH
 sendmail_from=me@localhost.com
 session.auto_start=0
 session.bug_compat_42=1
-session.bug_compat_warn=0
+session.bug_compat_warn=1
 session.cache_expire=180
-session.cache_limiter=;nocache
+session.cache_limiter=nocache
 session.cookie_domain=
 session.cookie_lifetime=0
 session.cookie_path=/
 session.entropy_file=
 session.entropy_length=0
+session.gc_divisor=100
 session.gc_maxlifetime=1440
 session.gc_probability=1
 session.name=PHPSESSID
@@ -124,10 +132,10 @@
 sybct.min_client_severity=10
 sybct.min_server_severity=10
 track_errors=Off
-upload_max_filesize=4M
-url_rewriter.tags="a=href,area=href,frame=src,input=src,form=fakeentry"
+unserialize_callback_func=
+upload_max_filesize=2M
+url_rewriter.tags="a=href,area=href,frame=src,input=src,form=,fieldset="
 user_dir=
 variables_order="EGPCS"
-warn_plus_overloading=Off
-y2k_compliance=Off
+y2k_compliance=On
 zlib.output_compression=Off

Since you are asking about the php.ini I will take the php.ini-dist and
apply our local changes to it and let you know what happens.

Bill

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

[2003-04-30 09:42:52] bill dot macallister at prideindustries dot com

The name of the snapshot that I installed is: 

     php4-STABLE-200304281330

The diff is pretty large.  I am not sure when the last time
I installed a new php.ini was.  I will poke around this interface and
see if there is a way to submit a file.  If there is not then I will
add another comment with the diff, but my first attempt at pasting the
diff into this window resulted in some pretty wicked wrapping.

Bill

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

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

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



Thread (16 messages)

« previous php.bugs (#39721) next »