Edit report at https://bugs.php.net/bug.php?id=61014&edit=1

 ID:                 61014
 Updated by:         m...@php.net
 Reported by:        npm at nuestrared dot com
 Summary:            Memory leak on unserialize for certain nested
                     objects
-Status:             Open
+Status:             Not a bug
 Type:               Bug
 Package:            Performance problem
 Operating System:   Debian Linux
 PHP Version:        5.4SVN-2012-02-08 (snap)
 Block user comment: N
 Private report:     N

 New Comment:

Please do not submit the same bug more than once. An existing
bug report already describes this very problem. Even if you feel
that your issue is somewhat different, the resolution is likely
to be the same. 

Thank you for your interest in PHP.

Dup of Bug #60937


Previous Comments:
------------------------------------------------------------------------
[2012-02-09 11:51:04] npm at nuestrared dot com

Hi, if you got consistent memory usage, it is probable that your saved string 
cannot be unserialized correctly, try printing it or turn on PHP errors to see 
if 
the unserialize was correct.

------------------------------------------------------------------------
[2012-02-08 19:02:59] carloschilazo at gmail dot com

I'm not sure the problem is on the unserialize function;

I saved the value of $str (after gzuncompress/base64_decode) (so I got the 
original serialized string, and hardcoded it on the script)

Then ran the script and got consistent memory usage...

------------------------------------------------------------------------
[2012-02-08 16:24:02] npm at nuestrared dot com

Description:
------------
Unserializing certain objects on a loop, incurs in increased memory consumption 
even when the garbage collector is enables and gc_collect_cycles() is called 
after each iteration.  

For the test script there is an increase of almost 5MB, after 100 runs, it 
doesn't happen with every object, but it does with the one on the test. 
The increase is not with every iteration but every couple of iterations, until 
it 
reaches a maximum, in this case the 4980736 bytes.

This report is related to bug #60937, I had no reply on my comments.
Thanks,

Test script:
---------------
The test script can be found at:
http://dl.dropbox.com/u/7170408/unserialize_memleak.php

Expected result:
----------------
Consistent memory usage.

Actual result:
--------------
The output of the script:

Iteration 0      Start Mem 786432 Cicle Mem 3145728 Diff 2359296
Iteration 1      Start Mem 786432 Cicle Mem 5505024 Diff 4718592
Iteration 2      Start Mem 786432 Cicle Mem 5505024 Diff 4718592
Iteration 3      Start Mem 786432 Cicle Mem 5505024 Diff 4718592
Iteration 4      Start Mem 786432 Cicle Mem 5505024 Diff 4718592
Iteration 5      Start Mem 786432 Cicle Mem 5505024 Diff 4718592
Iteration 6      Start Mem 786432 Cicle Mem 5505024 Diff 4718592
Iteration 7      Start Mem 786432 Cicle Mem 5505024 Diff 4718592
Iteration 8      Start Mem 786432 Cicle Mem 5505024 Diff 4718592
Iteration 9      Start Mem 786432 Cicle Mem 5505024 Diff 4718592
Iteration 10     Start Mem 786432 Cicle Mem 5505024 Diff 4718592
Iteration 11     Start Mem 786432 Cicle Mem 5505024 Diff 4718592
Iteration 12     Start Mem 786432 Cicle Mem 5505024 Diff 4718592
Iteration 13     Start Mem 786432 Cicle Mem 5505024 Diff 4718592
Iteration 14     Start Mem 786432 Cicle Mem 5505024 Diff 4718592
Iteration 15     Start Mem 786432 Cicle Mem 5505024 Diff 4718592
Iteration 16     Start Mem 786432 Cicle Mem 5505024 Diff 4718592
Iteration 17     Start Mem 786432 Cicle Mem 5505024 Diff 4718592
Iteration 18     Start Mem 786432 Cicle Mem 5505024 Diff 4718592
Iteration 19     Start Mem 786432 Cicle Mem 5505024 Diff 4718592
Iteration 20     Start Mem 786432 Cicle Mem 5505024 Diff 4718592
Iteration 21     Start Mem 786432 Cicle Mem 5505024 Diff 4718592
Iteration 22     Start Mem 786432 Cicle Mem 5505024 Diff 4718592
Iteration 23     Start Mem 786432 Cicle Mem 5505024 Diff 4718592
Iteration 24     Start Mem 786432 Cicle Mem 5505024 Diff 4718592
Iteration 25     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 26     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 27     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 28     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 29     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 30     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 31     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 32     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 33     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 34     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 35     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 36     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 37     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 38     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 39     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 40     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 41     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 42     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 43     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 44     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 45     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 46     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 47     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 48     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 49     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 50     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 51     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 52     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 53     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 54     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 55     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 56     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 57     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 58     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 59     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 60     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 61     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 62     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 63     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 64     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 65     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 66     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 67     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 68     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 69     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 70     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 71     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 72     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 73     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 74     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 75     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 76     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 77     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 78     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 79     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 80     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 81     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 82     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 83     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 84     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 85     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 86     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 87     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 88     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 89     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 90     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 91     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 92     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 93     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 94     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 95     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 96     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 97     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 98     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Iteration 99     Start Mem 786432 Cicle Mem 5767168 Diff 4980736
Done.

Start Mem 786432 End Mem 5767168 Final Diff 4980736


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



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

Reply via email to