maximum recursion depth exceeded in Tahoe2PeerSelector #758
Labels
No Label
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.7.0
0.8.0
0.9.0
1.0.0
1.1.0
1.10.0
1.10.1
1.10.2
1.10a2
1.11.0
1.12.0
1.12.1
1.13.0
1.14.0
1.15.0
1.15.1
1.2.0
1.3.0
1.4.1
1.5.0
1.6.0
1.6.1
1.7.0
1.7.1
1.7β
1.8.0
1.8.1
1.8.2
1.8.3
1.8β
1.9.0
1.9.0-s3branch
1.9.0a1
1.9.0a2
1.9.0b1
1.9.1
1.9.2
1.9.2a1
LeastAuthority.com automation
blocker
cannot reproduce
cloud-branch
code
code-dirnodes
code-encoding
code-frontend
code-frontend-cli
code-frontend-ftp-sftp
code-frontend-magic-folder
code-frontend-web
code-mutable
code-network
code-nodeadmin
code-peerselection
code-storage
contrib
critical
defect
dev-infrastructure
documentation
duplicate
enhancement
fixed
invalid
major
minor
n/a
normal
operational
packaging
somebody else's problem
supercritical
task
trivial
unknown
was already fixed
website
wontfix
worksforme
No Milestone
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Reference: tahoe-lafs/trac-2024-07-25#758
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
I just got this traceback from a node using the volunteergrid:
(And so forth until maximum recursion depth exceeded.)
There are only 15 servers on the volunteergrid right now. The clause that is shown, around [279 of upload.py]source:src/allmydata/immutable/upload.py#L279 is for the case that all servers have been asked to hold a share, and then all servers have been asked to hold a second share, and this clause is to iterate and go on to ask them to hold yet a third-or-greater share.
It appears that this loop never terminated before the recursion depth was exceeded. We have [tests of this case]source:src/allmydata/tahoe/test/test_upload.py@20090625021809-4233b-9cdbf53c54025466fea8ab97bed668cd0017b142#L483, but... Hey waitaminute! That code in upload.py says:
That can't be right. It probably means to say:
Why does that test catch this bug?
But it is too late at night for me to be messing with such stuff.
If someone in a different timezone or a different sleep schedule wants to fix the test to catch this bug while I sleep, that would be great! :-)
maxmimum recursion depth exceeded in Tahoe2PeerSelectorto maximum recursion depth exceeded in Tahoe2PeerSelectorHuh, yeah, that code !!!is!!! odd.. your analysis feel right, but I'm too jetlagged to understand this code right now either. I want to rewrite the uploader anyways, but that's not going to happen for 1.5.
This should be fixed, by changeset:1192b61dfed62a49.