Narazil jsem na to jen v php 5.3.3 v DibiMapper_rollback_Test::testNoTransaction v 5.2 verzi.
(pri spusteni vsech testu temer vzdy; v ostatnich verzich se to asi deje z mensi pravdepodobnosti)
Kdy se spusti rollback protoze transakce byla spustena pro jine DibiConnection ktere uz neexistuje a ma stejny spl_object_hash.
Slo by resit tim ze by se do DibiMapper::$transactions davala reference na DibiConnection aby ho nemazal GC, nebo odstranit klíč v DibiMapper::__destruct z $transactions.
Ani jedna varianta není ideální. Protože v reálných podmínkách k chybě pravděpodobně nikdy nemůže dojít.
Podobným problémem pravděpodobně trpí i spl_object_hash repository containeru, které se provádí na několika místech.
spl_object_hash entity tím nebude trpět do doby než se umožní nějak odstraňovat entity z identity map.