Opened 14 years ago

Last modified 12 years ago

#160 new defect

foolscap cannot serialize DeprecationWarning during logging?

Reported by: bj0 Owned by: Brian Warner
Priority: major Milestone: undecided
Component: unknown Version: 0.5.1
Keywords: Cc:

Description

I see this bug while using tahoe-lafs: from: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1188

I'm using the darcs branch (of tahoe), 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 (3)

comment:1 Changed 13 years ago by Zooko

Shall we close this as wont-fix because it has to do with a deprecation warning emitting from PyCrypto? ?

comment:2 Changed 12 years ago by Zooko

Owner: set to Brian Warner

Brian: did you add suppressions for this DeprecationWarning from PyCrypto?

comment:3 Changed 12 years ago by Zooko

I closed the corresponding ticket https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1188 as "Not our problem -- foolscap & PyCrypto's problem".

Note: See TracTickets for help on using tickets.