Opened at 2020-08-04T19:23:27Z
Closed at 2020-08-06T21:02:07Z
#3368 closed defect (fixed)
(apparently) get_version called via Foolscap now fails with a Violation
Reported by: | exarkun | Owned by: | GitHub <noreply@…> |
---|---|---|---|
Priority: | normal | Milestone: | Support Python 3 |
Component: | code | Version: | n/a |
Keywords: | Cc: | ||
Launchpad Bug: |
Description
If I create a client node and point it at an introducer node and then I create a storage node and point it at the same introducer node, the storage node logs this to stdout:
2020-08-04T15:05:05-0400 [twisted.internet.defer#critical] Unhandled error in Deferred: 2020-08-04T15:05:05-0400 [twisted.internet.defer#critical] Traceback (most recent call last): File "/home/exarkun/VirtualEnvs/tahoe-lafs/lib/python2.7/site-packages/foolscap/slicers/root.py", line 107, in send d.callback(None) File "/home/exarkun/VirtualEnvs/tahoe-lafs/lib/python2.7/site-packages/twisted/internet/defer.py", line 460, in callback self._startRunCallbacks(result) File "/home/exarkun/VirtualEnvs/tahoe-lafs/lib/python2.7/site-packages/twisted/internet/defer.py", line 568, in _startRunCallbacks self._runCallbacks() File "/home/exarkun/VirtualEnvs/tahoe-lafs/lib/python2.7/site-packages/twisted/internet/defer.py", line 654, in _runCallbacks current.result = callback(current.result, *args, **kw) --- <exception caught here> --- File "/home/exarkun/VirtualEnvs/tahoe-lafs/lib/python2.7/site-packages/foolscap/banana.py", line 215, in produce slicer = self.newSlicerFor(obj) File "/home/exarkun/VirtualEnvs/tahoe-lafs/lib/python2.7/site-packages/foolscap/banana.py", line 314, in newSlicerFor return topSlicer.slicerForObject(obj) File "/home/exarkun/VirtualEnvs/tahoe-lafs/lib/python2.7/site-packages/foolscap/slicer.py", line 48, in slicerForObject return self.parent.slicerForObject(obj) File "/home/exarkun/VirtualEnvs/tahoe-lafs/lib/python2.7/site-packages/foolscap/slicer.py", line 48, in slicerForObject return self.parent.slicerForObject(obj) File "/home/exarkun/VirtualEnvs/tahoe-lafs/lib/python2.7/site-packages/foolscap/slicer.py", line 126, in slicerForObject return self.parent.slicerForObject(obj) File "/home/exarkun/VirtualEnvs/tahoe-lafs/lib/python2.7/site-packages/foolscap/slicers/root.py", line 66, in slicerForObject raise Violation("cannot serialize %s (%s)" % (obj, name)) foolscap.tokens.Violation: Violation (<RootSlicer>.<answer-2-to-get_version>.??.??): ("cannot serialize 208234104320 (<class 'future.types.newint.newint'>)",)
208234104320 is somewhat close to the amount of available space on my local disk so perhaps it is the value for available-space in the get_version response.
Also, in the flog:
15:05:05.754 L23 []#96 an outbound callRemote (that we [yn5r] sent to someone else [iyyl]) failed on the far end 15:05:05.754 L10 []#97 reqID=2, rref=<RemoteReference at 0x7fdd4a603d50 [pb://iyylzcj72xlihtzgte2wc6kwe7ly5dyy@tcp:127.1:42961/cgakoaryq3lhkzvv3wmwpi64i4aokv4e]>, methname=RIStorageServer.t ahoe.allmydata.com.get_version 15:05:05.754 L10 []#98 the REMOTE failure was: FAILURE: [CopiedFailure instance: Traceback from remote host -- Traceback (most recent call last): File "/home/exarkun/VirtualEnvs/tahoe-lafs/lib/python2.7/site-packages/twisted/protocols/tls.py", line 295, in _flushReceiveBIO ProtocolWrapper.dataReceived(self, bytes) File "/home/exarkun/VirtualEnvs/tahoe-lafs/lib/python2.7/site-packages/twisted/protocols/policies.py", line 120, in dataReceived self.wrappedProtocol.dataReceived(data) File "/home/exarkun/VirtualEnvs/tahoe-lafs/lib/python2.7/site-packages/twisted/internet/endpoints.py", line 132, in dataReceived return self._wrappedProtocol.dataReceived(data) File "/home/exarkun/VirtualEnvs/tahoe-lafs/lib/python2.7/site-packages/foolscap/banana.py", line 639, in dataReceived self.handleData(chunk) --- <exception caught here> --- File "/home/exarkun/VirtualEnvs/tahoe-lafs/lib/python2.7/site-packages/foolscap/banana.py", line 892, in handleData raise Violation("ABORT received") foolscap.tokens.Violation: Violation (<RootUnslicer>.Answer(req=2).{}[http://allmydata.org/tahoe/protocols/storage/v1].{}[available-space]): ('ABORT received',) ]
which seems to support available-space as the issue.
Change History (4)
comment:1 Changed at 2020-08-04T19:48:33Z by exarkun
comment:2 Changed at 2020-08-05T15:55:00Z by itamarst
- Keywords review added
comment:3 Changed at 2020-08-06T14:10:17Z by exarkun
- Keywords review removed
comment:4 Changed at 2020-08-06T21:02:07Z by GitHub <noreply@…>
- Owner set to GitHub <noreply@…>
- Resolution set to fixed
- Status changed from new to closed
In 596cf09/trunk:
Note: See
TracTickets for help on using
tickets.
newint creeps in when parse_abbreviated_size is used to get an integer value from the configuration string.
Maybe parse_abbreviated_size shouldn't let newint escape, it should smash the value down to an int?