Opened at 2007-08-09T16:14:09Z
Closed at 2007-10-02T06:13:24Z
#95 closed defect (fixed)
Clicking "To view the global shared filestore, Click Here!" in client attached to Test Grid raises AssertionError
Reported by: | arch_o_median | Owned by: | arch_o_median |
---|---|---|---|
Priority: | major | Milestone: | 0.6.1 |
Component: | code-frontend-web | Version: | 0.6.0 |
Keywords: | Cc: | ||
Launchpad Bug: |
Description
Exception Stack Trace Follows:
<type 'exceptions.AssertionError'>: precondition: 'cs is required to be possibly base32 encoded data.' <type 'str'>, cs: '3xqllg4vvfvxh5grbvawic67va======' <type 'str'> /usr/lib/python2.5/site-packages/twisted/internet/defer.py, line 107 in maybeDeferred 105 106 try: 107 result = f(*args, **kw) 108 except: Locals args (PageContext(tag=<allmydata.webish.Root object at 0x891204c>), ('vdrive', 'global')) kw {} f <bound method Root.locateChild of <allmydata.webish.Root object at 0x891204c>> /usr/lib/python2.5/site-packages/allmydata/webish.py, line 863 in locateChild 861 return rend.NotFound 862 if segments[1] == "global": 863 d = vdrive.get_public_root() 864 name = "public vdrive" Locals vdrive <allmydata.vdrive.VirtualDrive instance at 0x891216c> segments ('vdrive', 'global') Globals rend <module 'nevow.rend' from '/var/lib/python-support/python2.5/nevow/rend.pyc'> /usr/lib/python2.5/site-packages/allmydata/vdrive.py, line 105 in get_public_root 103 if not self._global_uri: 104 return defer.fail(NoGlobalVirtualDriveError()) 105 return self.get_node(self._global_uri) 106 Locals self <allmydata.vdrive.VirtualDrive instance at 0x891216c> Globals defer <module 'twisted.internet.defer' from '/usr/lib/python2.5/site-packages/twisted/internet/defer.pyc'> NoGlobalVirtualDriveError <class 'allmydata.vdrive.NoGlobalVirtualDriveError'> /usr/lib/python2.5/site-packages/allmydata/vdrive.py, line 115 in get_node 113 114 def get_node(self, node_uri): 115 node_uri = IURI(node_uri) 116 if IDirnodeURI.providedBy(node_uri): Locals self <allmydata.vdrive.VirtualDrive instance at 0x891216c> node_uri 'URI:DIR:pb://xextf3eap44o3wi27mf7ehiur6wvhzr6@207.7.153.180:56677,127.0.0.1:56677/vdrive:3xqllg4vvfvxh5grbvawic67va======' Globals IDirnodeURI <InterfaceClass allmydata.interfaces.IDirnodeURI> IURI <InterfaceClass allmydata.interfaces.IURI> /usr/lib/python2.5/site-packages/twisted/python/components.py, line 113 in _hook 111 return None 112 else: 113 return factory(ob) 114 interface.adapter_hooks.append(_hook) Locals factory <function from_string at 0x8596c6c> ob 'URI:DIR:pb://xextf3eap44o3wi27mf7ehiur6wvhzr6@207.7.153.180:56677,127.0.0.1:56677/vdrive:3xqllg4vvfvxh5grbvawic67va======' Globals interface <module 'zope.interface.interface' from '/usr/lib/python2.5/site-packages/zope/interface/interface.pyc'> _hook <function _hook at 0x82891ec> /usr/lib/python2.5/site-packages/allmydata/uri.py, line 201 in from_string 199 return LiteralFileURI().init_from_string(s) 200 elif s.startswith("URI:DIR:"): 201 return DirnodeURI().init_from_string(s) 202 elif s.startswith("URI:DIR-RO:"): Locals s 'URI:DIR:pb://xextf3eap44o3wi27mf7ehiur6wvhzr6@207.7.153.180:56677,127.0.0.1:56677/vdrive:3xqllg4vvfvxh5grbvawic67va======' Globals LiteralFileURI <class allmydata.uri.LiteralFileURI at 0x859786c> DirnodeURI <class allmydata.uri.DirnodeURI at 0x85978cc> /usr/lib/python2.5/site-packages/allmydata/uri.py, line 134 in init_from_string 132 colon = uri.rindex(":") 133 self.furl = uri[:colon] 134 self.writekey = idlib.a2b(uri[colon+1:]) 135 self._derive_values() Locals colon 80 uri 'pb://xextf3eap44o3wi27mf7ehiur6wvhzr6@207.7.153.180:56677,127.0.0.1:56677/vdrive:3xqllg4vvfvxh5grbvawic67va======' self <allmydata.uri.DirnodeURI instance at 0x8c7436c> Globals idlib <module 'allmydata.util.idlib' from '/usr/lib/python2.5/site-packages/allmydata/util/idlib.pyc'> /usr/lib/python2.5/site-packages/allmydata/util/idlib.py, line 190 in a2b 188 @param cs the base-32 encoded data (a string) 189 """ 190 precondition(could_be_base32_encoded(cs), "cs is required to be possibly base32 encoded data.", cs=cs) 191 Locals cs '3xqllg4vvfvxh5grbvawic67va======' Globals precondition <function precondition at 0x84f58ec> string <module 'string' from '/usr/lib/python2.5/string.pyc'> could_be_base32_encoded <function could_be_base32_encoded at 0x8552cdc> /usr/lib/python2.5/site-packages/allmydata/util/assertutil.py, line 59 in precondition 57 raise 58 59 raise AssertionError, "".join(msgbuf) 60 Locals msgbuf ['precondition', ': ', "'cs is required to be possibly base32 encoded data.' <type 'str'>", ", cs: '3xqllg4vvfvxh5grbvawic67va======' <type 'str'>"] <type 'exceptions.AssertionError'>: precondition: 'cs is required to be possibly base32 encoded data.' <type 'str'>, cs: '3xqllg4vvfvxh5grbvawic67va======' <type 'str'>
Change History (5)
comment:1 Changed at 2007-08-11T01:46:21Z by warner
comment:2 Changed at 2007-08-11T01:53:21Z by warner
- Owner changed from zooko to arch_o_median
Is it possible that you have a node that was initialized before the switch-to-zbase32 change that occurred on july-24, but is now running with new code?
The dirnode URI format changed (and testnet was flushed), so you need to at least remove the global_root.uri and my_vdrive.uri files from it. You may want to delete the whole node and create a brand new one.
If you make a new node and look at those files, check to see if the URIs look different between your old one and the new one. The old ones would have lots of trailing === marks, the new ones should have no equal marks.
If we can confirm that this is the problem, could you close this ticket?
thanks,
-Brian
comment:3 Changed at 2007-08-14T18:55:05Z by warner
- Component changed from code to code-frontend-web
comment:4 Changed at 2007-09-25T04:23:50Z by zooko
- Milestone changed from undecided to 0.6.1
- Version changed from 0.4.0 to 0.6.0
Also dbcabc114234cfe5 made it so that this kind of incompatibility will be handled nicely explicitly from now on. arch: please close this ticket if you agree that the issue is fixed.
comment:5 Changed at 2007-10-02T06:13:24Z by arch_o_median
- Resolution set to fixed
- Status changed from new to closed
eek, that's formatted pretty badly.. maybe you could add the traceback as an attachment instead?