intermittant failures / race-condition on immutable.download.fetcher #4078

Open
opened 2023-11-29 23:30:16 +00:00 by meejah · 2 comments
Owner

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.

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.
meejah added the
code-storage
normal
defect
n/a
labels 2023-11-29 23:30:16 +00:00
meejah added this to the undecided milestone 2023-11-29 23:30:16 +00:00

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
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 ```

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

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>
Sign in to join this conversation.
No Milestone
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Reference: tahoe-lafs/trac-2024-07-25#4078
No description provided.