On Mon, Feb 18, 2013 at 5:51 PM, Glenn Fowler <[email protected]> wrote:
>
> 2013-02-14 alpha posted to www.research.att.com/download/alpha/
>         INIT.2013-02-14.tgz
>         ast-ksh.2013-02-14.tgz
> this is a work in progress
> there are known problems on some architectures

I found an issue with "read -C" crashing with multidimensional integer
arrays in a user-defined type...
...example:
-- snip --
$ ~/bin/ksh -c 'typeset -T x_t=( compound -a bar ) ; compound c=( x_t
d ) ; integer c.d.bar[4][6][8].b=789 ;  print -v c >xxx ; read -C p
<xxx ; print -v p'
Segmentation fault
-- snip --

Stack trace looks like this (on SuSe 12.2/AMD64/64bit debug build):
-- snip --
$ gdb --args ~/bin/ksh -c 'typeset -T x_t=( compound -a bar ) ;
compound c=( x_t d ) ; integer c.d.bar[4][6][8].b=789 ;  print -v c
>xxx ; read -C p <xxx ; print -v p'
GNU gdb (GDB) SUSE (7.4.50.20120603-2.1.2)
[snip]
(gdb) run
Starting program: /home/test001/bin/ksh -c typeset\ -T\ x_t=\(\
compound\ -a\ bar\ \)\ \;\ compound\ c=\(\ x_t\ d\ \)\ \;\ integer\
c.d.bar\[4\]\[6\]\[8\].b=789\ \;\ \ print\ -v\ c\ \>xxx\ \;\ read\ -C\
p\ \<xxx\ \;\ print\ -v\ p

Program received signal SIGSEGV, Segmentation fault.
0x00000000004f631c in dtuserdata (dt=0x0, data=0x0, set=0) at
/home/test001/work/ast_ksh_20130214/build_i386_64bit_debug/src/lib/libast/cdt/dtuser.c:45
45                      return asogetptr(&dt->data->user.data);
Missing separate debuginfos, use: zypper install
glibc-debuginfo-2.15-22.17.1.x86_64
(gdb) where
#0  0x00000000004f631c in dtuserdata (dt=0x0, data=0x0, set=0) at
/home/test001/work/ast_ksh_20130214/build_i386_64bit_debug/src/lib/libast/cdt/dtuser.c:45
#1  0x000000000045465c in nv_open (name=0x7ffff7fac810 "p.d.bar[4]",
root=0x0, flags=132608)
    at 
/home/test001/work/ast_ksh_20130214/build_i386_64bit_debug/src/cmd/ksh93/sh/name.c:1310
#2  0x0000000000450e94 in sh_setlist (shp=0x7f6400 <sh>,
arg=0x7ffff7fac540, flags=75629056, typ=0x0)
    at 
/home/test001/work/ast_ksh_20130214/build_i386_64bit_debug/src/cmd/ksh93/sh/name.c:357
#3  0x000000000045183a in sh_setlist (shp=0x7f6400 <sh>,
arg=0x7ffff7fac490, flags=75629056, typ=0x0)
    at 
/home/test001/work/ast_ksh_20130214/build_i386_64bit_debug/src/cmd/ksh93/sh/name.c:494
#4  0x000000000045183a in sh_setlist (shp=0x7f6400 <sh>,
arg=0x7ffff7fac3c0, flags=75629056, typ=0x0)
    at 
/home/test001/work/ast_ksh_20130214/build_i386_64bit_debug/src/cmd/ksh93/sh/name.c:494
#5  0x0000000000477e32 in sh_exec (shp=0x7f6400 <sh>,
t=0x7ffff7fac340, flags=4) at
/home/test001/work/ast_ksh_20130214/build_i386_64bit_debug/src/cmd/ksh93/sh/xec.c:1154
#6  0x0000000000451dcc in sh_setlist (shp=0x7f6400 <sh>,
arg=0x7ffff7fac2b0, flags=8520192, typ=0x7ffff7fb1a20)
    at 
