#1668 closed defect (cannot reproduce)

possible 1.8.3 / 1.9.1 intertalk issue

Reported by: vikarti Owned by: vikarti
Priority: major Milestone: undecided
Component: packaging Version: 1.9.1
Keywords: Cc:
Launchpad Bug:

Description (last modified by zooko)

I have system which was running 1.8.3+I2P patches(from Killyourtv.i2p) later it was updated to 1.9.1 CentOS 5 I also have this from deep-check on

ERROR: ValueError(need more than 8 values to unpack)
"[Failure instance: Traceback: <type 'exceptions.ValueError'>: need more than 8 values to unpack"
/root/tahoe/allmydata-tahoe-1.8.3/Twisted-10.2.0-py2.6-linux-i686.egg/twisted/internet/base.py:789:runUntilCurrent
/root/tahoe/allmydata-tahoe-1.8.3/support/lib/python2.6/site-packages/foolscap-0.6.2-py2.6.egg/foolscap/eventual.py:26:_turn
/root/tahoe/allmydata-tahoe-1.8.3/Twisted-10.2.0-py2.6-linux-i686.egg/twisted/internet/defer.py:361:callback
/root/tahoe/allmydata-tahoe-1.8.3/Twisted-10.2.0-py2.6-linux-i686.egg/twisted/internet/defer.py:455:_startRunCallbacks
--- <exception caught here> ---
/root/tahoe/allmydata-tahoe-1.8.3/Twisted-10.2.0-py2.6-linux-i686.egg/twisted/internet/defer.py:542:_runCallbacks
/root/tahoe-new/allmydata-tahoe-1.9.1/src/allmydata/mutable/checker.py:269:_repair_finished
/root/tahoe-new/allmydata-tahoe-1.9.1/src/allmydata/mutable/checker.py:130:_fill_checker_results
/root/tahoe-new/allmydata-tahoe-1.9.1/src/allmydata/mutable/servermap.py:258:recoverable_versions

and

