Gareth White wrote:
> Public bug reported:
>
> If two autopacks overlap at the right time, one of them will fail with a
> NoSuchFile error on one of the index files (e.g. .six, .tix). This
> affects both bzr 2.0.4dev and 2.1.0dev5 on Windows XP and OS X.
>
> It's difficult (but not impossible) to reproduce in real-world usage. If
> you run the attached shell script you should see it once or twice, but
> there are a couple of other related bugs which you might get instead.
>
> However, I can reproduce it every time by doing the following:
> 1. In_create_pack_from_packs() in bzrlib/repofmt/groupcompress_repo.py add the following just before the call to self._copy_signature_texts():
> import pdb
> pdb.set_trace()
> 2. Create a dummy repository:
> bzr init-repo testrepo
> bzr init testrepo/branch1
> bzr branch testrepo/branch1 testrepo/branch2
> 3. Commit until it breaks into the debugger (should be the 10th time):
> bzr commit -m "test" --unchanged testrepo/branch1
> 4. In a separate window, commit on the other branch:
> bzr commit -m "test" --unchanged testrepo/branch2
> 5. Both windows should now be in the debugger.
> 6. In the first window type "c" to continue. The commit should finish successfully.
> 7. In the second window type "c". The commit will fail with an error such as:
> bzr: ERROR: No such file: u'/Users/garethw/Programming/Bazaar/autopack2/testrepo/.bzr/repository/indices/4656c4d1b2cd1e347cf2b94d8d210dd9.six':
>
> If you move the breakpoint to the line before self._copy_text_texts()
> you get the error on a .tix file instead.
>
Thanks for working out the exact steps to reproduce. I'm hoping to get
some time to look into this before 2.1.0rc1 final. (I suppose if you
submitted a patch, since I'm PatchPilot I would be forced to work on
it... :)
If it happened more often in practice, I would probably increase the
priority, but since it only really happens with an automated "how many
times can I commit concurrently" test, I'm keeping the priority a bit lower.
John
=:->
status: confirmed
importance: low
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Gareth White wrote: pack_from_ packs() in bzrlib/ repofmt/ groupcompress_ repo.py add the following just before the call to self._copy_ signature_ texts() : garethw/ Programming/ Bazaar/ autopack2/ testrepo/ .bzr/repository /indices/ 4656c4d1b2cd1e3 47cf2b94d8d210d d9.six' : text_texts( )
> Public bug reported:
>
> If two autopacks overlap at the right time, one of them will fail with a
> NoSuchFile error on one of the index files (e.g. .six, .tix). This
> affects both bzr 2.0.4dev and 2.1.0dev5 on Windows XP and OS X.
>
> It's difficult (but not impossible) to reproduce in real-world usage. If
> you run the attached shell script you should see it once or twice, but
> there are a couple of other related bugs which you might get instead.
>
> However, I can reproduce it every time by doing the following:
> 1. In_create_
> import pdb
> pdb.set_trace()
> 2. Create a dummy repository:
> bzr init-repo testrepo
> bzr init testrepo/branch1
> bzr branch testrepo/branch1 testrepo/branch2
> 3. Commit until it breaks into the debugger (should be the 10th time):
> bzr commit -m "test" --unchanged testrepo/branch1
> 4. In a separate window, commit on the other branch:
> bzr commit -m "test" --unchanged testrepo/branch2
> 5. Both windows should now be in the debugger.
> 6. In the first window type "c" to continue. The commit should finish successfully.
> 7. In the second window type "c". The commit will fail with an error such as:
> bzr: ERROR: No such file: u'/Users/
>
> If you move the breakpoint to the line before self._copy_
> you get the error on a .tix file instead.
>
Thanks for working out the exact steps to reproduce. I'm hoping to get
some time to look into this before 2.1.0rc1 final. (I suppose if you
submitted a patch, since I'm PatchPilot I would be forced to work on
it... :)
If it happened more often in practice, I would probably increase the
priority, but since it only really happens with an automated "how many
times can I commit concurrently" test, I'm keeping the priority a bit lower.
John
=:->
status: confirmed enigmail. mozdev. org/
importance: low
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla - http://
iEYEARECAAYFAkt PTlMACgkQJdeBCY SNAAON2ACgte1p6 bSUzdf/ oixp5f+ mekrS uJozXFy6D66imqV W7
XuoAnA28P3XTiUA
=tvi1
-----END PGP SIGNATURE-----