UnicodeDecodeError when checkout from non-ASCII path.

Bug #728380 reported by methane
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Bazaar Subversion Plugin
Fix Released
Low
Jelmer Vernooij

Bug Description

The reason for this bug is foreign.foreign_vcs_registory.parse_revision_id()
creates non-ASCII "svn revno:" property.

C:\home\test>svnadmin create foo

C:\home\test>svn co file://c:/home/test/foo bar
svn: URL に対し ra_local セッションを開始できません
svn: リポジトリ 'file://c:/home/test/foo' を開けませんでした

C:\home\test>svn co file:///c:/home/test/foo bar
リビジョン 0 をチェックアウトしました。

C:\home\test>cd bar

C:\home\test\bar>mkdir ほげ

C:\home\test\bar>cd ほげ

C:\home\test\bar\ほげ>mkdir ひげ

C:\home\test\bar\ほげ>cd ひげ

C:\home\test\bar\ほげ\ひげ>echo foo > ふー

C:\home\test\bar\ほげ\ひげ>cd ..

C:\home\test\bar\ほげ>cd ..

C:\home\test\bar>svn add ほげ
A ほげ
A ほげ\ひげ
A ほげ\ひげ\ふー

C:\home\test\bar>svn ci -m "add ほげ"
追加しています ほげ
追加しています ほげ\ひげ
追加しています ほげ\ひげ\ふー
ファイルのデータを送信しています .
リビジョン 1 をコミットしました。

C:\home\test\bar>cd ..

C:\home\test>bzr branch foo/ほげ hoge
Initialising Subversion metadata cache in C:\Documents and Settings\inada-n\Local Settings\Application Data\svn-cache\0a
558560-88b5-c84e-9fb8-bb921916e46a.
Branched 1 revision(s).

C:\home\test>cd hoge

C:\home\test\hoge>bzr log
bzr: ERROR: exceptions.UnicodeDecodeError: 'ascii' codec can't decode byte 0xe3 in position 18: ordinal not in range(128
)

Traceback (most recent call last):
  File "bzrlib\commands.pyo", line 923, in exception_to_return_code
  File "bzrlib\commands.pyo", line 1123, in run_bzr
  File "bzrlib\commands.pyo", line 691, in run_argv_aliases
  File "bzrlib\commands.pyo", line 710, in run
  File "bzrlib\cleanup.pyo", line 135, in run_simple
  File "bzrlib\cleanup.pyo", line 165, in _do_with_cleanups
  File "bzrlib\commands.pyo", line 1138, in ignore_pipe
  File "bzrlib\builtins.pyo", line 2449, in run
  File "bzrlib\log.pyo", line 343, in show
  File "bzrlib\log.pyo", line 368, in _show_body
  File "bzrlib\log.pyo", line 1588, in log_revision
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe3 in position 18: ordinal not in range(128)

bzr 2.3.0 on python 2.6.6 (Windows-XP-5.1.2600-SP3)
arguments: ['bzr', 'log']
encoding: 'cp932', fsenc: 'mbcs', lang: None
plugins:
  bzrtools C:\Program Files\Bazaar\plugins\bzrtools [2.3.1]
  colo C:\Program Files\Bazaar\plugins\colo [0.2.1]
  explorer C:\Program Files\Bazaar\plugins\explorer [1.1.2]
  fastimport C:\Program Files\Bazaar\plugins\fastimport [0.10.0dev]
  launchpad C:\Program Files\Bazaar\plugins\launchpad [2.3.0]
  loom C:\Program Files\Bazaar\plugins\loom [2.2.1dev]
  netrc_credential_store C:\Program Files\Bazaar\plugins\netrc_credential_store [2.3.0]
  news_merge C:\Program Files\Bazaar\plugins\news_merge [2.3.0]
  pipeline C:\Program Files\Bazaar\plugins\pipeline [1.1.0]
  qbzr C:\Documents and Settings\inada-n\Application Data\bazaar\2.0\plugins\qbzr [0.20.0dev1]
  rewrite C:\Program Files\Bazaar\plugins\rewrite [0.6.2dev]
  svn C:\Program Files\Bazaar\plugins\svn [1.0.5dev]
  upload C:\Program Files\Bazaar\plugins\upload [1.0.0]
  xmloutput C:\Program Files\Bazaar\plugins\xmloutput [0.8.7.dev]

*** 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.

C:\home\test\hoge>bzr info
Standalone tree (format: 2a)
Location:
  branch root: .

Related branches:
  parent branch: C:/home/test/foo/ほげ

C:\home\test\hoge>bzr ls
ひげ/

C:\home\test\hoge>bzr log ひげ
bzr: ERROR: exceptions.UnicodeDecodeError: 'ascii' codec can't decode byte 0xe3 in position 18: ordinal not in range(128
)

