#3510 closed defect (fixed)

foolscap.tokens.Violation: Violation (RILogObserver.foolscap.lothar.com.msg(logmsg=)): ("'u'parent'' is not a bytestring",)

Reported by: exarkun Owned by: itamarst
Priority: normal Milestone: Support Python 3
Component: unknown Version: n/a
Keywords: Cc:
Launchpad Bug:


Attempting tahoe put anything against a master@dc611bf9b (just the revision I happen to have right now) client node fails with this traceback:

2020-11-16T15:30:44-0500 [twisted.internet.defer#critical]
        Traceback (most recent call last):                                                                                                                                                   
          File "/home/exarkun/VirtualEnvs/tahoe-lafs/lib/python2.7/site-packages/twisted/internet/base.py", line 913, in runUntilCurrent                                                     
            call.func(*call.args, **call.kw)
          File "/home/exarkun/VirtualEnvs/tahoe-lafs/lib/python2.7/site-packages/foolscap/eventual.py", line 26, in _turn                                                                    
            cb(*args, **kwargs)
          File "/home/exarkun/VirtualEnvs/tahoe-lafs/lib/python2.7/site-packages/foolscap/logging/publish.py", line 42, in subscribe                                                         
            self.observer.callRemoteOnly("msg", e)                                                                                                                                           
          File "/home/exarkun/VirtualEnvs/tahoe-lafs/lib/python2.7/site-packages/foolscap/referenceable.py", line 422, in callRemoteOnly                                                     
            *args, **kwargs)
        --- <exception caught here> ---                                                                                                                                                      
          File "/home/exarkun/VirtualEnvs/tahoe-lafs/lib/python2.7/site-packages/twisted/internet/defer.py", line 151, in maybeDeferred                                                      
            result = f(*args, **kw)
          File "/home/exarkun/VirtualEnvs/tahoe-lafs/lib/python2.7/site-packages/foolscap/referenceable.py", line 482, in _callRemote                                                        
            methodSchema.checkAllArgs(args, kwargs, False)
          File "/home/exarkun/VirtualEnvs/tahoe-lafs/lib/python2.7/site-packages/foolscap/remoteinterface.py", line 284, in checkAllArgs                                                     
            constraint.checkObject(argvalue, inbound)
          File "/home/exarkun/VirtualEnvs/tahoe-lafs/lib/python2.7/site-packages/foolscap/slicers/dict.py", line 146, in checkObject
            self.keyConstraint.checkObject(key, inbound)
          File "/home/exarkun/VirtualEnvs/tahoe-lafs/lib/python2.7/site-packages/foolscap/constraint.py", line 220, in checkObject
            raise Violation("'%r' is not a bytestring" % (obj,))
        foolscap.tokens.Violation: Violation (RILogObserver.foolscap.lothar.com.msg(logmsg=)): ("'u'parent'' is not a bytestring",)

I guess some porting switched some logging strings from bytes to unicode where that's not allowed.

Change History (5)

comment:1 Changed at 2020-11-17T17:44:55Z by itamarst

This might actually be something to do with Future's newbytes, that error is of the encoded object.

comment:2 Changed at 2020-11-17T17:45:58Z by itamarst

Hm, no, that's clearly unicode.

comment:3 Changed at 2020-11-17T18:19:46Z by itamarst

  • Keywords review added

comment:4 Changed at 2020-11-19T17:04:09Z by exarkun

  • Keywords review removed

comment:5 Changed at 2020-11-19T18:42:21Z by GitHub <noreply@…>

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

In cf74d92/trunk:

Merge pull request #899 from tahoe-lafs/3509-unicode-version-breakage

Fix unicode version breakage.

Fixes ticket:3509
Fixes ticket:3510

Note: See TracTickets for help on using tickets.