Segmentation fault and crash using bzr on generated SVN repository and working copy
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar Subversion Plugin |
Fix Released
|
Undecided
|
Jelmer Vernooij | ||
subvertpy |
Fix Released
|
Undecided
|
Jelmer Vernooij |
Bug Description
UPDATE: the second crash is split out into bzr-svn bug #319317 and involves symlinks to/from Unicode filenames. So this bug can be considered only about the segfault.
Using a generated SVN repository and working copy, I'm able to get bzr-svn to segfault and crash. This looks like two different problems, but they are triggered with essentially the same test case. We can split this into two bugs if you'd rather.
I'm using bzr.dev head + my bugfix to bug #317644, bzr-svn 0.5 head, subvertpy head.
Details:
The SVN repository is generated, and has no semantic meaning, but is valid.
The SVN working copy is put into an unexpected, but normal and recoverable state, where a file has unexpectedly changed status, as illustrated below:
$ svn status
R 𡦇
R 𡦇
A 𡦇
A 𡦇
A 𡦇
A 𡦇
A 𦮤孿
$ svn commit -m "This won't work"
svn: Commit failed (details follow):
svn: Entry '/home/
When trying to use bzr on this SVN working copy, I get a segmentation fault:
$ bzr up
Segmentation fault
If I then fix the working copy to get it out of the unexpected changed status state, then bzr crashes with a different error, but not a segfault:
$ svn revert 𡦇
Reverted '𡦇
$ svn commit -m "Commit"
Replacing 𡦇
Adding 𡦇
Adding 𡦇
Adding 𡦇
Adding 𡦇
Adding 𦮤孿
Transmitting file data ...
Committed revision 85.
$ bzr up
bzr: ERROR: exceptions.
Traceback (most recent call last):
File "/home/
return run_bzr(argv)
File "/home/
ret = run(*run_argv)
File "/home/
return self.run(
File "/home/
tree = WorkingTree.
File "/home/
return control.
File "/home/
return SvnWorkingTree(
File "/home/
self.
File "/home/
self.
File "/home/
add_
File "/home/
add_
File "/home/
file.
UnicodeEncodeError: 'ascii' codec can't encode characters in position 49-53: ordinal not in range(128)
bzr 1.12dev on python 2.5.2 (linux2)
arguments: ['/home/
encoding: 'UTF-8', fsenc: 'UTF-8', lang: 'en_US.UTF-8'
plugins:
bisect /home/wjlanda/
bzrtools /usr/lib/
cvsps_import /usr/lib/
gtk /home/wjlanda/
launchpad /home/wjlanda/
loom /usr/lib/
netrc_
qbzr /home/wjlanda/
rebase /usr/lib/
search /usr/lib/
stats /usr/lib/
svn /home/wjlanda/
upload /usr/lib/
*** Bazaar has encountered an internal error.
Please report a bug at https:/
including this traceback, and a description of what you
were doing when the error occurred.
description: | updated |
Changed in bzr-svn: | |
assignee: | nobody → Jelmer Vernooij (jelmer) |
Changed in subvertpy: | |
assignee: | nobody → Jelmer Vernooij (jelmer) |
Just a note: to reproduce this, you'll need to unpack the tarball with a UTF-8 locale and you may have to "svn switch --relocate" the wc since it stores a hardcoded path.