[tahoe-dev] [tahoe-lafs] #737: python2.5 setup.py test runs CPU to 100% on 32-bit single-core NetBSD "4"

tahoe-lafs trac at allmydata.org
Sat Jun 20 01:37:26 PDT 2009


#737: python2.5 setup.py test runs CPU to 100% on 32-bit single-core NetBSD "4"
---------------------------+------------------------------------------------
 Reporter:  midnightmagic  |           Owner:  warner
     Type:  defect         |          Status:  new   
 Priority:  major          |       Milestone:  1.5.0 
Component:  code           |         Version:  1.4.1 
 Keywords:                 |   Launchpad_bug:        
---------------------------+------------------------------------------------

Comment(by warner):

 righto. You had the Tahoe unit tests running, which means it was able to
 import or build Foolscap and everything that Foolscap depends upon, so
 things
 should probably be pretty easy.

 First step, download the foolscap-0.4.2 tarball from
 http://foolscap.lothar.com/trac (the front page has a download link), or
 from
 http://pypi.python.org (search for "foolscap" and you'll get a page with
 download links).

 Then unpack it and try running "make test". If that works, jump to the
 "trial" step below. (/usr/bin/trial is the program that runs the unit
 tests.
 it comes from Twisted. "make test" is a simple wrapper for invoking
 trial.)

 If that can't find a "trial" executable, or if it complains about
 !ImportErrors, then you may need to install one or more of the Foolscap
 dependencies. The dependency graph looks like:

  * Foolscap requires Twisted
   * Twisted requires zope.interface (note: zope.interface is a tiny tiny
     portion of the Zope package, less than 1% by weight. We don't need all
 of
     Zope. Don't let the enormous size of Zope scare you)
  * Foolscap requires pyopenssl
   * pyopenssl links against the OpenSSL libraries (.a/.so/.h)

 Tahoe goes to great lengths to hide the dependencies from you, by
 downloading
 and installing everything that isn't already available on the system (and
 sometimes even things which *are* on the system, but that's a bug). It can
 only install python things, though.. it doesn't know how to build
 libopenssl.a .

 If you were to install Tahoe, you'd get everything that Foolscap needs too
 (Twisted, zope.interface, pyopenssl). That might not include executable
 scripts like /usr/bin/trial though.

 Foolscap does not behave this way: you have to satisfy its dependencies
 yourself.

 So, if there's no "trial" on your $PATH, then download the Twisted tarball
 from http://twistedmatrix.com , unpack it, and do "sudo python setup.py
 install" (if you're willing to install stuff to /usr/lib and /usr/bin .. I
 prefer packages or GNU stow, so I usually do "sudo python setup.py install
 --prefix /usr/local/stow/XYZ" and then "cd /usr/local/stow && stow -v XYZ"
 to
 put it into place in /usr/local/bin and /usr/local/lib). I believe that
 Twisted includes a copy of zope.interface and will install it if
 necessary..
 no need to download something extra.

 After that, "{{{trial --version}}}" should work, so try foolscap's "make
 test"
 again.

 Foolscap will skip the crypto tests if pyopenssl is not installed, but for
 this bug, we don't care about those.

 Then running "{{{trial --until-failure foolscap.test.test_eventual}}}" in
 the
 foolscap source directory will tell it to run that one specific
 test_eventual
 over and over again until something fails.

 hope that helps.. grab me on IRC if you want to walk through this
 together.

-- 
Ticket URL: <http://allmydata.org/trac/tahoe/ticket/737#comment:8>
tahoe-lafs <http://allmydata.org>
secure decentralized file storage grid


More information about the tahoe-dev mailing list