Closed GoogleCodeExporter closed 9 years ago
To be clear in addition, 'fine' here is not the 60s timeout for sleep occuring-
the
process should be sigterm'd from within cleanup_pids and have waitpid be
basically
instantaneous.
Original comment by ferringb
on 5 Feb 2010 at 10:18
I can't reproduce this. Here's the snipped final output for python2.6:
======================================================================
FAIL: test_regen (pkgcore.test.merge.test_triggers.TestInfoRegen)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/reid/unladen-swallow/tmp/pkgcore-0.5.9/snakeoil/test/__init__.py", line
188, in run
self.forced_extra_frame(testMethod)
File "/home/reid/unladen-swallow/tmp/pkgcore-0.5.9/snakeoil/test/__init__.py", line
153, in forced_extra_frame
test()
File
"/home/reid/unladen-swallow/tmp/pkgcore-0.5.9/build/lib.linux-x86_64-2.6/pkgcore
/test/merge/test_triggers.py",
line 378, in test_regen
self.assertEqual(list(o.regen(path, self.dir)), [])
File "/home/reid/unladen-swallow/tmp/pkgcore-0.5.9/snakeoil/test/__init__.py", line
136, in assertEqual
msg or '%r != %r' % (obj1, obj2))
AssertionError: ['/tmp/tmpONqLVS/foo.info'] != []
======================================================================
FAIL: test_trigger (pkgcore.test.merge.test_triggers.TestInfoRegen)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/reid/unladen-swallow/tmp/pkgcore-0.5.9/snakeoil/test/__init__.py", line
188, in run
self.forced_extra_frame(testMethod)
File "/home/reid/unladen-swallow/tmp/pkgcore-0.5.9/snakeoil/test/__init__.py", line
153, in forced_extra_frame
test()
File
"/home/reid/unladen-swallow/tmp/pkgcore-0.5.9/build/lib.linux-x86_64-2.6/pkgcore
/test/merge/test_triggers.py",
line 427, in test_trigger
self.assertFalse(self.run_trigger('post_merge', [self.dir]))
AssertionError
----------------------------------------------------------------------
Ran 888 tests in 3.738s
FAILED (failures=2)
And again for unladen trunk:
======================================================================
FAIL: test_regen (pkgcore.test.merge.test_triggers.TestInfoRegen)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/reid/unladen-swallow/tmp/pkgcore-0.5.9/snakeoil/test/__init__.py", line
188, in run
self.forced_extra_frame(testMethod)
File "/home/reid/unladen-swallow/tmp/pkgcore-0.5.9/snakeoil/test/__init__.py", line
153, in forced_extra_frame
test()
File
"/home/reid/unladen-swallow/tmp/pkgcore-0.5.9/build/lib.linux-x86_64-2.6/pkgcore
/test/merge/test_triggers.py",
line 378, in test_regen
self.assertEqual(list(o.regen(path, self.dir)), [])
File "/home/reid/unladen-swallow/tmp/pkgcore-0.5.9/snakeoil/test/__init__.py", line
136, in assertEqual
msg or '%r != %r' % (obj1, obj2))
AssertionError: ['/tmp/tmp5EwLlV/foo.info'] != []
======================================================================
FAIL: test_trigger (pkgcore.test.merge.test_triggers.TestInfoRegen)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/reid/unladen-swallow/tmp/pkgcore-0.5.9/snakeoil/test/__init__.py", line
188, in run
self.forced_extra_frame(testMethod)
File "/home/reid/unladen-swallow/tmp/pkgcore-0.5.9/snakeoil/test/__init__.py", line
153, in forced_extra_frame
test()
File
"/home/reid/unladen-swallow/tmp/pkgcore-0.5.9/build/lib.linux-x86_64-2.6/pkgcore
/test/merge/test_triggers.py",
line 427, in test_trigger
self.assertFalse(self.run_trigger('post_merge', [self.dir]))
AssertionError
======================================================================
FAIL: test_object_derivatives
(pkgcore.test.test_slot_shadowing.Test_slot_shadowing)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/reid/unladen-swallow/tmp/pkgcore-0.5.9/snakeoil/test/__init__.py", line
188, in run
self.forced_extra_frame(testMethod)
File "/home/reid/unladen-swallow/tmp/pkgcore-0.5.9/snakeoil/test/__init__.py", line
153, in forced_extra_frame
test()
File
"/home/reid/unladen-swallow/tmp/pkgcore-0.5.9/snakeoil/test/test_slot_shadowing.
py",
line 28, in test_object_derivatives
self.check_slotting(cls)
File
"/home/reid/unladen-swallow/tmp/pkgcore-0.5.9/snakeoil/test/test_slot_shadowing.
py",
line 107, in check_slotting
(kls, slots, raw_slottings[slots]))
AssertionError: cls <class 'pkgcore.test.package.test_base.Class'>; slots is
('__weakref__',), seemingly inherited from <class 'pkgcore.package.base.base'>-
should be __slots__ = ()
----------------------------------------------------------------------
Ran 888 tests in 4.392s
FAILED (failures=3)
So I don't know what the deal with the extra __weakref__ slot is, since it is
present
on class base in base.py, but I can't find the relevant deadlock.
Original comment by reid.kle...@gmail.com
on 20 Feb 2010 at 12:19
Huh, close it- no longer can trigger this in current versions of u-s. As for
the
__weakref__ complaint there, it looks for shadow slots- wasted memory and
occasionally screwy behaviour. Specifically it'll spot
class foo(object):
__slots__ = ("dar",)
class bar(foo):
__slots__ = ("dar",)
that bar.dar is redundantly overlapping foo.dar in terms of instance allocation.
Original comment by ferringb
on 27 Feb 2010 at 2:56
Closing, could not reproduce. Thanks for the heads up, though. Signal
behavior is a
bit different because we're not running through the eval loop, but it should
hopefully work just as well.
Original comment by reid.kle...@gmail.com
on 27 Feb 2010 at 5:14
Original issue reported on code.google.com by
ferringb
on 5 Feb 2010 at 10:17