Intermittent test failure during _finishLogFile
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Fix Released
|
Low
|
Andrew Bennetts |
Bug Description
I just got this failure in a branch based on current lp:bzr:
$ ./bzr --no-plugins selftest '(?i)smart' '(?i)hpss' '(?i)remote' -1
bzr selftest: /home/andrew/
/home/
bzr-2.2.0dev1 python-2.6.4 Linux-2.
[...]
=======
ERROR: bzrlib.
-------
_StringException: Text attachment: log
------------
394.455 creating repository in file://
394.459 creating branch <bzrlib.
394.470 creating repository in chroot-
394.487 opening working tree '/tmp/testbzr-
------------
Text attachment: traceback
------------
Traceback (most recent call last):
File "/usr/lib/
function(
File "/home/
self.
File "/home/
self.
IOError: close() called during concurrent operation on the same file object.
------------
The changes in this branch are not AFAICT relevant to this test, so I assume this is a rare race condition in our test cleanup. I haven't been able to reproduce by running just that one test in isolation, so it's presumably a tricky race to hit, but it must be possible because it did happen. No other tests failed during that run.
Being a difficult-
Related branches
- Vincent Ladeuil: Needs Fixing
-
Diff: 56 lines (+34/-1)2 files modifiedNEWS (+7/-0)
bzrlib/tests/__init__.py (+27/-1)
Changed in bzr: | |
assignee: | nobody → Andrew Bennetts (spiv) |
milestone: | none → 2.2.0 |
status: | Confirmed → Fix Released |
If I re-run that command line, I can sometimes reproduce the failure, although the specific test varies, e.g.:
======= ======= ======= ======= ======= ======= ======= ======= ======= ======= tests.per_ branch. test_http. InaccessiblePar entTests. test_get_ parent_ invalid( RemoteBranchFor mat-default) ------- ------- ------- ------- ------- ------- ------- ------- ------- 221198540: ///parent/ path/to/ a/.bzr/ . branch. BzrBranchFormat 7 object at 0xd39dcac> in chroot- 221198540: ///parent/ path/to/ a/.bzr/ 221198540: ///child/ path/to/ b/.bzr/ . y(bzr:/ /127.0. 0.1:42139/ extra/parent/ path/to/ a/.bzr/ )(<RemoteReposi toryFormat> ) and RemoteRepositor y(bzr:/ /127.0. 0.1:42139/ extra/child/ path/to/ b/.bzr/ )(<RemoteReposi toryFormat> ) branch. BzrBranchFormat 7 object at 0xd3a00cc> in chroot- 221198540: ///child/ path/to/ b/.bzr/ bzr://127. 0.0.1:42139/ extra/child/ path/to/ b/) mlvEn4. tmp' python2. 6/dist- packages/ testtools/ testcase. py", line 153, in _runCleanups *arguments, **keywordArguments) andrew/ warthogs/ bzr/no_ until_no_ eintr/bzrlib/ tests/_ _init__ .py", line 1465, in _finishLogFile _get_log( False) andrew/ warthogs/ bzr/no_ until_no_ eintr/bzrlib/ tests/_ _init__ .py", line 1674, in _get_log _log_file. close()
ERROR: bzrlib.
-------
_StringException: Text attachment: log
------------
130.539 creating repository in chroot-
130.549 creating branch <bzrlib.
130.597 creating repository in chroot-
130.604 Using fetch logic to copy between RemoteRepositor
130.604 fetch up to rev {None}
130.628 creating branch <bzrlib.
130.666 created new branch RemoteBranch(
130.709 opening working tree '/tmp/testbzr-
------------
Text attachment: traceback
------------
Traceback (most recent call last):
File "/usr/lib/
function(
File "/home/
self.
File "/home/
self.
IOError: close() called during concurrent operation on the same file object.
------------