[PHP-DEV] Bug #9240 Updated: unserialize fails non-determenistic on large objects From: sniper <email protected>
Date: 06/15/01

ID: 9240
Updated by: sniper
Reported By: brian <email protected>
Old-Status: Open
Status: Feedback
Old-Bug Type: Variables related
Bug Type: Scripting Engine problem
Operating system:
PHP Version: 4.0.4pl1
Assigned To:
Comments:

And that example object is where? The small one?

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

[2001-03-20 07:53:15] brian <email protected>
I have noticed a tendancy for this to occur when the server is particularly short on memory. My impression is that it is failing with a "can't unserialize at" error instead of a memory error.

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

[2001-02-22 10:54:03] stas <email protected>
Could you please send me smallest possible object that has
this behaviour? If it's large, please compress it.

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

[2001-02-13 10:38:17] brian <email protected>
I'm unserializing a large object using the following test script:

for ($i = 0; $i < 20; $i++)
{
        echo "$in";
        $ObjectToCreate = array();
        if (!$fp = fopen('test.ser', 'r'))
                return false;
        $ObjectToCreate = unserialize(fread ($fp, filesize ('test.ser')));
        fclose($fp);
}

I get the following output:

0
1
2
3
4
5
6
PHP Warning: unserialize() failed at offset 2150380 of 3601223 bytes in test.inc on line 8
<font color=ff0000><br>
<b>Warning</b>: unserialize() failed at offset 2150380 of 3601223 bytes in <b>test.inc</b> on line <b>8</b><br>
</font>7
8
9
10
11
PHP Warning: unserialize() failed at offset 2822123 of 3601223 bytes in test.inc on line 8
<font color=ff0000><br>
<b>Warning</b>: unserialize() failed at offset 2822123 of 3601223 bytes in <b>test.inc</b> on line <b>8</b><br>
</font>12
13
14
15
16
17
18
19

Repeatedly running the script produces different output each time with different numbers of failures at different offsets. So far the lowest offset at which I have had a problem is about 650000.

I can supply the 'test.ser' file on request but for obvious reasons do not wish to include it in this error report!

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

ATTENTION! Do NOT reply to this email!
To reply, use the web interface found at http://bugs.php.net/?id=9240&edit=2

-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: php-dev-unsubscribe <email protected>
For additional commands, e-mail: php-dev-help <email protected>
To contact the list administrators, e-mail: php-list-admin <email protected>