[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
Sun Jun 21 08:00:51 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 bdew):

 Ha! it looks like time() is returning NaN on my system once in a while
 after all.

 I went and added a bunch of assert's to make find where those NaN's are
 comming from and narrowed it to reactor.callLater - the input vas valid
 (there is actually a check there already), but the resulting DelayedCall
 was created with a NaN timeout.

 So with another assert there

 {{{
 assert repr(self.seconds())!='nan', 'self.seconds() [really: %r] returned
 NaN! %r,%r,%r'%(self.seconds,self.seconds(),self.seconds(),self.seconds())
 }}}


 I got:

 {{{
 Traceback (most recent call last):
 Failure: twisted.internet.defer.FirstError: FirstError[#8, [Failure
 instance: Traceback: <type 'exceptions.AssertionError'>: self.seconds()
 [really: <built-in function time>] returned NaN!
 1245566718.5629139,1245566718.562958,1245566718.563
 /usr/src/tahoe/build2/virt/lib/python2.5/site-
 packages/Twisted-8.2.0-py2.5-linux-i686.egg/twisted/internet/base.py:779:runUntilCurrent
 /usr/src/tahoe/build2/virt/lib/python2.5/site-
 packages/foolscap-0.4.2-py2.5.egg/foolscap/eventual.py:26:_turn
 /usr/src/tahoe/build2/Twisted-8.2.0-py2.5-linux-i686.egg/twisted/internet/defer.py:243:callback
 /usr/src/tahoe/build2/Twisted-8.2.0-py2.5-linux-i686.egg/twisted/internet/defer.py:312:_startRunCallbacks
 --- <exception caught here> ---
 /usr/src/tahoe/build2/Twisted-8.2.0-py2.5-linux-i686.egg/twisted/internet/defer.py:328:_runCallbacks
 /usr/src/tahoe/build2/virt/lib/python2.5/site-
 packages/allmydata_tahoe-1.4.1_r3918-py2.5.egg/allmydata/mutable/checker.py:98:_got_answer
 /usr/src/tahoe/build2/virt/lib/python2.5/site-
 packages/allmydata_tahoe-1.4.1_r3918-py2.5.egg/allmydata/mutable/checker.py:146:notify_server_corruption
 /usr/src/tahoe/build2/virt/lib/python2.5/site-
 packages/allmydata_tahoe-1.4.1_r3918-py2.5.egg/allmydata/test/no_network.py:44:callRemoteOnly
 /usr/src/tahoe/build2/virt/lib/python2.5/site-
 packages/allmydata_tahoe-1.4.1_r3918-py2.5.egg/allmydata/test/no_network.py:63:callRemote
 /usr/src/tahoe/build2/virt/lib/python2.5/site-
 packages/foolscap-0.4.2-py2.5.egg/foolscap/eventual.py:70:fireEventually
 /usr/src/tahoe/build2/virt/lib/python2.5/site-
 packages/foolscap-0.4.2-py2.5.egg/foolscap/eventual.py:61:eventually
 /usr/src/tahoe/build2/virt/lib/python2.5/site-
 packages/foolscap-0.4.2-py2.5.egg/foolscap/eventual.py:16:append
 /usr/src/tahoe/build2/virt/lib/python2.5/site-
 packages/Twisted-8.2.0-py2.5-linux-i686.egg/twisted/internet/base.py:669:callLater
 ]]
 }}}

 Note that i added 3 more calls to reactor.seconds() (which is really
 time.time) and they returned valid results.

 So it looks that on this system something (happening either before this
 code, or in parallel in another thread) is breaking exactly one call to
 time()

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


More information about the tahoe-dev mailing list