#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

eek, that's formatted pretty badly.. maybe you could add the traceback as an attachment instead?

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
Note: See TracTickets for help on using tickets.