bzr is not able to merge from one branch because an Unicode error

Bug #5277 reported by Carlos Perelló Marín
2
Affects Status Importance Assigned to Milestone
Bazaar
Fix Released
Medium
Unassigned

Bug Description

When I try to merge two branches I get this error:

bzr 0.7pre invoked on python 2.4.2.final.0 (linux2)
  arguments: ['/usr/bin/bzr', 'merge', '../archive/launchpad-upstream/launchpad/']
  working dir: u'/home/carlos/Work/Canonical/TranslationUploads'
looking for plugins in /usr/lib/python2.4/site-packages/bzrlib/plugins
add plugin name __init__
add plugin name __init__
add plugin name __init__
add plugin name bzrtools
load plugin (<open file '/usr/lib/python2.4/site-packages/bzrlib/plugins/__init__.py', mode 'U' at 0xb7c918d8>, '/usr/lib/python2.4/site-packages/bzrlib/plugins/__init__.py', ('.py', 'U', 1))
loaded succesfully
load plugin (None, '/usr/lib/python2.4/site-packages/bzrlib/plugins/bzrtools', ('', '', 5))
registered plugin command shelve
registered plugin command unshelve
registered plugin command clean-tree
registered plugin command graph-ancestry
registered plugin command fetch-ghosts
registered plugin command patch
registered plugin command shell
registered plugin command fix
registered plugin command branch-history
registered plugin command baz-import
registered plugin command push
loaded succesfully
looking for plugins in /home/carlos/.bazaar/plugins
got branch format u'Bazaar-NG branch, format 6\n'
lock read: BzrBranch(u'/home/carlos/Work/Canonical/TranslationUploads') (None)
unlock: BzrBranch(u'/home/carlos/Work/Canonical/TranslationUploads') (1)
lock read: BzrBranch(u'/home/carlos/Work/Canonical/TranslationUploads') (None)
unlock: BzrBranch(u'/home/carlos/Work/Canonical/TranslationUploads') (1)
lock read: BzrBranch(u'/home/carlos/Work/Canonical/TranslationUploads') (None)
unlock: BzrBranch(u'/home/carlos/Work/Canonical/TranslationUploads') (1)
lock read: BzrBranch(u'/home/carlos/Work/Canonical/TranslationUploads') (None)
unlock: BzrBranch(u'/home/carlos/Work/Canonical/TranslationUploads') (1)
lock read: BzrBranch(u'/home/carlos/Work/Canonical/TranslationUploads') (None)
unlock: BzrBranch(u'/home/carlos/Work/Canonical/TranslationUploads') (1)
lock read: BzrBranch(u'/home/carlos/Work/Canonical/TranslationUploads') (None)
unlock: BzrBranch(u'/home/carlos/Work/Canonical/TranslationUploads') (1)
start compare_trees
start looking for new files
got branch format u'Bazaar-NG branch, format 6\n'
lock read: BzrBranch(u'/home/carlos/Work/Canonical/archive/launchpad-upstream/launchpad') (None)
unlock: BzrBranch(u'/home/carlos/Work/Canonical/archive/launchpad-upstream/launchpad') (1)
lock read: BzrBranch(u'/home/carlos/Work/Canonical/archive/launchpad-upstream/launchpad') (None)
fetch up to rev {<email address hidden>}
lock read: BzrBranch(u'/home/carlos/Work/Canonical/TranslationUploads') (None)
unlock: BzrBranch(u'/home/carlos/Work/Canonical/TranslationUploads') (1)
need to get revision {<email address hidden>}
need to get revision {<email address hidden>}
need to get revision {<email address hidden>}
need to get revision {<email address hidden>}
need to get revision {<email address hidden>}
need to get revision {<email address hidden>}
need to get revision {<email address hidden>}
need to get revision {<email address hidden>}
need to get revision {<email address hidden>}
need to get revision {<email address hidden>}
need to get revision {<email address hidden>}
need to get revision {<email address hidden>}
need to get revision {<email address hidden>}
need to get revision {<email address hidden>}
need to get revision {<email address hidden>}
need to get revision {<email address hidden>}
need to get revision {<email address hidden>}
need to get revision {<email address hidden>}
need to get revision {<email address hidden>}
need to get revision {<email address hidden>}
need to get revision {<email address hidden>}
need to get revision {<email address hidden>}
need to get revision {<email address hidden>}
need to get revision {<email address hidden>}
need to get revision {<email address hidden>}
need to get revision {<email address hidden>}
need to get revision {<email address hidden>}
need to get revision {<email address hidden>}
need to get revision {<email address hidden>}
need to get revision {<email address hidden>}
need to get revision {<email address hidden>}
need to get revision {<email address hidden>}
need to get revision {<email address hidden>}
need to get revision {<email address hidden>}
need to get revision {<email address hidden>}
need to get revision {<email address hidden>}
need to get revision {<email address hidden>}
need to get revision {<email address hidden>}
need to get revision {<email address hidden>}
need to get 39 revisions in total
copying revision {<email address hidden>}
lock read: BzrBranch(u'/home/carlos/Work/Canonical/archive/launchpad-upstream/launchpad') (1)
unlock: BzrBranch(u'/home/carlos/Work/Canonical/archive/launchpad-upstream/launchpad') (2)
cache hit in WeaveStore(u'/home/carlos/Work/Canonical/archive/launchpad-upstream/launchpad/.bzr') for inventory
unlock: BzrBranch(u'/home/carlos/Work/Canonical/archive/launchpad-upstream/launchpad') (1)
[12595] Thu 09:23:13.066 ERROR: exceptions.UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 24: ordinal not in range(128)
  at /usr/lib/python2.4/codecs.py line 178
  in write
