Stack trace on colo branch merge/update

Bug #709118 reported by Alex Lewis
4
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Bazaar
Confirmed
Undecided
Unassigned

Bug Description

Following the standard process for using colo (as I understand it, apologies if I have it wrong) I cannot merge from a branch back into the trunk. When I try to commit I can't however it says to run "update" but doing so results in a stack trace. Here are the rough steps I perform but I have included console output later on in the report.

Steps:
  - Create colo workspace
  - colo-init
  - Create a branch (and switch to it)
  - Do stuff.
  - Commit changes
  - switch to trunk
  - merge changes
  - bzr status - says to update
  - bzr update - CRASH
  - bzr commit - won't commit.

Please accept my apologies if this is just user error but thought I would raise the bug in case it wasn't.

Alex

Details
---------
OS: Ubuntu 10.10
Bazaar - 2.2.3 (from PPA)
Plugins:
  - bash_completion 2.2.3
  - bzrtools 2.2.0
  - colo 0.2.0
  - launchpad 2.2.3
  - netrc_credential_store 2.2.3
  - news_merge 2.2.3
  - pipeline 1.1.0
  - svn 1.0.4

Commands and Output
-----------------------------
(09:20:00) projects> mkdir colo_test
(09:20:11) projects> cd colo_test/
(09:20:16) colo_test> bzr colo-init
(09:20:25) colo_test> bzr colo-branch branch1
Branched 0 revision(s).
Tree is up to date at revision 0.
Switched to branch: /media/Main/dev/projects/colo_test/.bzr/branches/branch1/
(09:20:38) colo_test> touch newfile.txt
(09:20:49) colo_test> gvim newfile.txt
(09:20:53) colo_test> bzr add newfile.txt
.bzr/ newfile.txt
(09:20:53) colo_test> bzr add newfile.txt
adding newfile.txt
(09:21:10) colo_test> bzr commit -m "Added new file"
Committing to: /media/Main/dev/projects/colo_test/.bzr/branches/branch1/
added newfile.txt
Committed revision 1.
(09:21:18) colo_test> bzr switch colo:trunk
Updated to revision 0.
Switched to branch: /media/Main/dev/projects/colo_test/.bzr/branches/trunk/
(09:21:29) colo_test> bzr status
(09:21:32) colo_test> bzr merge colo:branch1
+N newfile.txt
All changes applied successfully.
(09:21:40) colo_test> bzr status
working tree is out of date, run 'bzr update'
(09:21:43) colo_test> bzr update
bzr: failed to report crash using apport:
     OSError(13, 'Permission denied')
bzr: ERROR: exceptions.ValueError: WorkingTree.set_root_id with fileid=None

Traceback (most recent call last):
  File "/usr/lib/python2.6/dist-packages/bzrlib/commands.py", line 912, in exception_to_return_code
    return the_callable(*args, **kwargs)
  File "/usr/lib/python2.6/dist-packages/bzrlib/commands.py", line 1112, in run_bzr
    ret = run(*run_argv)
  File "/usr/lib/python2.6/dist-packages/bzrlib/commands.py", line 690, in run_argv_aliases
    return self.run(**all_cmd_args)
  File "/usr/lib/python2.6/dist-packages/bzrlib/commands.py", line 705, in run
    return self._operation.run_simple(*args, **kwargs)
  File "/usr/lib/python2.6/dist-packages/bzrlib/cleanup.py", line 135, in run_simple
    self.cleanups, self.func, *args, **kwargs)
  File "/usr/lib/python2.6/dist-packages/bzrlib/cleanup.py", line 165, in _do_with_cleanups
    result = func(*args, **kwargs)
  File "/usr/lib/python2.6/dist-packages/bzrlib/builtins.py", line 1440, in run
    old_tip=old_tip)
  File "/usr/lib/python2.6/dist-packages/bzrlib/workingtree.py", line 2262, in update
    return self._update_tree(old_tip, change_reporter, revision)
  File "/usr/lib/python2.6/dist-packages/bzrlib/mutabletree.py", line 50, in tree_write_locked
    return unbound(self, *args, **kwargs)
  File "/usr/lib/python2.6/dist-packages/bzrlib/workingtree.py", line 2317, in _update_tree
    self.set_root_id(to_root_id)
  File "/usr/lib/python2.6/dist-packages/bzrlib/mutabletree.py", line 50, in tree_write_locked
    return unbound(self, *args, **kwargs)
  File "/usr/lib/python2.6/dist-packages/bzrlib/workingtree.py", line 2175, in set_root_id
    'WorkingTree.set_root_id with fileid=None')
ValueError: WorkingTree.set_root_id with fileid=None

bzr 2.2.3 on python 2.6.6 (Linux-2.6.35-24-generic-i686-with-Ubuntu-10.10-maverick)
arguments: ['/usr/bin/bzr', 'update']
encoding: 'UTF-8', fsenc: 'UTF-8', lang: 'en_GB.utf8'
plugins:
  bash_completion /usr/lib/python2.6/dist-packages/bzrlib/plugins/bash_completion [2.2.3]
  bzrtools /usr/lib/python2.6/dist-packages/bzrlib/plugins/bzrtools [2.2.0]
  colo /home/alewis/.bazaar/plugins/colo [0.2.0]
  launchpad /usr/lib/python2.6/dist-packages/bzrlib/plugins/launchpad [2.2.3]
  netrc_credential_store /usr/lib/python2.6/dist-packages/bzrlib/plugins/netrc_credential_store [2.2.3]
  news_merge /usr/lib/python2.6/dist-packages/bzrlib/plugins/news_merge [2.2.3]
  pipeline /usr/lib/python2.6/dist-packages/bzrlib/plugins/pipeline [1.1.0]
  svn /usr/lib/python2.6/dist-packages/bzrlib/plugins/svn [1.0.4]

*** Bazaar has encountered an internal error. This probably indicates a
    bug in Bazaar. You can help us fix it by filing a bug report at
        https://bugs.launchpad.net/bzr/+filebug
    including this traceback and a description of the problem.
(09:21:48) colo_test> bzr commit -m "Trying to commit"
Committing to: /media/Main/dev/projects/colo_test/.bzr/branches/trunk/
aborting commit write group: PointlessCommit(No changes to commit)
bzr: ERROR: No changes to commit. Use --unchanged to commit anyhow.
(09:29:20) colo_test>

Revision history for this message
Neil Martinsen-Burrell (nmb) wrote :

The colocated workspace is not the source of the bug. This comes from bzr core. The following reproduces the same stack trace.

$ cd tmp
$ bzr init test
$ bzr branch test other
$ cd other
$ touch file.txt
$ bzr add
$ bzr ci -m 'added file'
$ cd ../test
$ bzr merge ../other
$ bzr st
$ bzr update

The essence of the problem seems to be that the original branch has no revisions in it, as the following works fine

$ bzr init test
$ cd test
$ bzr ci -m 'a revision' --unchanged
$ cd ..
$ bzr branch test other
$ cd other
$ touch file.txt
$ bzr add
$ bzr ci -m 'a new revision'
$ cd ../test
$ bzr merge ../other
$ bzr st
$ bzr update

affects: bzr-colo → bzr
Changed in bzr:
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.