"ERROR: AttributeError('NoneType' object has no attribute 'callRemote')"
"[Failure instance: Traceback: <type 'exceptions.AttributeError'>: 'NoneType' object has no attribute 'callRemote'"
/root/tahoe/allmydata-tahoe-1.8.3/support/lib/python2.6/site-packages/foolscap-0.6.2-py2.6.egg/foolscap/call.py:674:_done
/root/tahoe/allmydata-tahoe-1.8.3/support/lib/python2.6/site-packages/foolscap-0.6.2-py2.6.egg/foolscap/call.py:60:complete
/root/tahoe/allmydata-tahoe-1.8.3/Twisted-10.2.0-py2.6-linux-i686.egg/twisted/internet/defer.py:361:callback
/root/tahoe/allmydata-tahoe-1.8.3/Twisted-10.2.0-py2.6-linux-i686.egg/twisted/internet/defer.py:455:_startRunCallbacks
--- <exception caught here> ---
/root/tahoe/allmydata-tahoe-1.8.3/Twisted-10.2.0-py2.6-linux-i686.egg/twisted/internet/defer.py:542:_runCallbacks
/root/tahoe-new/allmydata-tahoe-1.9.1/src/allmydata/immutable/upload.py:553:_got_response
/root/tahoe-new/allmydata-tahoe-1.9.1/src/allmydata/immutable/upload.py:420:_loop
/root/tahoe-new/allmydata-tahoe-1.9.1/src/allmydata/immutable/upload.py:105:query
ERROR: ValueError(need more than 8 values to unpack)
"[Failure instance: Traceback: <type 'exceptions.ValueError'>: need more than 8 values to unpack"
/root/tahoe/allmydata-tahoe-1.8.3/Twisted-10.2.0-py2.6-linux-i686.egg/twisted/internet/base.py:789:runUntilCurrent
/root/tahoe/allmydata-tahoe-1.8.3/support/lib/python2.6/site-packages/foolscap-0.6.2-py2.6.egg/foolscap/eventual.py:26:_turn
/root/tahoe/allmydata-tahoe-1.8.3/Twisted-10.2.0-py2.6-linux-i686.egg/twisted/internet/defer.py:361:callback
/root/tahoe/allmydata-tahoe-1.8.3/Twisted-10.2.0-py2.6-linux-i686.egg/twisted/internet/defer.py:455:_startRunCallbacks
--- <exception caught here> ---
/root/tahoe/allmydata-tahoe-1.8.3/Twisted-10.2.0-py2.6-linux-i686.egg/twisted/internet/defer.py:542:_runCallbacks
/root/tahoe-new/allmydata-tahoe-1.9.1/src/allmydata/mutable/checker.py:269:_repair_finished
/root/tahoe-new/allmydata-tahoe-1.9.1/src/allmydata/mutable/checker.py:130:_fill_checker_results
/root/tahoe-new/allmydata-tahoe-1.9.1/src/allmydata/mutable/servermap.py:258:recoverable_versions
[root@lalangamena ~]# ./tahoe-repair-all.sh 
*** avatar
ERROR: AssertionError()
"[Failure instance: Traceback: <type 'exceptions.AssertionError'>: "
/root/tahoe-new/allmydata-tahoe-1.9.1/src/allmydata/mutable/filenode.py:560:upload
/root/tahoe-new/allmydata-tahoe-1.9.1/src/allmydata/mutable/filenode.py:658:_do_serialized
/root/tahoe/allmydata-tahoe-1.8.3/Twisted-10.2.0-py2.6-linux-i686.egg/twisted/internet/defer.py:297:addCallback
/root/tahoe/allmydata-tahoe-1.8.3/Twisted-10.2.0-py2.6-linux-i686.egg/twisted/internet/defer.py:286:addCallbacks
--- <exception caught here> ---
/root/tahoe/allmydata-tahoe-1.8.3/Twisted-10.2.0-py2.6-linux-i686.egg/twisted/internet/defer.py:542:_runCallbacks
/root/tahoe-new/allmydata-tahoe-1.9.1/src/allmydata/mutable/filenode.py:658:<lambda>
/root/tahoe-new/allmydata-tahoe-1.9.1/src/allmydata/mutable/filenode.py:686:_upload
/root/tahoe-new/allmydata-tahoe-1.9.1/src/allmydata/mutable/publish.py:407:publish"ERROR: AttributeError('NoneType' object has no attribute 'callRemote')"
"[Failure instance: Traceback: <type 'exceptions.AttributeError'>: 'NoneType' object has no attribute 'callRemote'"
/root/tahoe/allmydata-tahoe-1.8.3/support/lib/python2.6/site-packages/foolscap-0.6.2-py2.6.egg/foolscap/call.py:674:_done
/root/tahoe/allmydata-tahoe-1.8.3/support/lib/python2.6/site-packages/foolscap-0.6.2-py2.6.egg/foolscap/call.py:60:complete
/root/tahoe/allmydata-tahoe-1.8.3/Twisted-10.2.0-py2.6-linux-i686.egg/twisted/internet/defer.py:361:callback
/root/tahoe/allmydata-tahoe-1.8.3/Twisted-10.2.0-py2.6-linux-i686.egg/twisted/internet/defer.py:455:_startRunCallbacks
--- <exception caught here> ---
/root/tahoe/allmydata-tahoe-1.8.3/Twisted-10.2.0-py2.6-linux-i686.egg/twisted/internet/defer.py:542:_runCallbacks
/root/tahoe-new/allmydata-tahoe-1.9.1/src/allmydata/immutable/upload.py:553:_got_response
/root/tahoe-new/allmydata-tahoe-1.9.1/src/allmydata/immutable/upload.py:420:_loop
/root/tahoe-new/allmydata-tahoe-1.9.1/src/allmydata/immutable/upload.py:105:query
ERROR: ValueError(need more than 8 values to unpack)
"[Failure instance: Traceback: <type 'exceptions.ValueError'>: need more than 8 values to unpack"
/root/tahoe/allmydata-tahoe-1.8.3/Twisted-10.2.0-py2.6-linux-i686.egg/twisted/internet/base.py:789:runUntilCurrent
/root/tahoe/allmydata-tahoe-1.8.3/support/lib/python2.6/site-packages/foolscap-0.6.2-py2.6.egg/foolscap/eventual.py:26:_turn
/root/tahoe/allmydata-tahoe-1.8.3/Twisted-10.2.0-py2.6-linux-i686.egg/twisted/internet/defer.py:361:callback
/root/tahoe/allmydata-tahoe-1.8.3/Twisted-10.2.0-py2.6-linux-i686.egg/twisted/internet/defer.py:455:_startRunCallbacks
--- <exception caught here> ---
/root/tahoe/allmydata-tahoe-1.8.3/Twisted-10.2.0-py2.6-linux-i686.egg/twisted/internet/defer.py:542:_runCallbacks
/root/tahoe-new/allmydata-tahoe-1.9.1/src/allmydata/mutable/checker.py:269:_repair_finished
/root/tahoe-new/allmydata-tahoe-1.9.1/src/allmydata/mutable/checker.py:130:_fill_checker_results
/root/tahoe-new/allmydata-tahoe-1.9.1/src/allmydata/mutable/servermap.py:258:recoverable_versions
[root@lalangamena ~]# ./tahoe-repair-all.sh 
*** avatar
ERROR: AssertionError()
"[Failure instance: Traceback: <type 'exceptions.AssertionError'>: "
/root/tahoe-new/allmydata-tahoe-1.9.1/src/allmydata/mutable/filenode.py:560:upload
/root/tahoe-new/allmydata-tahoe-1.9.1/src/allmydata/mutable/filenode.py:658:_do_serialized
/root/tahoe/allmydata-tahoe-1.8.3/Twisted-10.2.0-py2.6-linux-i686.egg/twisted/internet/defer.py:297:addCallback
/root/tahoe/allmydata-tahoe-1.8.3/Twisted-10.2.0-py2.6-linux-i686.egg/twisted/internet/defer.py:286:addCallbacks
--- <exception caught here> ---
/root/tahoe/allmydata-tahoe-1.8.3/Twisted-10.2.0-py2.6-linux-i686.egg/twisted/internet/defer.py:542:_runCallbacks
/root/tahoe-new/allmydata-tahoe-1.9.1/src/allmydata/mutable/filenode.py:658:<lambda>
/root/tahoe-new/allmydata-tahoe-1.9.1/src/allmydata/mutable/filenode.py:686:_upload
/root/tahoe-new/allmydata-tahoe-1.9.1/src/allmydata/mutable/publish.py:407:publish

