"bzr commit" in Checkout crash with directory contain non-ascii char

Bug #563121 reported by jack
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Bazaar
Confirmed
Low
Unassigned

Bug Description

I init a branch in local dir (orig)

create a checkout (chk in local) from (orig)
create a branch (brh in local)
add some change in the checkout
and then "bzr commit" in the checkout, and crash
run "bzr commit" in brh seems no problem.

checkout's info
Checkout (format: 2a)
Location:
       checkout root: .
  checkout of branch: /home/jack/桌面/testbase/orig

paths include:
/home/jack/桌面/testbase/orig
/home/jack/桌面/testbase/chk
/home/jack/桌面/testbase/brh

Revision history for this message
jack (jacksjy) wrote :
Revision history for this message
Robert Collins (lifeless) wrote : Re: [Bug 563121] [NEW] "bzr commit" in Checkout crash with directory contain non-ascii char

 status confirmed
 importance high

We really should squash all these i18n related bugs

Changed in bzr:
importance: Undecided → High
status: New → Confirmed
Martin Pool (mbp)
tags: added: unicode
Revision history for this message
Parth Malwankar (parthm) wrote :

I tried a few combinations but wasn't able to reproduce this. (bzr 2.1.1, ubuntu 9.10, python 2.6.4).
Could you mention the exact commands that can reproduce this?

These are the things that I tried.

[testbase]% pwd
/home/parthm/tmp/€/testbase
[testbase]% bzr init orig
Created a standalone tree (format: 2a)
[testbase]% bzr checkout orig chk
[testbase]% cd chk
[chk]% touch x
[chk]% bzr add
adding x
[chk]% bzr ci -m "added x"
Committing to: /home/parthm/tmp/€/testbase/orig/
added x
Committed revision 1.
[chk]% echo hello > hello.txt
[chk]% bzr add
adding hello.txt
[chk]% bzr ci -m "added hello"
Committing to: /home/parthm/tmp/€/testbase/orig/
added hello.txt
Committed revision 2.
[chk]% cd ..
[testbase]% ls orig
[testbase]% cd chk
[chk]% cd ..
[testbase]% bzr branch orig brh
Branched 2 revision(s).
[testbase]% ls brh
hello.txt x
[testbase]% cd brh
[brh]% touch y
[brh]% bzr add
adding y
[brh]% bzr ci -m "added y"
Committing to: /home/parthm/tmp/€/testbase/brh/
added y
Committed revision 3.
[brh]% bzr push :parent
All changes applied successfully.
Pushed up to revision 3.
[brh]% cd ../chk
[chk]% bzr pull ../orig
+N y
All changes applied successfully.
Now on revision 3.
[chk]% echo hello >> y
[chk]% bzr ci -m "updatd"
Committing to: /home/parthm/tmp/€/testbase/orig/
modified y
Committed revision 4.
[chk]% cd ..
[testbase]% bzr checkout --lightweight orig chk2
[testbase]% cd chk2
[chk2]% echo world >> hello.txt
[chk2]% bzr ci -m "updated hello"
Committing to: /home/parthm/tmp/€/testbase/orig/
modified hello.txt
Committed revision 5.
[chk2]%

Changed in bzr:
status: Confirmed → Incomplete
Revision history for this message
jack (jacksjy) wrote :

Robert Collins
Martin Pool
Parth Malwankar

Sorry for my mistake,

I check my bash_history and

I reproduce the problem , and I think it is not cause by the unicode, and may be this is not a bug.

I make a checkout circle(i'm not sure it is the right discription).

chk 's info
Checkout (format: 2a)
Location:
       checkout root: .
  checkout of branch: /home/jack/桌面/testbase/orig

orig 's info
Checkout (format: 2a)
Location:
       checkout root: .
  checkout of branch: /home/jack/桌面/testbase/chk

Thanks for your reply.

Revision history for this message
Parth Malwankar (parthm) wrote :

Yes. The crash report does say "maximum recursion depth exceeded".
The attached script reproduces this but the script method is quite a corner case. If someone can think of this happening in a more common case then probably we can fail early by doing a check before creating a checkout. I will mark this as low for now. It can probably be won't fix also if there is no other way of creating this error.

Changed in bzr:
status: Incomplete → Confirmed
importance: High → Low
tags: removed: unicode
Revision history for this message
Martin Pool (mbp) wrote :

From Parth's description #5 I think this is bug 405192

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.