#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
_______________________________________________
tahoe-dev mailing list
[email protected]
http://allmydata.org/cgi-bin/mailman/listinfo/tahoe-dev