From: Operating system: Linux PHP version: 5.4.0 Package: SPL related Bug Type: Bug Bug description:SplObjectStorage does not identify objects correctly
Description: ------------ When I have a large collection of objects stored in a SplObjectStorage it starts to behave strange. It says that an object already exists in the storage and returns the stored data for another object. Test script: --------------- $limit = 1000; $objects = new SplObjectStorage; for($i = 0; $i < $limit; $i++){ $object = new StdClass; if(isset($objects[$object])){ die("this should never happen, but did after $i iteration"); } $objects[$object] = 1; } echo "\nfinished\n"; Expected result: ---------------- The script should never enter the if condition and die, because the object has not been added to the object storage yet Actual result: -------------- The scripts dies because of it finding an object in the storage that should not have been there. This happens at random iteration, i'm guessing based on memory usage or something. -- Edit bug report at https://bugs.php.net/bug.php?id=61453&edit=1 -- Try a snapshot (PHP 5.4): https://bugs.php.net/fix.php?id=61453&r=trysnapshot54 Try a snapshot (PHP 5.3): https://bugs.php.net/fix.php?id=61453&r=trysnapshot53 Try a snapshot (trunk): https://bugs.php.net/fix.php?id=61453&r=trysnapshottrunk Fixed in SVN: https://bugs.php.net/fix.php?id=61453&r=fixed Fixed in SVN and need be documented: https://bugs.php.net/fix.php?id=61453&r=needdocs Fixed in release: https://bugs.php.net/fix.php?id=61453&r=alreadyfixed Need backtrace: https://bugs.php.net/fix.php?id=61453&r=needtrace Need Reproduce Script: https://bugs.php.net/fix.php?id=61453&r=needscript Try newer version: https://bugs.php.net/fix.php?id=61453&r=oldversion Not developer issue: https://bugs.php.net/fix.php?id=61453&r=support Expected behavior: https://bugs.php.net/fix.php?id=61453&r=notwrong Not enough info: https://bugs.php.net/fix.php?id=61453&r=notenoughinfo Submitted twice: https://bugs.php.net/fix.php?id=61453&r=submittedtwice register_globals: https://bugs.php.net/fix.php?id=61453&r=globals PHP 4 support discontinued: https://bugs.php.net/fix.php?id=61453&r=php4 Daylight Savings: https://bugs.php.net/fix.php?id=61453&r=dst IIS Stability: https://bugs.php.net/fix.php?id=61453&r=isapi Install GNU Sed: https://bugs.php.net/fix.php?id=61453&r=gnused Floating point limitations: https://bugs.php.net/fix.php?id=61453&r=float No Zend Extensions: https://bugs.php.net/fix.php?id=61453&r=nozend MySQL Configuration Error: https://bugs.php.net/fix.php?id=61453&r=mysqlcfg