/root/tahoe is path to old tahoe install(1.8.3 i2p one needed to be installed with python 2.6 for some reason)

1.8.3/i2p is no longer in $PATH/PYTHONPATH(but this folder is still present on machine).

tahoe --version from this machine

[root@lalangamena .tahoe]# tahoe --version
allmydata-tahoe: 1.9.1,
foolscap: 0.6.2,
pycryptopp: 0.5.29,
zfec: 1.4.17,
Twisted: 10.2.0,
Nevow: 0.10.0,
zope.interface: unknown,
python: 2.6.0,
platform: Linux-redhat_5.5-i686-32bit_ELF,
pyOpenSSL: 0.11,
simplejson: 2.1.3,
pycrypto: 2.3,
pyasn1: unknown,
mock: 0.6.0,
sqlite3: 2.4.1 [sqlite 3.3.6],
setuptools: 0.6c16dev3

I don't exactly knew how this happen. how they become intermingled.as I said - old one is not in PATH/PYTHONPATH. Moving /root/tahoe away resulted in

[root@lalangamena ~]# tahoe restart
Traceback (most recent call last):
  File "/root/tahoe-new/allmydata-tahoe-1.9.1/support/bin/tahoe", line 9, in <module>
    load_entry_point('allmydata-tahoe==1.9.1', 'console_scripts', 'tahoe')()
  File "/root/tahoe-new/allmydata-tahoe-1.9.1/setuptools-0.6c16dev3.egg/pkg_resources.py", line 318, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/root/tahoe-new/allmydata-tahoe-1.9.1/setuptools-0.6c16dev3.egg/pkg_resources.py", line 2245, in load_entry_point
    return ep.load()
  File "/root/tahoe-new/allmydata-tahoe-1.9.1/setuptools-0.6c16dev3.egg/pkg_resources.py", line 1977, in load
    if require: self.require(env, installer)
  File "/root/tahoe-new/allmydata-tahoe-1.9.1/setuptools-0.6c16dev3.egg/pkg_resources.py", line 1990, in require
    working_set.resolve(self.dist.requires(self.extras),env,installer))
  File "/root/tahoe-new/allmydata-tahoe-1.9.1/setuptools-0.6c16dev3.egg/pkg_resources.py", line 575, in resolve
    raise DistributionNotFound(req)  # XXX put more info here
