On Fri, Nov 8, 2013 at 6:20 PM, Joshuah Hurst <[email protected]> wrote: > On Fri, Nov 8, 2013 at 3:46 PM, David Korn <[email protected]> wrote: >> On Fri, Nov 8, 2013 at 7:39 AM, Joshuah Hurst <[email protected]> wrote: >>> >>> LC_ALL=C shcomp crashes but my Debian system has no debugger. Can >>> anyone investigate, please? >> >> shcomp on why file crashes? > > printf 'print hello' | LC_ALL=C /usr/bin/shcomp | /usr/bin/ksh > dumps core
I can reproduce the issue on Illumos with "shcomp" from a ast-ksh.2013-10-10/AMD64/64bit build: -- snip -- $ printf 'print hello' | LC_ALL=C ~/bin/shcomp | ~/bin/ksh $ dbx - core Corefile specified executable: "/home/test001/bin/shcomp" For information about new features see `help changes' To remove this message, put `dbxenv suppress_startup_message 7.6' in your .dbxrc Reading shcomp core file header read successfully Reading ld.so.1 Reading libm.so.2 Reading libdl.so.1 Reading libsocket.so.1 Reading libnsl.so.1 Reading libmd.so.1 Reading libsecdb.so.1 Reading libc.so.1 program terminated by signal SEGV (no mapping at the fault address) Current function is dtuserdata 45 return asogetptr(&dt->data->user.data); (dbx) where =>[1] dtuserdata(dt = (nil), data = (nil), set = 0), line 45 in "dtuser.c" [2] nv_open(name = 0xfffffd7fff039bd0 "_AST_FEATURES=CONFORMANCE - ast", root = (nil), flags = 2105984), line 1412 in "name.c" [3] sh_setenviron(name = 0xfffffd7fff039bd0 "_AST_FEATURES=CONFORMANCE - ast"), line 3295 in "name.c" [4] _ast_setenviron(name = 0xfffffd7fff039bd0 "_AST_FEATURES=CONFORMANCE - ast"), line 3308 in "name.c" [5] synthesize(fp = 0x6d3908, path = 0x6b1f50 "-", value = 0x6b2278 "ast"), line 481 in "astconf.c" [6] initialize(fp = 0x6d3908, path = 0x6d3b70 "/", command = (nil), succeed = 0x6b1fa0 "standard", fail = 0x6b2278 "ast"), line 620 in "astconf.c" [7] format(fp = 0x6d3908, path = 0x6d3b70 "/", value = (nil), flags = 0, conferror = (nil)), line 686 in "astconf.c" [8] feature(fp = 0x6d3908, name = 0x6b2f70 "CONFORMANCE", path = 0x6d3b70 "/", value = (nil), flags = 0, conferror = (nil)), line 864 in "astconf.c" [9] astgetconf(name = 0x6b2f70 "CONFORMANCE", path = 0x6d3b70 "/", value = (nil), flags = 0, conferror = (nil)), line 1547 in "astconf.c" [10] astconf(name = 0x6b2f70 "CONFORMANCE", path = (nil), value = (nil)), line 1569 in "astconf.c" [11] initconformance(), line 53 in "conformance.c" [12] conformance(s = (nil), n = 0), line 125 in "conformance.c" [13] _ast_codeset(op = 0), line 55 in "codeset.c" [14] set_ctype(cp = 0x6d0d48), line 2386 in "setlocale.c" [15] single(category = 2, lc = 0x6d1030, flags = 0), line 2625 in "setlocale.c" [16] _ast_setlocale(category = 0, locale = 0x6ad748 ""), line 2902 in "setlocale.c" [17] init(s = 0x654ed4 "[-?\n@(#)$Id: shcomp (AT&T Research) 2003-03-02 $\n][-author?David Korn <[email protected]>][-copyright?Copyright (c) 1982-2013 AT&T Intellectual Property][-license?http://www.eclipse.org/org/documents/epl-v10.html][--catalog?libshell][+NAME?shcomp - compile a shell script][+DESCRIPTION?Unless ^H-D^H is specified, ^Hshcomp^H takes a shell script, ^Ginfile^G, and creates a binary format file, ^Goutfile^G, that ^Hksh^H can read and execute with the same effect as the original script.][+?Since aliases are processed as " ..., p = 0x6e63e8), line 994 in "optget.c" [18] _ast_optget(argv = 0xfffffd7fffdffc58, oopts = 0x654ed4 "[-?\n@(#)$Id: shcomp (AT&T Research) 2003-03-02 $\n][-author?David Korn <[email protected]>][-copyright?Copyright (c) 1982-2013 AT&T Intellectual Property][-license?http://www.eclipse.org/org/documents/epl-v10.html][--catalog?libshell][+NAME?shcomp - compile a shell script][+DESCRIPTION?Unless ^H-D^H is specified, ^Hshcomp^H takes a shell script, ^Ginfile^G, and creates a binary format file, ^Goutfile^G, that ^Hksh^H can read and execute with the same effect as the original script.][+?Since aliases are processed as " ...), line 4388 in "optget.c" [19] main(argc = 1, argv = 0xfffffd7fffdffc58), line 79 in "shcomp.c" -- snip -- The important part seems to be the $ env - ... # to clear the environment and then explicitly set LC_ALL=C ... note that |nv_open()| is called with a |NULL| |root| argument... ---- 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
