Opened at 2023-11-29T23:30:16Z
Last modified at 2024-11-26T18:07:10Z
#4078 new defect
intermittant failures / race-condition on immutable.download.fetcher
| Reported by: | meejah | Owned by: | |
|---|---|---|---|
| Priority: | normal | Milestone: | undecided |
| Component: | code-storage | Version: | n/a |
| Keywords: | Cc: | ||
| Launchpad Bug: |
Description
While trying to prepare 1.19.0, some builder exhibited an intermittent failure relating to the _shares member of SegmentFetcher not being available.
This can only happen due to some code that *claims* to be "helping the GC" and appears to be a race condition.
Investigate.
Change History (3)
comment:1 Changed at 2024-01-08T15:21:33Z by itamarst
comment:2 Changed at 2024-01-08T15:22:18Z by itamarst
I can reproduce fairly consistently with trial -u allmydata.test.test_system.HTTPSystemTest.test_upload_and_download_convergent using the branch in https://github.com/tahoe-lafs/tahoe-lafs/pull/1354
comment:3 Changed at 2024-11-26T18:07:10Z by blaisep
Some team discussion of this today:
https://hackmd.io/DzedQERvRLWaaaeo-gtDhA?stext=1750%3A22%3A1%3A1732644410%3AAnnC6c&edit=

This was supposed to be fixed by https://github.com/tahoe-lafs/tahoe-lafs/pull/1348 but it's still happening:
[ERROR] Traceback (most recent call last): File "/home/itamarst/devel/tahoe-lafs/venv311/lib/python3.11/site-packages/foolscap/eventual.py", line 26, in _turn cb(*args, **kwargs) File "/home/itamarst/devel/tahoe-lafs/src/allmydata/immutable/downloader/node.py", line 259, in got_shares self._active_segment.add_shares(shares) File "/home/itamarst/devel/tahoe-lafs/src/allmydata/immutable/downloader/fetcher.py", line 82, in add_shares self._shares.extend(shares) builtins.AttributeError: 'SegmentFetcher' object has no attribute '_shares' allmydata.test.test_system.HTTPSystemTest.test_upload_and_download_convergent