pkg_resources.DistributionNotFound: pycryptopp>=0.5.20

so this looks like 1.9.1's setup.py somehow got it's hands on parts of old install?

Change History (14)

comment:1 follow-up: Changed at 2012-02-14T11:06:52Z by killyourtv

FWIW, the I2P installer script will use whatever "python" points to, it doesn't depend on python2.6.

At the end of the installation you're advised to set the PATH and PYTHONPATH accordingly. I'd guess that you may have left the old installation defined in the PATH.

Make sure the old path is not defined in PATH and PYTHONPATH then try to reinstall.

comment:2 Changed at 2012-02-17T19:11:45Z by davidsarah

  • Component changed from unknown to packaging
  • Owner changed from nobody to somebody

Possibly related to #1669 (notice the "ValueError (need more than 8 values to unpack)"), but the mixture of 1.8.3 and 1.9.1 code means that we can't conclude anything concrete from this traceback.

How was the installation updated to 1.9.1? Using tahoe setup.py install? It seems as though it is using the 1.9.1 Tahoe code with the dependencies (Twisted, foolscap, etc.) that were installed for 1.8.3+I2P. That could result in using a wrong version of a dependency if its requirement changed, although it is not as bad as mixing files within the same Python package.

comment:3 Changed at 2012-02-17T19:11:58Z by davidsarah

  • Priority changed from minor to major

comment:4 Changed at 2012-02-17T19:13:35Z by davidsarah

After moving /root/tahoe back, please do tahoe --version-and-path

comment:5 Changed at 2012-02-17T19:13:54Z by davidsarah

  • Owner changed from somebody to killyourtv

comment:6 follow-up: Changed at 2012-02-17T19:22:19Z by vikarti

how? I don't use install. just python setup.py build / python setup.py test on new one I moved /root/tahoe back

root@lalangamena ~]# tahoe --version-and-path
allmydata-tahoe: 1.9.1 (/root/tahoe-new/allmydata-tahoe-1.9.1/src),
foolscap: 0.6.3 (/root/tahoe-new/allmydata-tahoe-1.9.1/support/lib/python2.4/site-packages/foolscap-0.6.3-py2.4.egg),
pycryptopp: 0.5.29 (/root/tahoe-new/allmydata-tahoe-1.9.1/support/lib/python2.4/site-packages/pycryptopp-0.5.29-py2.4-linux-i686.egg),
zfec: 1.4.22 (/root/tahoe-new/allmydata-tahoe-1.9.1/support/lib/python2.4/site-packages/zfec-1.4.22-py2.4-linux-i686.egg),
Twisted: 10.2.0 (/root/tahoe-new/allmydata-tahoe-1.9.1/support/lib/python2.4/site-packages/Twisted-10.2.0-py2.4-linux-i686.egg),
Nevow: 0.10.0 (/root/tahoe-new/allmydata-tahoe-1.9.1/support/lib/python2.4/site-packages/Nevow-0.10.0-py2.4.egg),
zope.interface: unknown (/root/tahoe-new/allmydata-tahoe-1.9.1/support/lib/python2.4/site-packages/zope.interface-3.8.0-py2.4-linux-i686.egg/zope),
python: 2.4.3 (/usr/bin/python),
platform: Linux-redhat_5.5-i686-32bit_ELF (None),
pyOpenSSL: 0.11 (/root/tahoe-new/allmydata-tahoe-1.9.1/support/lib/python2.4/site-packages/pyOpenSSL-0.11-py2.4-linux-i686.egg),
simplejson: 1.7 (/root/tahoe-new/allmydata-tahoe-1.9.1/support/lib/python2.4/site-packages/simplejson-1.7-py2.4-linux-i686.egg),
pycrypto: 2.5 (/root/tahoe-new/allmydata-tahoe-1.9.1/support/lib/python2.4/site-packages/pycrypto-2.5-py2.4-linux-i686.egg),
pyasn1: unknown (/root/tahoe-new/allmydata-tahoe-1.9.1/support/lib/python2.4/site-packages/pyasn1-0.1.2-py2.4.egg),
mock: 0.8.0rc2 (/root/tahoe-new/allmydata-tahoe-1.9.1/support/lib/python2.4/site-packages),
pysqlite: 2.6.3 [sqlite 3.3.6] (/root/tahoe-new/allmydata-tahoe-1.9.1/support/lib/python2.4/site-packages/pysqlite-2.6.3-py2.4-linux-i686.egg),
setuptools: 0.6c16dev3 (/root/tahoe-new/allmydata-tahoe-1.9.1/support/lib/python2.4/site-packages/setuptools-0.6c16dev3.egg)

