[2.4b5] push sometimes fails with "missing referenced chk root keys"

Bug #812385 reported by Olivier Dony (Odoo)
This bug affects 1 person
Affects Status Importance Assigned to Milestone

Bug Description

After installing bzr 2.4b5 from the beta ppa, I noticed that the next push for all my usual development branches was taking ages.
I was told on IRC that this was due to the upload of missing tagged revisions, and indeed I have hundreds of tags on most of my branches, due to our QA system automatically tagging commits. (This is not directly related to the crash as far as I can see, but could be helpful during analysis).

So, I was now trying to push revision [1] using 2.4b5 and it crashed with the following traceback:

   File "/usr/lib/python2.7/dist-packages/bzrlib/cleanup.py", line 131, in run
     self.cleanups, self.func, self, *args, **kwargs)
   File "/usr/lib/python2.7/dist-packages/bzrlib/cleanup.py", line 165, in _do_with_cleanups
     result = func(*args, **kwargs)
   File "/usr/lib/python2.7/dist-packages/bzrlib/branch.py", line 3441, in _push_with_bound_branches
     result = self._basic_push(overwrite, stop_revision)
   File "/usr/lib/python2.7/dist-packages/bzrlib/branch.py", line 3403, in _basic_push
   File "/usr/lib/python2.7/dist-packages/bzrlib/decorators.py", line 217, in write_locked
     result = unbound(self, *args, **kwargs)
   File "/usr/lib/python2.7/dist-packages/bzrlib/branch.py", line 3313, in _update_revisions
   File "/usr/lib/python2.7/dist-packages/bzrlib/decorators.py", line 217, in write_locked
     result = unbound(self, *args, **kwargs)
   File "/usr/lib/python2.7/dist-packages/bzrlib/branch.py", line 3290, in fetch
   File "/usr/lib/python2.7/dist-packages/bzrlib/remote.py", line 1656, in fetch
     find_ghosts=find_ghosts, fetch_spec=fetch_spec)
   File "/usr/lib/python2.7/dist-packages/bzrlib/decorators.py", line 217, in write_locked
     result = unbound(self, *args, **kwargs)
   File "/usr/lib/python2.7/dist-packages/bzrlib/vf_repository.py", line 2497, in fetch
   File "/usr/lib/python2.7/dist-packages/bzrlib/fetch.py", line 75, in __init__
   File "/usr/lib/python2.7/dist-packages/bzrlib/fetch.py", line 102, in __fetch
   File "/usr/lib/python2.7/dist-packages/bzrlib/fetch.py", line 130, in _fetch_everything_for_search
     stream, from_format, [])
   File "/usr/lib/python2.7/dist-packages/bzrlib/remote.py", line 2109, in insert_stream
     (verb, path, resume_tokens) + lock_args, byte_stream)
   File "/usr/lib/python2.7/dist-packages/bzrlib/smart/client.py", line 181, in call_with_body_stream
   File "/usr/lib/python2.7/dist-packages/bzrlib/smart/client.py", line 81, in _call_and_read_response
   File "/usr/lib/python2.7/dist-packages/bzrlib/smart/message.py", line 306, in read_response_tuple
   File "/usr/lib/python2.7/dist-packages/bzrlib/smart/message.py", line 351, in _raise_smart_server_error
     raise errors.ErrorFromSmartServer(error_tuple)
 ErrorFromSmartServer: Error received from smart server: ('error', "Internal check failed: Cannot add revision(s) to repository: missing referenced chk root keys: [StaticTuple('sha1:32b5964d29924e611fc4b50e92ca0aeed58c2cea',)]")

I don't know if this is related to the large number of tags I have on that branch:
  $ bzr tags | wc -l
  $ bzr tags | grep '?' | wc -l

This looks like an issue of 2.4, because after downgrading bzr and bzrlib to version 2.3.1-1ubuntu1, the push went just fine.
I did manage to push with 2.4b5 on some of our other branches (with hundreds of tags), though it took a long time.

See the attached crashlog, and feel free to request any other useful info I could provide.


[1] rev 3513 revid: <email address hidden> on lp:~openerp/openobject-server/trunk

Revision history for this message
Olivier Dony (Odoo) (odo-openerp) wrote :
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.