exception from binascii.unhexlify when handling announcements on Python 2.4.1 #710
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
3 Participants
Notifications
Due Date
No due date set.
Reference: tahoe-lafs/trac-2024-07-25#710
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
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?
When I start up a node on Python 2.4, if I insert some additional logging, then I can see this unhandled exception happening partway through processing the initial announcements list:
A related issue may be that this sort of exception isn't being reported at all, as far as I can tell. It manifest as a mysterious shortness in the known peers list on the welcome page. To discover the problem, I had to edit the code to insert a try/except/log.err call.
Thank you for the bug report! I appreciate that you debugged Tahoe yourself in order to figure out more precisely what is going wrong.
Is this Python 2.4.0 or 2.4.1? There was a known bug in the base64.py of those releases which (I think) could cause this behavior. Please try with Python 2.4.2 or higher (<3).
If that turns out to be the issue, then don't close this ticket -- Tahoe needs to do something, or two somethings, to make this kind of thing not happen again. The first something is make it really clear that Python 2.4.0 and 2.4.1 won't work, perhaps by testing for this bug in base64.py at start-up and quitting with a useful error message. The second something is make sure exceptions aren't mysteriously disappearing. Perhaps they are going into the
logs/incidents
directory and the documentation doesn't make it clear enough that you should look there?I just added a test case that ought to exercise the base64.b32decode behavior we need (in changeset:9f0bc04d32248d66). It ought to fail on py2.4.0 and 2.4.1, and pass on py2.4.2 .
exception from binascii.unhexlify when handling announcements on Python 2.4to exception from binascii.unhexlify when handling announcements on Python 2.4.1For reference, here is the known bug and its upstream patch: http://bugs.python.org/issue1171487
Okay, so changeset:8df5fc8d81f69c2a, changeset:18be10ceebd0d8c3, changeset:a664c1699fd5c496 make it so that Tahoe detects this bug on startup and reports it clearly. Now what about the Mystery of the Disappearing Exception?
This ticket is fixed -- the part about the bug in
binascii.unhexlify
. The part about an exception at startup not getting logged property is potentially a serious issue but isn't this ticket. Perhaps it is part of #529? See also #807 which has a similar issue. Perhaps we need a new ticket for this issue: Report All Exceptions. #1021