Traceback (most recent call last):
  File "bzrlib\commands.pyo", line 923, in exception_to_return_code
  File "bzrlib\commands.pyo", line 1123, in run_bzr
  File "bzrlib\commands.pyo", line 691, in run_argv_aliases
  File "bzrlib\commands.pyo", line 710, in run
  File "bzrlib\cleanup.pyo", line 135, in run_simple
  File "bzrlib\cleanup.pyo", line 165, in _do_with_cleanups
  File "bzrlib\commands.pyo", line 1138, in ignore_pipe
  File "bzrlib\builtins.pyo", line 2449, in run
  File "bzrlib\log.pyo", line 343, in show
  File "bzrlib\log.pyo", line 368, in _show_body
  File "bzrlib\log.pyo", line 1588, in log_revision
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe3 in position 18: ordinal not in range(128)

bzr 2.3.0 on python 2.6.6 (Windows-XP-5.1.2600-SP3)
arguments: ['bzr', 'log', '\x82\xd0\x82\xb0']
encoding: 'cp932', fsenc: 'mbcs', lang: None
plugins:
  bzrtools C:\Program Files\Bazaar\plugins\bzrtools [2.3.1]
  colo C:\Program Files\Bazaar\plugins\colo [0.2.1]
  explorer C:\Program Files\Bazaar\plugins\explorer [1.1.2]
  fastimport C:\Program Files\Bazaar\plugins\fastimport [0.10.0dev]
  launchpad C:\Program Files\Bazaar\plugins\launchpad [2.3.0]
  loom C:\Program Files\Bazaar\plugins\loom [2.2.1dev]
  netrc_credential_store C:\Program Files\Bazaar\plugins\netrc_credential_store [2.3.0]
  news_merge C:\Program Files\Bazaar\plugins\news_merge [2.3.0]
  pipeline C:\Program Files\Bazaar\plugins\pipeline [1.1.0]
  qbzr C:\Documents and Settings\inada-n\Application Data\bazaar\2.0\plugins\qbzr [0.20.0dev1]
  rewrite C:\Program Files\Bazaar\plugins\rewrite [0.6.2dev]
  svn C:\Program Files\Bazaar\plugins\svn [1.0.5dev]
  upload C:\Program Files\Bazaar\plugins\upload [1.0.0]
  xmloutput C:\Program Files\Bazaar\plugins\xmloutput [0.8.7.dev]

*** 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.

C:\home\test\hoge>set BZR_PDB=1

C:\home\test\hoge>bzr log ひげ
bzr: ERROR: exceptions.UnicodeDecodeError: 'ascii' codec can't decode byte 0xe3 in position 18: ordinal not in range(128
)

Traceback (most recent call last):
  File "bzrlib\commands.pyo", line 923, in exception_to_return_code
  File "bzrlib\commands.pyo", line 1123, in run_bzr
  File "bzrlib\commands.pyo", line 691, in run_argv_aliases
  File "bzrlib\commands.pyo", line 710, in run
  File "bzrlib\cleanup.pyo", line 135, in run_simple
  File "bzrlib\cleanup.pyo", line 165, in _do_with_cleanups
  File "bzrlib\commands.pyo", line 1138, in ignore_pipe
  File "bzrlib\builtins.pyo", line 2449, in run
  File "bzrlib\log.pyo", line 343, in show
  File "bzrlib\log.pyo", line 368, in _show_body
  File "bzrlib\log.pyo", line 1588, in log_revision
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe3 in position 18: ordinal not in range(128)

bzr 2.3.0 on python 2.6.6 (Windows-XP-5.1.2600-SP3)
arguments: ['bzr', 'log', '\x82\xd0\x82\xb0']
encoding: 'cp932', fsenc: 'mbcs', lang: None
plugins:
  bzrtools C:\Program Files\Bazaar\plugins\bzrtools [2.3.1]
  colo C:\Program Files\Bazaar\plugins\colo [0.2.1]
  explorer C:\Program Files\Bazaar\plugins\explorer [1.1.2]
  fastimport C:\Program Files\Bazaar\plugins\fastimport [0.10.0dev]
  launchpad C:\Program Files\Bazaar\plugins\launchpad [2.3.0]
  loom C:\Program Files\Bazaar\plugins\loom [2.2.1dev]
  netrc_credential_store C:\Program Files\Bazaar\plugins\netrc_credential_store [2.3.0]
  news_merge C:\Program Files\Bazaar\plugins\news_merge [2.3.0]
  pipeline C:\Program Files\Bazaar\plugins\pipeline [1.1.0]
  qbzr C:\Documents and Settings\inada-n\Application Data\bazaar\2.0\plugins\qbzr [0.20.0dev1]
  rewrite C:\Program Files\Bazaar\plugins\rewrite [0.6.2dev]
  svn C:\Program Files\Bazaar\plugins\svn [1.0.5dev]
  upload C:\Program Files\Bazaar\plugins\upload [1.0.0]
  xmloutput C:\Program Files\Bazaar\plugins\xmloutput [0.8.7.dev]

