Package: bzr
Version: 1.5-1.1
Version: 2.0.2-1
Version: 2.0.3-1

If I try to commit a new file whose name contains a newline character, bzr explodes with a stack trace and asks me to file a bug report. I don't expect bzr to be able to actually record such a silly filename, but it would be nice if it failed a little more gracefully. Sample session (using 1.5-1.1) below. Forcing the repository format gets a similar error out of 2.0.2-1, while using the default format gets a different (and marginally more helpful) stack trace.

chiark:~$ mkdir foo
chiark:~$ cd foo
chiark:~/foo$ bzr init --pack-0.92
chiark:~/foo$ touch "$(printf 'xxx\nyyy')"
chiark:~/foo$ bzr add "$(printf 'xxx\nyyy')"
added "xxx
yyy"
chiark:~/foo$ bzr commit -m "silly filename"
Committing to: /u2/bjharris/foo/
added xxx
yyy
bzr: ERROR: bzrlib.errors.KnitCorrupt: Knit <bzrlib.knit._PackAccess object at 
0x882f6ec> corrupt: incorrect number of lines 4 != 3 for version 
{bjhar...@chiark-20100104231636-4ynpdychlq525n8w}

Traceback (most recent call last):
  File "/usr/lib/python2.5/site-packages/bzrlib/commands.py", line 846, in 
run_bzr_catch_errors
    return run_bzr(argv)
  File "/usr/lib/python2.5/site-packages/bzrlib/commands.py", line 797, in 
run_bzr
    ret = run(*run_argv)
  File "/usr/lib/python2.5/site-packages/bzrlib/commands.py", line 499, in 
run_argv_aliases
    return self.run(**all_cmd_args)
  File "/usr/lib/python2.5/site-packages/bzrlib/builtins.py", line 2364, in run
    author=author)
  File "/usr/lib/python2.5/site-packages/bzrlib/decorators.py", line 165, in 
write_locked
    return unbound(self, *args, **kwargs)
  File "/usr/lib/python2.5/site-packages/bzrlib/workingtree_4.py", line 240, in 
commit
    result = WorkingTree3.commit(self, message, revprops, *args, **kwargs)
  File "/usr/lib/python2.5/site-packages/bzrlib/decorators.py", line 165, in 
write_locked
    return unbound(self, *args, **kwargs)
  File "/usr/lib/python2.5/site-packages/bzrlib/mutabletree.py", line 197, in 
commit
    revprops=revprops, *args, **kwargs)
  File "/usr/lib/python2.5/site-packages/bzrlib/commit.py", line 372, in commit
    self.rev_id = self.builder.commit(self.message)
  File "/usr/lib/python2.5/site-packages/bzrlib/repository.py", line 137, in 
commit
    self.new_inventory, self._config)
  File "/usr/lib/python2.5/site-packages/bzrlib/repository.py", line 558, in 
add_revision
    rev.inventory_sha1 = inventory_vf.get_sha1s([revision_id])[0]
  File "/usr/lib/python2.5/site-packages/bzrlib/knit.py", line 766, in get_sha1s
    record_map = self._get_record_map(version_ids)
  File "/usr/lib/python2.5/site-packages/bzrlib/knit.py", line 1129, in 
_get_record_map
    self._data.read_records_iter(records):
  File "/usr/lib/python2.5/site-packages/bzrlib/knit.py", line 2530, in 
read_records_iter
    content, digest = self._parse_record(version_id, data)
  File "/usr/lib/python2.5/site-packages/bzrlib/knit.py", line 2477, in 
_parse_record
    version_id))
KnitCorrupt: Knit <bzrlib.knit._PackAccess object at 0x882f6ec> corrupt: incorrect number of lines 4 != 3 for version {bjhar...@chiark-20100104231636-4ynpdychlq525n8w}

bzr 1.5 on python 2.5.2 (linux2)
arguments: ['/usr/bin/bzr', 'commit', '-m', 'silly filename']
encoding: 'ANSI_X3.4-1968', fsenc: 'ANSI_X3.4-1968', lang: None
plugins:
  bzrtools             /usr/lib/python2.5/site-packages/bzrlib/plugins/bzrtools 
[1.5.0]
  launchpad            
/usr/lib/python2.5/site-packages/bzrlib/plugins/launchpad [unknown]
*** Bazaar has encountered an internal error.
    Please report a bug at https://bugs.launchpad.net/bzr/+filebug
    including this traceback, and a description of what you
    were doing when the error occurred.

Possibly-relevant packages:
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name           Version        Description
+++-==============-==============-============================================
pn  bzr-gtk        <none>         (no description available)
pn  bzr-svn        <none>         (no description available)
ii  bzrtools       1.5.0-1        Collection of tools for bzr
ii  libc6          2.7-18         GNU C Library: Shared libraries
ii  python         2.5.2-3        An interactive high-level object-oriented la
ii  python-central 0.6.8          register and build utility for Python packag
ii  python-paramik 1.7.4-0.1      Make ssh v2 connections with python
ii  python-pycurl  7.18.2-1       Python bindings to libcurl
pn  xdg-utils      <none>         (no description available)

Kernel version:
Linux chiark 2.6.16.60 #1 SMP Sun Feb 10 14:48:32 GMT 2008 i686 GNU/Linux

