php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #60937 Memory leak on unserialize for nested objects
Submitted: 2012-01-31 12:55 UTC Modified: 2012-02-01 14:56 UTC
Votes:1
Avg. Score:4.0 ± 0.0
Reproduced:1 of 1 (100.0%)
Same Version:0 (0.0%)
Same OS:0 (0.0%)
From: npm at nuestrared dot com Assigned:
Status: Not a bug Package: Performance problem
PHP Version: 5.4SVN-2012-01-31 (snap) OS: Debian Linux
Private report: No CVE-ID: None
 [2012-01-31 12:55 UTC] npm at nuestrared dot com
Description:
------------
Hi, this is a recurring problem in PHP when unserializing large nested objects.  
When unserializing inside a loop the same serialized object, the total memory 
consumption increases every couple of iterations. I am attaching the code to 
replicate it.  Have tested it in the latest 5.4 (snap), it also occurs in 5.3.
Let me know if you need any more details,


Tested on Debian Linux 64 wheezy/sid, however I believe is platform independent.
Couldn't find a bug category for serialize/mem leak related issues.


Test script:
---------------
<?php
$str = base64_decode('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');

for ($i=0; $i<1000; $i++) {
    echo "Iteration $i\t Mem ".memory_get_usage(true)."\n";
    unserialize($str);
}

Expected result:
----------------
The memory consumption should be stable, it increases with iterations.

Actual result:
--------------
Result from script:

Iteration 0	 Mem 262144
Iteration 1	 Mem 524288
Iteration 2	 Mem 524288
Iteration 3	 Mem 524288
Iteration 4	 Mem 524288
Iteration 5	 Mem 524288
Iteration 6	 Mem 524288
Iteration 7	 Mem 786432
Iteration 8	 Mem 786432
Iteration 9	 Mem 786432
Iteration 10	 Mem 786432
Iteration 11	 Mem 786432
Iteration 12	 Mem 786432
Iteration 13	 Mem 786432
Iteration 14	 Mem 1048576
Iteration 15	 Mem 1048576

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2012-02-01 03:21 UTC] laruence@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

defaultly, php gc will run when the buffer root reach 10000, but you can force the 
collection of cycles by calling gc_collect_cycles() function.

see: http://www.php.net/manual/en/features.gc.collecting-cycles.php
 [2012-02-01 03:21 UTC] laruence@php.net
-Status: Open +Status: Not a bug
 [2012-02-01 14:56 UTC] npm at nuestrared dot com
Hi, I have updated the object on the script and force the use of 
gc_collect_cycles() after each iteration.  However, there is an increase of 
4980736 bytes, after 100 runs, it doesn't happen with every object, but it does 
with this particular one. Also the increase is not with every iteration but 
every couple of iterations, until it gets to a maximum, in this case the 4980736 
bytes.  Let me know if to open a different bug.

The updated script at:
http://dl.dropbox.com/u/7170408/unserialize_memleak.php

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
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Dec 21 18:01:29 2024 UTC