[Ecls-list] sig11 in cl_boot()

Stanislaw Halik sthalik+ecl at tehran.lain.pl
Tue Jan 16 09:47:02 UTC 2007


Heya,

After linking ECL with a certain C program, it crashes in cl_boot().

Backtrace follows:

(gdb) bt
# 0  0xb79472de in ecl_find_package_nolock (name=0x0) at /tmp/ecl-cvs/ecl/build/ecl/object.h:639
# 1  0xb7947425 in si_coerce_to_package (p=0x0) at /tmp/ecl-cvs/ecl/src/c/package.d:260
# 2  0xb794854c in intern (name=0x8164300, p=0x0, intern_flag=0xbffb8164) at /tmp/ecl-cvs/ecl/src/c/package.d:303
# 3  0xb7960dd6 in read_object_with_delimiter (in=0x8134a28, delimiter=41, only_token=0) at /tmp/ecl-cvs/ecl/src/c/read.d:345
# 4  0xb796111d in do_read_delimited_list (d=41, in=0x8134a28, proper_list=0) at /tmp/ecl-cvs/ecl/src/c/read.d:1442
# 5  0xb79613f1 in left_parenthesis_reader (in=0x8134a28, character=0xa1) at /tmp/ecl-cvs/ecl/src/c/read.d:565
# 6  0xb798f8e0 in APPLY_fixed (n=2, fn=0x8106300 <cl_symbols>, x=0x0) at /tmp/ecl-cvs/ecl/src/c/apply.d:675
# 7  0xb794d9f0 in cl_funcall (narg=3, function=0x8164990) at /tmp/ecl-cvs/ecl/src/c/eval.d:220
# 8  0xb7960d1a in read_object_with_delimiter (in=0x8134a28, delimiter=-1, only_token=0) at /tmp/ecl-cvs/ecl/src/c/read.d:164
# 9  0xb7961aed in read_VV (block=0x81e8f88, entry_point=0xb78b8cc0 <init_ECL_EXPORT>) at /tmp/ecl-cvs/ecl/src/c/read.d:2098
# 10 0xb78b8823 in init_lib_LSP (cblock=0x2) at /tmp/ecl-cvs/ecl/build/ECLINITj6FdBF.c:83
# 11 0xb7961b91 in read_VV (block=0x81e8fc0, entry_point=0xb78b87cc <init_lib_LSP>) at /tmp/ecl-cvs/ecl/src/c/read.d:2120
# 12 0xb78b805e in cl_boot (argc=1, argv=0xbffb8540) at /tmp/ecl-cvs/ecl/src/c/main.d:491
# 13 0x080e59e3 in ecl_init2 () at ecl.c:21
# 14 0x080a1055 in main (argc=67849, argv=0x8106300) at ./irc.c:1161
(gdb)

Strangely enough, the call to cl_boot() is the first statement in the
program's main.

My system is an x86 running Linux 2.6. cl_boot() crashes with the same
backtrace with both ECL 0.9i and latest CVS.

Changing the optimization level (from -O to -O0 or `-O2
-fno-strict-aliasing') of the program doesn't help. Same goes for static
vs dynamic linking of libecl.

I thought that some library might be in conflict with ECL, but linking a
test program with the same libraries doesn't make it crash.

Frame #13, ecl_init2() can be something as simple as:

        char *argv[] = {"ecl", 0};
        cl_boot(1, argv);

Any hints? I'm out of luck :(

-- 
Unix stuff      :: http://tehran.lain.pl
Yet Another RBL :: http://rbl.lain.pl




More information about the ecl-devel mailing list