/home/test001/work/ast_ksh_20130214/build_i386_64bit_debug/src/cmd/ksh93/sh/name.c:565
#7  0x0000000000477e32 in sh_exec (shp=0x7f6400 <sh>,
t=0x7ffff7fac270, flags=4) at
/home/test001/work/ast_ksh_20130214/build_i386_64bit_debug/src/cmd/ksh93/sh/xec.c:1154
#8  0x0000000000451dcc in sh_setlist (shp=0x7f6400 <sh>,
arg=0x7ffff7fac1c0, flags=131584, typ=0x0)
    at 
/home/test001/work/ast_ksh_20130214/build_i386_64bit_debug/src/cmd/ksh93/sh/name.c:565
#9  0x0000000000477e32 in sh_exec (shp=0x7f6400 <sh>,
t=0x7ffff7fac1e0, flags=4) at
/home/test001/work/ast_ksh_20130214/build_i386_64bit_debug/src/cmd/ksh93/sh/xec.c:1154
#10 0x000000000048200d in sh_eval_20120720 (shp=0x7f6400 <sh>,
iop=0x7f3ea0 <_Sfstdin>, mode=0)
    at 
/home/test001/work/ast_ksh_20130214/build_i386_64bit_debug/src/cmd/ksh93/sh/xec.c:4140
#11 0x000000000045afd8 in read_tree (np=0x7ffff7e0f070, iop=0x7f3ea0
<_Sfstdin>, n=-1, dp=0x7ffff7e0f0d0)
    at 
/home/test001/work/ast_ksh_20130214/build_i386_64bit_debug/src/cmd/ksh93/sh/nvtree.c:67
#12 0x0000000000498a6f in sh_readline (shp=0x7f6400 <sh>,
names=0x7ffff7fabe10, fd=0, flags=64, size=0, timeout=0)
    at 
/home/test001/work/ast_ksh_20130214/build_i386_64bit_debug/src/cmd/ksh93/bltins/read.c:328
#13 0x0000000000498283 in b_read (argc=3, argv=0x7ffff7fabe10,
context=0x7f6948 <sh+1352>)
    at 
/home/test001/work/ast_ksh_20130214/build_i386_64bit_debug/src/cmd/ksh93/bltins/read.c:177
#14 0x0000000000478c40 in sh_exec (shp=0x7f6400 <sh>,
t=0x7ffff7fabd00, flags=4) at
/home/test001/work/ast_ksh_20130214/build_i386_64bit_debug/src/cmd/ksh93/sh/xec.c:1343
#15 0x000000000047bc4b in sh_exec (shp=0x7f6400 <sh>,
t=0x7ffff7fabf00, flags=5) at
/home/test001/work/ast_ksh_20130214/build_i386_64bit_debug/src/cmd/ksh93/sh/xec.c:2200
#16 0x000000000040f0d6 in exfile (shp=0x7f6400 <sh>,
iop=0x7ffff7fb1700, fno=-1) at
/home/test001/work/ast_ksh_20130214/build_i386_64bit_debug/src/cmd/ksh93/sh/main.c:588
#17 0x000000000040e29b in sh_main (ac=3, av=0x7fffffffe208,
userinit=0x0) at
/home/test001/work/ast_ksh_20130214/build_i386_64bit_debug/src/cmd/ksh93/sh/main.c:360
#18 0x000000000040d451 in main (argc=3, argv=0x7fffffffe208) at
/home/test001/work/ast_ksh_20130214/build_i386_64bit_debug/src/cmd/ksh93/sh/pmain.c:45
(gdb) print dt
$1 = (Dt_t *) 0x0
-- snip --

----

Bye,
Roland

-- 
  __ .  . __
 (o.\ \/ /.o) [email protected]
  \__\/\/__/  MPEG specialist, C&&JAVA&&Sun&&Unix programmer
  /O /==\ O\  TEL +49 641 3992797
 (;O/ \/ \O;)
_______________________________________________
ast-developers mailing list
[email protected]
http://lists.research.att.com/mailman/listinfo/ast-developers

Reply via email to