Skip to content

spl_object_hash může vrátit stejný string pro 2 objekty když první přestal existovat. #53

@PetrP

Description

@PetrP

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions