I can confirm this on Karmic, same ytree version. Running ytree, and
pressing Enter just once on the top directory causes ytree to die with a
SIGABRT. Memory mis-management?
A BT provides:
#0 0x7f1facb0f2e0 in __gconv_transform_utf8_internal (step=value
optimized out, data=0x7fff2202d370, inptrp=0x7fff2202d3b0, inend=0x1ec4924
e_1.92-1.diff.gz, outbufstart=0x0, irreversible=0x7fff2202d3b8, do_flush=0,
consume_incomplete=1) at ../iconv/loop.c:390
inptr = value optimized out
lirreversiblep = (size_t *) 0x7fff2202d308
outbuf = (unsigned char *) 0x7fff2202d3c0 \004
outend = (unsigned char *) 0x7fff2202d3c4
lirreversible = 0
next_step = (struct __gconv_step *) 0x1ec4458
next_data = (struct __gconv_step_data *) 0x7fff2202d3a8
fct = (__gconv_fct) 0
status = value optimized out
__PRETTY_FUNCTION__ = __gconv_transform_utf8_internal
#1 0x7f1facb77beb in *__GI___mbrtowc (pwc=value optimized out,
s=0x1ec4920 ytree_1.92-1.diff.gz, n=value optimized out, ps=value
optimized out) at mbrtowc.c:82
buf = {4}
data = {__outbuf = 0x7fff2202d3c0 \004, __outbufend = 0x7fff2202d3c4
, __flags = 1, __invocation_counter = 0, __internal_use = 1, __statep =
0x7fff2202d400, __state = {__count = 1, __value = {__wch = 0,
__wchb = \000\000\000}}, __trans = 0x0}
status = value optimized out
result = value optimized out
dummy = 140733763998720
inbuf = (const unsigned char *) 0x1ec4920 ytree_1.92-1.diff.gz
endbuf = (const unsigned char *) 0x1ec4924 e_1.92-1.diff.gz
outbuf = (unsigned char *) 0x7fff2202d3c0 \004
fcts = (const struct gconv_fcts *) 0x1ec43c0
fct = (__gconv_fct) 0x7f1facb0edb0 __gconv_transform_utf8_internal
__PRETTY_FUNCTION__ = __mbrtowc
#2 0x00410103 in StrLeft (str=0x1ec63ba ytree_1.92-1.diff.gz,
count=14) at /usr/include/wchar.h:348
state = {__count = 570614335, __value = {__wch = 32767, __wchb =
�\177\000}}
rez = value optimized out
p = 0x3f Address 0x3f out of bounds
tmp = 0x2202e2 Address 0x2202e2 out of bounds
len = 0
i = 1
#3 0x00419682 in CutFilename (dest=0x7fff2202d490 @;�\001,
src=0x1ec63ba ytree_1.92-1.diff.gz, max_len=17) at util.c:540
tmp = value optimized out
#4 0x00417160 in DisplayFileParameter (file_entry=0x1ec6310) at
stat.c:179
buffer = @;�\001, '\0' repeats 12 times,
auxbuff =
\000\000\000\000\000\000\000�\233A\000\000\000\000\000\000\000
#5 0x0040c540 in HandleFileWindow (dir_entry=0x1ec3b40) at
filewin.c:1427
fe_ptr = (FileEntry *) 0x1ec6310
new_fe_ptr = (FileEntry *) 0x7fff2202d928
de_ptr = (DirEntry *) 0x0
dest_dir_entry = (DirEntry *) 0x7f1facb3204b
walking_package = {new_fe_ptr = 0x49, function_data = {change_modus =
{new_modus = \200X�\001\000\000\000\000\000x�}, change_owner = {new_owner_id
= 31545472}, change_group = {new_group_id = 31545472}, execute = {
command = 0x1e15880 }, copy = {statistic_ptr = 0x1e15880,
dest_dir_entry = 0x1d97800, to_file = 0x7f1fad0bfeb7
D\017�K\004fE\205�\017\210\221, to_path = 0x0, path_copy = 128 '\200',
confirm = 88 'X'}, rename = {
new_name = 0x1e15880 , confirm = 0 '\0'}, mv = {dest_dir_entry =
0x1e15880, to_file = 0x1d97800 B, to_path = 0x7f1fad0bfeb7
D\017�K\004fE\205�\017\210\221, confirm = 0 '\0'}, pipe_cmd = {pipe_file =
0x1e15880},
compress_cmd = {zipfile = 0x1e15880, method = 31029248}}}
ch = 570614335
tmp2 = value optimized out
unput_char = 0
file_size = value optimized out
i = value optimized out
owner_id = value optimized out
group_id = value optimized out
start_x = 0
filepath = \000\000\000\000\000\000\000\000 z��\037\177, '\0'
repeats 26 times,
�B.�\037\177\000\000@@�\001\000\000\000\000�s\r�\037\177\000\000\t\000\000\000\000\000\000\000\023��\001\000\000\000\000xN.�\037\177\000\000\020\207��\037\177\000\000(\000\000\\000\000\000��\002\�\177\000\000��\002\�\177\000\000���~\000\005
\000\000\000\000\000P$\r�\037\177\000\000\005\000\000\000\000\000\000\000PN.�\037\177\000\000\000\000\000\000\000\000\000\000@@�\001\000\000\000\000(N.�\037\177,
'\0' repeats 18 times,
�\f\r�\037\177\000\000\t\000\000\000\000\000\000\000Dr\r�\037\177\000\000...
modus = \000\006\000\000\000\000\000\000 \000
path_copy = value optimized out
term = value optimized out
need_dsp_help = 1 '\001'
maybe_change_x_step = value optimized out
new_name =
\000\000\\000\000\000p�\002\�\177\000\000��\002\�\177\000\000@@�\001\000\000\000\000@@�\001\000\000\000\000�\207��\037\177\000\000\001\200��\000\000\000\000�B�\001\000\000\000\000�B�\001\000\000\000\000�B�\001\000\000\000\000�B�\001\000\000\000\000�B�\001\000\000\000\000�B�\001\000\000\000\000,
'\0' repeats 40