#1188 closed defect (invalid)

flog exception with pycrypto 2.3

Reported by: bj0 Owned by: warner
Priority: major Milestone: undecided
Component: code Version: 1.8β
Keywords: sftp pycrypto error logging foolscap Cc:
Launchpad Bug:

Description

I'm using the darcs branch, and I setup an introducer/storage client on a VM with an sftp interface. I removed pycrypto from the VM so that tahoe downloads the latest (pycrypto 2.3) during build.

connecting from the Host machine via sshfs produces the output below in the flog.

this isn't really a critical bug, because it seems the sshfs interface to tahoe continues to work normally regardless of the error, and read/write operations I've tried all work fine (md5 hashes even verify). It's only a problem if you're using the flog, because once this exception occurs, the flog stops producing output until you reconnect flogtool.

also, this only appears to happen when I first start tahoe. If i reconnect the flogtool, then disconnect and reconnect sshfs, I don't see the error.


Application versions (embedded in logfile):
          Nevow: 0.10.0
        Twisted: 10.1.0
allmydata-tahoe: 1.8.0c2-r4702
       argparse: 1.1
       foolscap: 0.5.1
       platform: Linux-Ubuntu_10.04-i686-32bit_ELF
      pyOpenSSL: 0.10
         pyasn1: 0.0.11a
       pycrypto: 2.3
     pycryptopp: 0.5.19
       pysqlite: 2.4.1
         python: 2.6.5
         pyutil: 1.7.10
     setuptools: 0.6c16dev
     simplejson: 2.0.9
         sqlite: 3.6.22
        twisted: 10.1.0
        zbase32: 1.1.2
           zfec: 1.4.7
 zope.interface: 3.5.3
PID: 13223

4wuin3ng#202 15:13:12.236: kex alg, key alg: diffie-hellman-group-exchange-sha1 ssh-rsa
4wuin3ng#203 15:13:12.236: outgoing: aes128-ctr hmac-md5 none
4wuin3ng#204 15:13:12.236: incoming: aes128-ctr hmac-md5 none
4wuin3ng#206 15:13:12.915: an outbound callRemote (that we [4wui] sent to someone else [pmy3]) failed on the far end
4wuin3ng#207 15:13:12.915:  reqID=4, rref=<RemoteReference at 0xafed82c>, methname=RILogObserver.foolscap.lothar.com.msg
4wuin3ng#208 15:13:12.915:  the REMOTE failure was:
 FAILURE:
 [CopiedFailure instance: Traceback from remote host -- Traceback (most recent call last):
   File "/usr/lib/pymodules/python2.6/foolscap/slicers/root.py", line 107, in send
     d.callback(None)
   File "/home/bjp/tahoe/tahoe-lafs/support/lib/python2.6/site-packages/Twisted-10.1.0-py2.6-linux-i686.egg/twisted/internet/defer.py", line 318, in callback
     self._startRunCallbacks(result)
   File "/home/bjp/tahoe/tahoe-lafs/support/lib/python2.6/site-packages/Twisted-10.1.0-py2.6-linux-i686.egg/twisted/internet/defer.py", line 424, in _startRunCallbacks
     self._runCallbacks()
   File "/home/bjp/tahoe/tahoe-lafs/support/lib/python2.6/site-packages/Twisted-10.1.0-py2.6-linux-i686.egg/twisted/internet/defer.py", line 441, in _runCallbacks
     self.result = callback(self.result, *args, **kw)
 --- <exception caught here> ---
   File "/usr/lib/pymodules/python2.6/foolscap/banana.py", line 215, in produce
     slicer = self.newSlicerFor(obj)
   File "/usr/lib/pymodules/python2.6/foolscap/banana.py", line 314, in newSlicerFor
     return topSlicer.slicerForObject(obj)
   File "/usr/lib/pymodules/python2.6/foolscap/slicer.py", line 48, in slicerForObject
     return self.parent.slicerForObject(obj)
   File "/usr/lib/pymodules/python2.6/foolscap/slicer.py", line 126, in slicerForObject
     return self.parent.slicerForObject(obj)
   File "/usr/lib/pymodules/python2.6/foolscap/slicer.py", line 126, in slicerForObject
     return self.parent.slicerForObject(obj)
   File "/usr/lib/pymodules/python2.6/foolscap/slicers/root.py", line 66, in slicerForObject
     raise Violation("cannot serialize %s (%s)" % (obj, name))
 foolscap.tokens.Violation: Violation (<RootSlicer>.<call-4-1-msg>.<arg[0]>.??): ("cannot serialize Crypto.Util.number.getRandomNumber has confusing semantics and has been deprecated.  Use getRandomInteger or getRandomNBitInteger instead. (<class 'Crypto.pct_warnings.GetRandomNumber_DeprecationWarning'>)",)
 ]


Change History (6)

comment:1 Changed at 2010-09-10T21:38:36Z by zooko

bj0 reported this on the foolscap trac: http://foolscap.lothar.com/trac/ticket/160

Let's leave this ticket open to determine if Tahoe-LAFS ought to do anything like raise the version requirement on foolscap or institute a work-around. I suspect not, but I'd like Brian to double-check that nothing particularly bad can happen to Tahoe-LAFS due to this issue.

comment:2 Changed at 2010-09-10T21:38:48Z by zooko

  • Owner changed from nobody to warner

comment:3 follow-up: Changed at 2010-11-30T15:16:28Z by zooko

What's the status of this ticket? Did we add a deprecation warning suppressor? I see that PyCrypto 2.3 is an acceptable version according to src/allmydata/_auto_deps.py, so why are people no longer complaining about this problem?

comment:4 in reply to: ↑ 3 Changed at 2011-05-21T00:01:36Z by davidsarah

  • Component changed from unknown to code
  • Keywords sftp pycrypto error logging added

Replying to zooko:

I see that PyCrypto 2.3 is an acceptable version according to src/allmydata/_auto_deps.py, so why are people no longer complaining about this problem?

Maybe few people use both foolscap logging and SFTP?

comment:5 Changed at 2011-05-21T00:02:14Z by davidsarah

  • Keywords foolscap added

comment:6 Changed at 2011-12-20T18:42:26Z by zooko

  • Resolution set to invalid
  • Status changed from new to closed

I think we should close this as not our problem (foolscap & PyCrypto's problem).

Note: See TracTickets for help on using tickets.