#31360 [Bgs]: Maybe Array operation has some bug

From: Date: Fri, 31 Dec 2004 05:03:51 +0000
Subject: #31360 [Bgs]: Maybe Array operation has some bug
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-71340@lists.php.net to get a copy of this message
 ID:               31360
 User updated by:  tokimeki at 1111 dot com dot tw
 Reported By:      tokimeki at 1111 dot com dot tw
 Status:           Bogus
 Bug Type:         Arrays related
 Operating System: FreeBSD / Windows XP
 PHP Version:      5.0.3
 New Comment:

I'm sorry! I already find the problem.
That is the serialize function which can't serialize a recursive
array~~~


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

[2004-12-31 04:34:52] tokimeki at 1111 dot com dot tw

I already change the setting (memory_limit = 128M) in php.ini, But it
has the same error.
I think that: $arr is a recursive array, so the operation maybe have
some different!
Notice that, if I remark line 29, and call sohw_var twice, it's ok! So,
this is a error.
Could you tell me, how many memory is enogth?
Thank you!

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

[2004-12-31 03:41:11] iliaa@php.net

Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to
report
a bug at http://bugs.php.net/how-to-report.php

Increase the memory limit, in your code you end up duplicating lot's of
data which causes this limit to be reached.

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

[2004-12-31 02:40:09] tokimeki at 1111 dot com dot tw

Description:
------------
look the two source, index.php and debug.php.
At index.php (line 29), after array copy, and call show_var to show
$arr or $test, I get a error.


Reproduce code:
---------------
http://timteam.org/?TIM=FORUM&FORUM=1&ShowDocument=12961#TIM12961

Expected result:
----------------
ok
(array) = {
	obj (object) = {}
	str (string) = str
	arr (array) = {}
	number (integer) = 100
	bool (boolean) = 1
	null (NULL) = 
	test (array) = {
		AAA (string) = 000
		BBB (array) = {
			zzz (string) = Z
			xxx (array) = {
				zzz (string) = Z
				xxx (array) -> (@[test][BBB][xxx])
			}
			yyy (array) = {
				www (array) -> (@[test][BBB])
				vvv (array) -> (@[test][BBB])
			}
		}
		CCC (array) -> (@)
		DDD (string) = ABC
		EEE (array) -> (@[test][BBB][yyy])
		FFF (array) -> (@[test][BBB])
		<>[]!@#$%^&*()_+|~`\:;,.? (array) = {
			TEST (string) = <>[]!@#$%^&*()_+|~`\:;,.?
		}
		  (array) -> (@[test][<>[]!@#$%^&*()_+|~`\:;,.?])
	}
}



Actual result:
--------------
ok
Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to
allocate 128 bytes) in /home/tokimeki/public_html/test/debug.php on
line 29


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


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


Thread (5 messages)

« previous php.bugs (#71340) next »