comment:7 in reply to: ↑ 6 Changed at 2012-02-17T22:56:52Z by davidsarah

  • Owner changed from killyourtv to vikarti

Replying to vikarti:

how? I don't use install. just python setup.py build / python setup.py test on new one

Oh, ok. I was confused by the /root paths and the fact that you're using tahoe to run. You should be using bin/tahoe (in this case /root/tahoe-new/bin/tahoe) to run an instance of Tahoe that has been built rather than installed.

What does

root@lalangamena ~]# which tahoe

say?

BTW, I don't recommend running Tahoe as root.

comment:8 in reply to: ↑ 1 ; follow-up: Changed at 2012-02-17T22:59:38Z by davidsarah

Replying to killyourtv:

At the end of the [1.8.3+I2P] installation you're advised to set the PATH and PYTHONPATH accordingly.

Oh, that could confuse things no end. It shouldn't be necessary to set PYTHONPATH; as long as you're running the tahoe script that is in the bin/ directory of the build you want, that should be sufficient.

Version 0, edited at 2012-02-17T22:59:38Z by davidsarah (next)

comment:9 Changed at 2012-02-18T04:48:32Z by vikarti

at this time

[root@lalangamena ~]# which tahoe
/root/tahoe-new/allmydata-tahoe-1.9.1/bin/tahoe

which is correct. I can't reproduce this one(with 1.8.3 paths) anymore

comment:10 Changed at 2012-02-18T07:22:18Z by davidsarah

  • Resolution set to cannot reproduce
  • Status changed from new to closed

comment:11 Changed at 2012-03-05T22:29:55Z by zooko

  • Description modified (diff)

comment:12 Changed at 2012-03-31T02:18:17Z by david-sarah@…

[commit notice with incorrect ref deleted]

Last edited at 2012-03-31T02:23:30Z by davidsarah (previous) (diff)

comment:13 in reply to: ↑ 8 ; follow-up: Changed at 2012-04-19T13:46:55Z by killyourtv

Replying to davidsarah:

Replying to killyourtv:

At the end of the [1.8.3+I2P] installation you're advised to set the PATH and PYTHONPATH accordingly.

Oh, that could confuse things no end. It shouldn't be necessary to set PYTHONPATH; as long as you're running the tahoe script that is in the bin/ directory of the build you want, that should be sufficient. If you set PYTHONPATH as well, then you're explicitly asking for a mixture of the code pointed to by PYTHONPATH and the code from that build.

That was a holdover from when duck was handling it. I'll test without PYTHONPATH being set and report back if it is required. If it is not needed (of course) I'll advise people to not set it any longer.

comment:14 in reply to: ↑ 13 Changed at 2012-04-19T18:25:45Z by davidsarah

Replying to killyourtv:

I'll test without PYTHONPATH being set and report back if it is required. If it is not needed (of course) I'll advise people to not set it any longer.

OK, thanks.

Note: See TracTickets for help on using tickets.