.bzr.log is attached.

--
Ben Harris
this is a debug log for diagnosing/reporting problems in bzr
you can delete or truncate this file, or include sections in
bug reports to https://bugs.launchpad.net/bzr/+filebug

0.240  encoding stdout as sys.stdout encoding 'ANSI_X3.4-1968'
0.241  bzr arguments: [u'init', u'--pack-0.92']
0.242  looking for plugins in /u2/bjharris/.bazaar/plugins
0.242  looking for plugins in /usr/lib/python2.5/site-packages/bzrlib/plugins
0.242  Plugin name __init__ already loaded
0.242  Plugin name __init__ already loaded
0.407  encoding stdout as sys.stdout encoding 'ANSI_X3.4-1968'
0.426  created control directory in file:///u2/bjharris/foo/
0.440  creating repository in file:///u2/bjharris/foo/.bzr/.
0.450  creating branch <bzrlib.branch.BzrBranchFormat6 object at 0x851cdec> in file:///u2/bjharris/foo/.bzr/
0.474  trying to create missing lock '/u2/bjharris/foo/.bzr/checkout/dirstate'
0.475  opening working tree '/u2/bjharris/foo'
0.486  return code 0

0.213  encoding stdout as sys.stdout encoding 'ANSI_X3.4-1968'
0.214  bzr arguments: [u'add', u'xxx\nyyy']
0.215  looking for plugins in /u2/bjharris/.bazaar/plugins
0.215  looking for plugins in /usr/lib/python2.5/site-packages/bzrlib/plugins
0.215  Plugin name __init__ already loaded
0.215  Plugin name __init__ already loaded
0.275  encoding stdout as sys.stdout encoding 'ANSI_X3.4-1968'
0.399  opening working tree '/u2/bjharris/foo'
0.419  return code 0

0.254  encoding stdout as sys.stdout encoding 'ANSI_X3.4-1968'
0.255  bzr arguments: [u'commit', u'-m', u'silly filename']
0.255  looking for plugins in /u2/bjharris/.bazaar/plugins
0.255  looking for plugins in /usr/lib/python2.5/site-packages/bzrlib/plugins
0.256  Plugin name __init__ already loaded
0.256  Plugin name __init__ already loaded
0.306  encoding stdout as sys.stdout encoding 'ANSI_X3.4-1968'
0.439  opening working tree '/u2/bjharris/foo'
0.458  preparing to commit
[ 9767] 2010-01-04 23:34:11.890 INFO: Committing to: /u2/bjharris/foo/
0.474  Selecting files for commit with filter None
[ 9767] 2010-01-04 23:34:11.895 INFO: added xxx
yyy
0.614  Traceback (most recent call last):
  File "/usr/lib/python2.5/site-packages/bzrlib/commands.py", line 846, in run_bzr_catch_errors
    return run_bzr(argv)
  File "/usr/lib/python2.5/site-packages/bzrlib/commands.py", line 797, in run_bzr
    ret = run(*run_argv)
  File "/usr/lib/python2.5/site-packages/bzrlib/commands.py", line 499, in run_argv_aliases
    return self.run(**all_cmd_args)
  File "/usr/lib/python2.5/site-packages/bzrlib/builtins.py", line 2364, in run
    author=author)
  File "/usr/lib/python2.5/site-packages/bzrlib/decorators.py", line 165, in write_locked
    return unbound(self, *args, **kwargs)
  File "/usr/lib/python2.5/site-packages/bzrlib/workingtree_4.py", line 240, in commit
    result = WorkingTree3.commit(self, message, revprops, *args, **kwargs)
  File "/usr/lib/python2.5/site-packages/bzrlib/decorators.py", line 165, in write_locked
    return unbound(self, *args, **kwargs)
  File "/usr/lib/python2.5/site-packages/bzrlib/mutabletree.py", line 197, in commit
    revprops=revprops, *args, **kwargs)
  File "/usr/lib/python2.5/site-packages/bzrlib/commit.py", line 372, in commit
    self.rev_id = self.builder.commit(self.message)
  File "/usr/lib/python2.5/site-packages/bzrlib/repository.py", line 137, in commit
    self.new_inventory, self._config)
  File "/usr/lib/python2.5/site-packages/bzrlib/repository.py", line 558, in add_revision
    rev.inventory_sha1 = inventory_vf.get_sha1s([revision_id])[0]
  File "/usr/lib/python2.5/site-packages/bzrlib/knit.py", line 766, in get_sha1s
    record_map = self._get_record_map(version_ids)
  File "/usr/lib/python2.5/site-packages/bzrlib/knit.py", line 1129, in _get_record_map
    self._data.read_records_iter(records):
  File "/usr/lib/python2.5/site-packages/bzrlib/knit.py", line 2530, in read_records_iter
    content, digest = self._parse_record(version_id, data)
  File "/usr/lib/python2.5/site-packages/bzrlib/knit.py", line 2477, in _parse_record
    version_id))
KnitCorrupt: Knit <bzrlib.knit._PackAccess object at 0x882f6ec> corrupt: incorrect number of lines 4 != 3 for version {bjhar...@chiark-20100104233411-pd1az8jmyanm4hko}

0.617  return code 4

Reply via email to