Ticket #207 (closed defect: fixed)

Opened 5 weeks ago

Last modified 4 weeks ago

VersionMapping._cache isn't concurrent access safe

Reported by: ferringb Owned by:
Priority: normal Milestone: 0.4.7.6
Component: pkgcore Version: 0.4.7.4
Keywords: Cc:

Description (last modified by ferringb) (diff)

_cache is a dictionary, blows up via due to dict modification while itering: fex,

>>> from pkgcore.config import load_config
>>> from pkgcore.ebuild.atom import atom
>>> repo = load_config().repo
>>> iall = iter(repo)
>>> repo.match(atom("dev-util/diffball"))
>>> iall.next()
>>> repo.match(atom("sys-apps/pkgcore"))
>>> list(iall) # boom.

Change History

Changed 5 weeks ago by ferringb

  • description modified (diff)
  • milestone set to 0.4.7.5

Changed 5 weeks ago by ferringb

  • description modified (diff)

Changed 5 weeks ago by ferringb

  • description modified (diff)

Changed 4 weeks ago by ferringb

  • status changed from new to closed
  • resolution set to fixed
  • milestone changed from 0.4.7.5 to 0.4.7.6

add tests, and fixed @ rev 3524 of my branch.

Note: See TracTickets for help on using tickets.