qdiff: refresh of working tree diff crashes if branch tip has changed.

Bug #670043 reported by dlebauer
This bug report is a duplicate of:  Bug #515651: qdiff: refresh crashes after a commit. Edit Remove
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
QBzr
Confirmed
Medium
Unassigned

Bug Description

I was using bzr explorer to compare the difference between working copy and trunk. I used emacs for version control M-x v v and C-c C-c to commit change. Then I hit refresh in bzr explore and got this error

OS Ubuntu 10.04
bzr 2.1.1
python 2.6.5

traceback, user name replaced with 'user':

bzr: ERROR: exceptions.AssertionError: parent <email address hidden> has disappeared from ['user@user-desktop-20101102172950-cfuoh74vrbqoxl6v']

Traceback (most recent call last):
  File "/usr/lib/python2.6/dist-packages/bzrlib/plugins/qbzr/lib/diffwindow.py", line 438, in click_refresh
    run_in_loading_queue(self.load_diff)
  File "/usr/lib/python2.6/dist-packages/bzrlib/plugins/qbzr/lib/util.py", line 891, in run_in_loading_queue
    f(*args, **kargs)
  File "/usr/lib/python2.6/dist-packages/bzrlib/plugins/qbzr/lib/diffwindow.py", line 294, in load_diff
    executable) in sorted(changes, key=changes_key):
  File "/usr/lib/python2.6/dist-packages/bzrlib/tree.py", line 1066, in iter_changes
    specific_file_ids=specific_file_ids))
  File "/usr/lib/python2.6/dist-packages/bzrlib/decorators.py", line 140, in read_locked
    result = unbound(self, *args, **kwargs)
  File "/usr/lib/python2.6/dist-packages/bzrlib/tree.py", line 201, in iter_entries_by_dir
    return self.inventory.iter_entries_by_dir(
  File "/usr/lib/python2.6/dist-packages/bzrlib/workingtree_4.py", line 1818, in _get_inventory
    self._generate_inventory()
  File "/usr/lib/python2.6/dist-packages/bzrlib/workingtree_4.py", line 1684, in _generate_inventory
    self._revision_id, self._dirstate.get_parent_ids()))
AssertionError: parent <email address hidden> has disappeared from ['user@user-desktop-20101102172950-cfuoh74vrbqoxl6v']

bzr 2.1.1 on python 2.6.5 (linux2)
arguments: ['/usr/bin/bzr', 'qdiff']
encoding: 'UTF-8', fsenc: 'UTF-8', lang: 'en_US.UTF-8'
plugins:
  bzrtools /usr/lib/python2.6/dist-packages/bzrlib/plugins/bzrtools [2.1.0]
  explorer /usr/lib/python2.6/dist-packages/bzrlib/plugins/explorer [1.0.1]
  launchpad /usr/lib/python2.6/dist-packages/bzrlib/plugins/launchpad [2.1.1]
  netrc_credential_store /usr/lib/python2.6/dist-packages/bzrlib/plugins/netrc_credential_store [2.1.1]
  news_merge /usr/lib/python2.6/dist-packages/bzrlib/plugins/news_merge [2.1.1]
  qbzr /usr/lib/python2.6/dist-packages/bzrlib/plugins/qbzr [0.18.6]

dlebauer (dlebauer)
description: updated
Revision history for this message
Andrew Bennetts (spiv) wrote :

That's weird. Can you reproduce this with "bzr diff"? If so it suggests that somehow your local working tree's metadata is inconsistent with the revision in the repository.

If you can only reproduce this via bzr explorer then it may be a bug in how qbzr generates diffs, rather than core bzr. (If so it might be nice to improve bzrlib to make it harder to misuse bzrlib's APIs, or at least give clearer errors when this sort of misuse happens, but I'm not sure how feasible that would be in this case.)

Revision history for this message
dlebauer (dlebauer) wrote : Re: [Bug 670043] Re: assertion error in bzr-explorer after using M-x vv to commit in emacs

I have uninstalled bzr explorer and bzr diff works as normal, as does
emacs+bzr. In addition, I did not make any changes using bzr-explorer,
I was only checking out the side-by-side diff in bzr-explorer. I also
had another problem today using the same bzr explorer installation on
my desktop with a branch on the server:
https://bugs.launchpad.net/bzr/+bug/670165

On Tue, Nov 2, 2010 at 8:18 PM, Andrew Bennetts
<email address hidden> wrote:
> That's weird.  Can you reproduce this with "bzr diff"?  If so it
> suggests that somehow your local working tree's metadata is inconsistent
> with the revision in the repository.
>
> If you can only reproduce this via bzr explorer then it may be a bug in
> how qbzr generates diffs, rather than core bzr.  (If so it might be nice
> to improve bzrlib to make it harder to misuse bzrlib's APIs, or at least
> give clearer errors when this sort of misuse happens, but I'm not sure
> how feasible that would be in this case.)
>
> --
> assertion error in bzr-explorer after using M-x vv to commit in emacs
> https://bugs.launchpad.net/bugs/670043
> You received this bug notification because you are a direct subscriber
> of the bug.
>

summary: - assertion error in bzr-explorer after using M-x vv to commit in emacs
+ qdiff: refresh of working tree diff crashes if branch tip has changed.
Changed in qbzr:
importance: Undecided → Medium
status: New → Confirmed
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.