*** 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.
**** entering debugger
> c:\home\test\hoge\bzrlib\log.pyo(1588)log_revision()
(Pdb) bt
  c:\home\test\hoge\bzrlib\commands.pyo(923)exception_to_return_code()
  c:\home\test\hoge\bzrlib\commands.pyo(1123)run_bzr()
  c:\home\test\hoge\bzrlib\commands.pyo(691)run_argv_aliases()
  c:\home\test\hoge\bzrlib\commands.pyo(710)run()
  c:\home\test\hoge\bzrlib\cleanup.pyo(135)run_simple()
  c:\home\test\hoge\bzrlib\cleanup.pyo(165)_do_with_cleanups()
  c:\home\test\hoge\bzrlib\commands.pyo(1138)ignore_pipe()
  c:\home\test\hoge\bzrlib\builtins.pyo(2449)run()
  c:\home\test\hoge\bzrlib\log.pyo(343)show()
  c:\home\test\hoge\bzrlib\log.pyo(368)_show_body()
> c:\home\test\hoge\bzrlib\log.pyo(1588)log_revision()
(Pdb) a
self = <bzrlib.log.LongLogFormatter object at 0x01AB7D10>
revision = <bzrlib.log.LogRevision object at 0x01ABF6B0>
(Pdb) list
[EOF]
(Pdb) p revision
<bzrlib.log.LogRevision object at 0x01ABF6B0>
(Pdb) p dir(revision)
['__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__module_
_', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '_
_weakref__', 'delta', 'diff', 'merge_depth', 'rev', 'revno', 'tags']
(Pdb) p revision.rev
<Revision id svn-v4:0a558560-88b5-c84e-9fb8-bb921916e46a:%E3%81%BB%E3%81%92:1>
(Pdb) p revision.revno
'1'
(Pdb) p indent
''
(Pdb) p lines
['------------------------------------------------------------', 'revno: 1', 'svn revno: 1 (on /\xe3\x81\xbb\xe3\x81\x92
)', u'committer: inada-n', 'timestamp: Wed 2011-03-02 16:51:21 +0000', 'message:', u' add \u307b\u3052']
(Pdb) p lines[0]
'------------------------------------------------------------'
(Pdb) p lines[1]
'revno: 1'
(Pdb) p lines[2]
'svn revno: 1 (on /\xe3\x81\xbb\xe3\x81\x92)'
(Pdb) p revision.rev.foreign_revid
*** AttributeError: AttributeError("'Revision' object has no attribute 'foreign_revid'",)
(Pdb) p revision.rev
<Revision id svn-v4:0a558560-88b5-c84e-9fb8-bb921916e46a:%E3%81%BB%E3%81%92:1>
(Pdb) p dir(revision.rev)
['__class__', '__delattr__', '__dict__', '__doc__', '__eq__', '__format__', '__getattribute__', '__hash__', '__init__',
'__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '_
_subclasshook__', '__weakref__', '_check_properties', 'committer', 'get_apparent_authors', 'get_history', 'get_summary',
 'inventory_sha1', 'iter_bugs', 'message', 'parent_ids', 'parent_sha1s', 'properties', 'revision_id', 'timestamp', 'time
zone']
(Pdb) p revision.rev.mapping
*** AttributeError: AttributeError("'Revision' object has no attribute 'mapping'",)
(Pdb) p revision.mapping
*** AttributeError: AttributeError("'LogRevision' object has no attribute 'mapping'",)
(Pdb) p revision.rev
<Revision id svn-v4:0a558560-88b5-c84e-9fb8-bb921916e46a:%E3%81%BB%E3%81%92:1>
(Pdb) p revision.rev.mapping
*** AttributeError: AttributeError("'Revision' object has no attribute 'mapping'",)
(Pdb) p type(revision.rev)
<class 'bzrlib.revision.Revision'>
(Pdb) bzrlib.foreign
*** NameError: name 'bzrlib' is not defined
(Pdb) foreign
<module 'bzrlib.foreign' from 'C:\Program Files\Bazaar\lib\library.zip\bzrlib\foreign.pyo'>
(Pdb) foreign.foreign_vcs_registry.parse_revision_id(revision.rev.revision_id)
(('0a558560-88b5-c84e-9fb8-bb921916e46a', '\xe3\x81\xbb\xe3\x81\x92', 1), <bzrlib.plugins.svn.mapping4.BzrSvnMappingv4 o
bject at 0x01C04830>)
(Pdb)

Related branches

Jelmer Vernooij (jelmer)
Changed in bzr-svn:
status: New → In Progress
importance: Undecided → Low
assignee: nobody → Jelmer Vernooij (jelmer)
milestone: none → 1.1.0
status: In Progress → Fix Committed
Jelmer Vernooij (jelmer)
Changed in bzr-svn:
status: Fix Committed → Fix Released
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.