[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