#116: intermittent failure of t/pmc/freeze_25.pir
----------------------+-----------------------------------------------------
Reporter: Infinoid | Owner:
Type: bug | Status: closed
Priority: normal | Milestone:
Component: none | Version:
Severity: medium | Resolution: fixed
Keywords: | Lang:
Patch: | Platform:
----------------------+-----------------------------------------------------
Changes (by cotto):
* status: new => closed
* resolution: => fixed
Comment:
The problem was that freeze/thaw (and clone) of a Hash resulted in a
different internal ordering of the entries if sequential keys weren't
stored in sequential buckets (i.e. they wrapped). r35109 fixes this by
changing freeze and clone to copy elements by iterating through hash->bs.
This means that the in-memory position of entries should always be
identical in cloned or frozen/thawed Hashes.
The reason for the test failures was that the different internal ordering
was messing up Class attribute lookups. I didn't bother finding out
exactly why this happened. It may be worth looking into.
I added a couple new tests to t/pmc/hash.t to make sure internal order
stays consistent across freeze/thaw and clone.
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/116#comment:9>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets