[tahoe-lafs-trac-stream] [Tahoe-LAFS] #3368: (apparently) get_version called via Foolscap now fails with a Violation

Tahoe-LAFS trac at tahoe-lafs.org
Tue Aug 4 19:23:27 UTC 2020


#3368: (apparently) get_version called via Foolscap now fails with a Violation
---------------------+----------------------------------
 Reporter:  exarkun  |          Owner:
     Type:  defect   |         Status:  new
 Priority:  normal   |      Milestone:  Support Python 3
Component:  code     |        Version:  n/a
 Keywords:           |  Launchpad Bug:
---------------------+----------------------------------
 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.

--
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3368>
Tahoe-LAFS <https://Tahoe-LAFS.org>
secure decentralized storage


More information about the tahoe-lafs-trac-stream mailing list