[tahoe-lafs-trac-stream] [tahoe-lafs] #1258: having Tahoe or any dependency installed in site-packages (or any other shared directory) can cause us to run or test the wrong code

tahoe-lafs trac at tahoe-lafs.org
Thu Mar 28 11:56:24 UTC 2013


#1258: having Tahoe or any dependency installed in site-packages (or any other
shared directory) can cause us to run or test the wrong code
------------------------------------+----------------------------------
     Reporter:  davidsarah          |      Owner:  davidsarah
         Type:  defect              |     Status:  new
     Priority:  major               |  Milestone:  eventually
    Component:  dev-infrastructure  |    Version:  1.8.0
   Resolution:                      |   Keywords:  setuptools test docs
Launchpad Bug:                      |
------------------------------------+----------------------------------

Old description:

> From ticket:1253#comment:20 :
>
> > There is now a test failure on zomp (Mac OS 10.6) which looks like it
> might be caused by these patches:
> >
> > http://tahoe-lafs.org/buildbot/builders/Zooko%20zomp%20Mac-
> amd64%2010.6%20py2.6/builds/208/steps/test/logs/stdio
> >
> > {{{
> > [FAIL]
> > Traceback (most recent call last):
> >   File "/Users/tahoebuildslave/Zooko zomp Mac-amd64 10.6
> py2.6/build/src/allmydata/test/test_system.py", line 1609, in
> _check_mv_with_http_proxy
> >     self.failUnlessEqual(rc_or_sig, 0, str(res))
> > twisted.trial.unittest.FailTest: ('', 'Traceback (most recent call
> last):\n  File "/Users/tahoebuildslave/Zooko zomp Mac-amd64 10.6
> py2.6/build/support/bin/tahoe", line 9, in <module>\n    load_entry_point
> (\'allmydata-tahoe==1.8.0-r4818\', \'console_scripts\', \'tahoe\')()\n
> File "/Library/Python/2.6/site-packages/allmydata/scripts/runner.py",
> line 114, in run\n    rc = runner(sys.argv[1:],
> install_node_control=install_node_control)\n  File "/Library/Python/2.6
> /site-packages/allmydata/scripts/runner.py", line 100, in runner\n    rc
> = cli.dispatch[command](so)\n  File "/Library/Python/2.6/site-
> packages/allmydata/scripts/cli.py", line 504, in mv\n    rc =
> tahoe_mv.mv(options, mode="move")\n  File "/Library/Python/2.6/site-
> packages/allmydata/scripts/tahoe_mv.py", line 31, in mv\n    data =
> urllib.urlopen(from_url + "?t=json").read()\n  File
> "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib.py",
> line 87, in urlopen\n    return opener.open(url)\n  File
> "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib.py",
> line 203, in open\n    return getattr(self, name)(url)\n  File
> "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib.py",
> line 338, in open_http\n    h.endheaders()\n  File
> "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/httplib.py",
> line 868, in endheaders\n    self._send_output()\n  File
> "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/httplib.py",
> line 740, in _send_output\n    self.send(msg)\n  File
> "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/httplib.py",
> line 699, in send\n    self.connect()\n  File
> "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/httplib.py",
> line 683, in connect\n    self.timeout)\n  File
> "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/socket.py",
> line 512, in create_connection\n    raise error, msg\nIOError: [Errno
> socket error] [Errno 60] Operation timed out\n', 1)
> > not equal:
> > a = 1
> > b = 0
> > }}}
>
> and ticket:1253#comment:21 :
>
> > [source:src/allmydata/scripts/tahoe_mv.py at 4818#L31] is not
> > "{{{data = urllib.urlopen(from_url + "?t=json").read()}}}". That's what
> it was
> > before the fix.
> >
> > Somehow the code being tested has the test patch [4817], but not the
> fix patch [4818].
> >
> > Oh, it is testing "/Library/Python/2.6/site-
> packages/allmydata/scripts/tahoe_mv.py". Wrong! This looks like the issue
> that we fixed for the test-from-egg and test-from-prefixdir steps in
> #1137.

New description:

 From ticket:1253#comment:20 :

 > There is now a test failure on zomp (Mac OS 10.6) which looks like it
 might be caused by these patches:
 >
 > http://tahoe-lafs.org/buildbot/builders/Zooko%20zomp%20Mac-
 amd64%2010.6%20py2.6/builds/208/steps/test/logs/stdio
 >
 > {{{
 > [FAIL]
 > Traceback (most recent call last):
 >   File "/Users/tahoebuildslave/Zooko zomp Mac-amd64 10.6
 py2.6/build/src/allmydata/test/test_system.py", line 1609, in
 _check_mv_with_http_proxy
 >     self.failUnlessEqual(rc_or_sig, 0, str(res))
 > twisted.trial.unittest.FailTest: ('', 'Traceback (most recent call
 last):\n  File "/Users/tahoebuildslave/Zooko zomp Mac-amd64 10.6
 py2.6/build/support/bin/tahoe", line 9, in <module>\n    load_entry_point
 (\'allmydata-tahoe==1.8.0-r4818\', \'console_scripts\', \'tahoe\')()\n
 File "/Library/Python/2.6/site-packages/allmydata/scripts/runner.py", line
 114, in run\n    rc = runner(sys.argv[1:],
 install_node_control=install_node_control)\n  File "/Library/Python/2.6
 /site-packages/allmydata/scripts/runner.py", line 100, in runner\n    rc =
 cli.dispatch[command](so)\n  File "/Library/Python/2.6/site-
 packages/allmydata/scripts/cli.py", line 504, in mv\n    rc =
 tahoe_mv.mv(options, mode="move")\n  File "/Library/Python/2.6/site-
 packages/allmydata/scripts/tahoe_mv.py", line 31, in mv\n    data =
 urllib.urlopen(from_url + "?t=json").read()\n  File
 "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib.py",
 line 87, in urlopen\n    return opener.open(url)\n  File
 "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib.py",
 line 203, in open\n    return getattr(self, name)(url)\n  File
 "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib.py",
 line 338, in open_http\n    h.endheaders()\n  File
 "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/httplib.py",
 line 868, in endheaders\n    self._send_output()\n  File
 "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/httplib.py",
 line 740, in _send_output\n    self.send(msg)\n  File
 "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/httplib.py",
 line 699, in send\n    self.connect()\n  File
 "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/httplib.py",
 line 683, in connect\n    self.timeout)\n  File
 "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/socket.py",
 line 512, in create_connection\n    raise error, msg\nIOError: [Errno
 socket error] [Errno 60] Operation timed out\n', 1)
 > not equal:
 > a = 1
 > b = 0
 > }}}

 and ticket:1253#comment:21 :

 > [source:src/allmydata/scripts/tahoe_mv.py at 4818#L31] is not
 > "{{{data = urllib.urlopen(from_url + "?t=json").read()}}}". That's what
 it was
 > before the fix.
 >
 > Somehow the code being tested has the test patch [4817], but not the fix
 patch [4818].
 >
 > Oh, it is testing "/Library/Python/2.6/site-
 packages/allmydata/scripts/tahoe_mv.py". Wrong! This looks like the issue
 that we fixed for the test-from-egg and test-from-prefixdir steps in
 #1137.

--

Comment (by gdt):

 This interacts particularly badly with release tarballs with bad
 permissions (600, rather than 644), because those tarballs, at least with
 packaging systems that don't attempt to muck with them, result in
 installed versions of tahoe were non-root users may not read the egg
 files.  So the next attempt to build tahoe (as a non-root user, because
 that build stage does not require root) will fail.  The workaround is just
 to remove the old/wrong package.

-- 
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1258#comment:29>
tahoe-lafs <https://tahoe-lafs.org>
secure decentralized storage


More information about the tahoe-lafs-trac-stream mailing list