Traceback (most recent call last):
  File "/usr/lib/python2.4/site-packages/bzrlib/commands.py", line 557, in run_bzr_catch_errors
    return run_bzr(argv)
  File "/usr/lib/python2.4/site-packages/bzrlib/commands.py", line 520, in run_bzr
    ret = cmd_obj.run_argv(argv)
  File "/usr/lib/python2.4/site-packages/bzrlib/commands.py", line 233, in run_argv
    return self.run(**all_cmd_args)
  File "/usr/lib/python2.4/site-packages/bzrlib/builtins.py", line 1548, in run
    show_base=show_base)
  File "/usr/lib/python2.4/site-packages/bzrlib/merge.py", line 325, in merge
    merger.set_other(other_revision)
  File "/usr/lib/python2.4/site-packages/bzrlib/merge.py", line 501, in set_other
    self.this_branch)
  File "/usr/lib/python2.4/site-packages/bzrlib/merge.py", line 243, in get_tree
    return branch, get_revid_tree(branch, revision, local_branch)
  File "/usr/lib/python2.4/site-packages/bzrlib/merge.py", line 250, in get_revid_tree
    greedy_fetch(local_branch, branch, revision)
  File "/usr/lib/python2.4/site-packages/bzrlib/fetch.py", line 66, in greedy_fetch
    f = Fetcher(to_branch, from_branch, revision, pb)
  File "/usr/lib/python2.4/site-packages/bzrlib/fetch.py", line 111, in __init__
    self._fetch_revisions(last_revision)
  File "/usr/lib/python2.4/site-packages/bzrlib/fetch.py", line 126, in _fetch_revisions
    self._copy_revisions(revs_to_fetch)
  File "/usr/lib/python2.4/site-packages/bzrlib/fetch.py", line 180, in _copy_revisions
    self._copy_one_revision(rev_id)
  File "/usr/lib/python2.4/site-packages/bzrlib/fetch.py", line 195, in _copy_one_revision
    len(rev.parent_ids))
  File "/usr/lib/python2.4/site-packages/bzrlib/trace.py", line 98, in mutter
    _trace_file.write(out)
  File "/usr/lib/python2.4/codecs.py", line 498, in write
    return self.writer.write(data)
  File "/usr/lib/python2.4/codecs.py", line 178, in write
    data, consumed = self.encode(object, self.errors)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 24: ordinal not in range(128)

return code 3

And this is the log of the conversation with Martin Pool to fix it:

mpool well can you try just commenting out the mutter statement at fetch.py l195?
carlos in my current tree or the checkout that lifeless asked me to download?
mpool of bzr?
carlos yes
mpool either one
carlos ok
mpool whichever you're running
carlos ok
mpool hm i wonder how that got in there
carlos mutter(' commiter %s, %d parents',
carlos rev.committer,
carlos len(rev.parent_ids))
carlos That?
mpool yep
carlos it does not break now
carlos but seems to be stalled...
carlos eating my CPU
carlos ok, forget that. It's working now
carlos thank you!
mpool oh great
mpool please, file a bug with the traceback so i don't forget
carlos ok
mpool i will write a regression test but not tonight :)
carlos ok

Revision history for this message
James Henstridge (jamesh) wrote :

Description of cause of bug plus patch to fix it here:
  http://article.gmane.org/gmane.comp.version-control.bazaar-ng.general/5578

(the above fix of removing the mutter() call just side-steps the issue).

Changed in bzr:
status: New → Fixed
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.