Comment 7 for bug 505913

Revision history for this message
Jonathan Lange (jml) wrote :

Got interrupted by real life in the middle of the day. Currently playing around with OOPSes, since the whole way we gather OOPSes here is both confusing and racy. (Because it's using a shared directory for OOPS reports from other tests and other runs).

I eventually got some inspiration though. I *think* this is actually a bug in ampoule. Essentially, it can get so caught up in running the job that it forgets to timeout.

If you apply this patch:

=== modified file 'lib/lp/services/job/tests/test_runner.py'
--- lib/lp/services/job/tests/test_runner.py 2011-03-18 19:14:44 +0000
+++ lib/lp/services/job/tests/test_runner.py 2011-03-18 19:16:20 +0000
@@ -352,7 +352,7 @@ class StuckJob(BaseRunnableJob):
         # and so we soak up the ZCML loading time. For the second job, have a
         # short lease so we hit the timeout.
         if self.id == 2:
- lease_length = 1
+ lease_length = -1
         else:
             lease_length = 10000
         return self.job.acquireLease(lease_length)

You'll get consistent failures. (Although you'll need some of the other stuff in my branch to get going).