[Ecls-list] Segv during testing of GSL

Matthieu ML spmatthieu at kimian.fr
Tue Jan 11 08:42:09 UTC 2011


Hello,

I have installed the GSLL package with quicklisp on the latest CVS
version of ECL with default options. I have built it on ubuntu 10.4
64bits:
> *features*
(:QUICKLISP :ASDF2 :ASDF :ASDF-UNIX :LINUX :FORMATTER :LONG-LONG :UINT64-T
 :UINT32-T :UINT16-T :RELATIVE-PACKAGE-NAMES :LONG-FLOAT :DFFI :CLOS-STREAMS
 :CMU-FORMAT :UNIX :ECL-PDE :DLOPEN :CLOS :BOEHM-GC :ANSI-CL :COMMON-LISP
 :IEEE-FLOATING-POINT :PREFIXED-API :FFI :X86_64 :COMMON :ECL)

I have tried to execute the gsll unit tests command but one test raise
a SIGSEGV in GC_FREE:

(ql:quickload "gsll-tests") ; load/installation of gsll with tests
(in-package :gsl)
(lisp-unit:run-tests)

Here the last lines of the command output, I have started the ecl
session in GDB:

LAS-COPY: (MULTIPLE-VALUE-LIST
            (LET ((V1
                   (GRID:MAKE-FOREIGN-ARRAY '(COMPLEX SINGLE-FLOAT)
                                            :INITIAL-CONTENTS
                                            '(#C(-34.5 8.24) #C(3.29 -8.93)
                                              #C(34.12 -6.15))))
                  (V2
                   (GRID:MAKE-FOREIGN-ARRAY '(COMPLEX SINGLE-FLOAT)
                                            :DIMENSIONS
                                            '3)))
              (BLAS-COPY V1 V2)
              (GRID:COPY-TO V2))) failed:
Expected (#(#C(-34.5 8.24) #C(3.29 -8.93) #C(34.12 -6.15)))
but saw (#(#C(6.5869817e-38 0.0) #C(6.5869413e-38 0.0) #C(6.586901e-38 0.0)))
BLAS-COPY: (MULTIPLE-VALUE-LIST
            (LET ((V1
                   (GRID:MAKE-FOREIGN-ARRAY '(COMPLEX DOUBLE-FLOAT)
                                            :INITIAL-CONTENTS
                                            '(#C(-34.5d0 8.24d0)
                                              #C(3.29d0 -8.93d0)
                                              #C(34.12d0 -6.15d0))))
                  (V2
                   (GRID:MAKE-FOREIGN-ARRAY '(COMPLEX DOUBLE-FLOAT)
                                            :DIMENSIONS
                                            '3)))
              (BLAS-COPY V1 V2)
              (GRID:COPY-TO V2))) failed:
Expected (#(#C(-34.5d0 8.24d0) #C(3.29d0 -8.93d0) #C(34.12d0 -6.15d0)))
but saw (#(#C(2.2353549558218193d-316 2.2353513985491692d-316)
           #C(2.235347841276519d-316 1.4821969375237396d-323)
           #C(2.165648617233886d-316 2.1656509887489862d-316)))
BLAS-COPY: 2 assertions passed, 2 failed.
BLAS-SWAP: (MULTIPLE-VALUE-LIST
            (LET ((V1
                   (GRID:MAKE-FOREIGN-ARRAY '(COMPLEX SINGLE-FLOAT)
                                            :INITIAL-CONTENTS
                                            '(#C(-34.5 8.24) #C(3.29 -8.93)
                                              #C(34.12 -6.15))))
                  (V2
                   (GRID:MAKE-FOREIGN-ARRAY '(COMPLEX SINGLE-FLOAT)
                                            :INITIAL-CONTENTS
                                            '(#C(-8.93 34.12) #C(-6.15 49.27)
                                              #C(-13.49 32.5)))))
              (BLAS-SWAP V2 V1)
              (LIST (GRID:COPY-TO V1) (GRID:COPY-TO V2)))) failed:
Expected ((#(#C(-8.93 34.12) #C(-6.15 49.27) #C(-13.49 32.5))
           #(#C(-34.5 8.24) #C(3.29 -8.93) #C(34.12 -6.15))))
but saw ((#(#C(2.6205564e-37 0.0) #C(2.6205402e-37 0.0) #C(2.620524e-37 0.0))
          #(#C(2.6206048e-37 0.0) #C(2.6205887e-37 0.0) #C(2.6205725e-37 0.0))))
BLAS-SWAP: (MULTIPLE-VALUE-LIST
            (LET ((V1
                   (GRID:MAKE-FOREIGN-ARRAY '(COMPLEX DOUBLE-FLOAT)
                                            :INITIAL-CONTENTS
                                            '(#C(-34.5d0 8.24d0)
                                              #C(3.29d0 -8.93d0)
                                              #C(34.12d0 -6.15d0))))
                  (V2
                   (GRID:MAKE-FOREIGN-ARRAY '(COMPLEX DOUBLE-FLOAT)
                                            :INITIAL-CONTENTS
                                            '(#C(-8.93d0 34.12d0)
                                              #C(-6.15d0 49.27d0)
                                              #C(-13.49d0 32.5d0)))))
              (BLAS-SWAP V2 V1)
              (LIST (GRID:COPY-TO V1) (GRID:COPY-TO V2)))) failed:
Expected ((#(#C(-8.93d0 34.12d0) #C(-6.15d0 49.27d0) #C(-13.49d0 32.5d0))
           #(#C(-34.5d0 8.24d0) #C(3.29d0 -8.93d0) #C(34.12d0 -6.15d0))))
but saw ((#(#C(2.2352316370366173d-316 2.2352280797639672d-316)
            #C(2.235224522491317d-316 1.4821969375237396d-323)
            #C(2.439477979774872d-316 2.439480351289972d-316))
          #(#C(2.2352423088545675d-316 2.2352387515819174d-316)
            #C(2.2352351943092673d-316 1.4821969375237396d-323)
            #C(2.4395182955315726d-316 2.4395206670466726d-316))))
BLAS-SWAP: 2 assertions passed, 2 failed.
CAUCHY: 132 assertions passed, 0 failed.
    CDOT: No applicable method for LISP-UNIT:NUMERICAL-EQUAL with
arguments of types
 COMPLEX
 FOREIGN-DATA
 KEYWORD
 COMPILED-FUNCTION
;;; OPTIMIZE levels: Safety=2, Space=0, Speed=3, Debug=3
;;;
;;; End of Pass 1.
;;; Note:
;;;   Invoking external command:
;;;   gcc -I. -I/usr/local/include/ -D_GNU_SOURCE
-D_FILE_OFFSET_BITS=64 -g -O2 -fPIC -Dlinux -O2 -w -c
/tmp/ecl001Gy5kcM.c -o /tmp/ecl001Gy5kcM.o
;;; Note:
;;;   Invoking external command:

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff6b55f0b in GC_free () from /usr/lib/libgc.so.1
(gdb) bt
#0  0x00007ffff6b55f0b in GC_free () from /usr/lib/libgc.so.1
#1  0x00007ffff79402a6 in ecl_free_uncollectable (pointer=0x1d8) at
/goinfre/install/lisp/ecl/src/c/alloc_2.d:672
#2  0x00007ffff793e565 in si_free_foreign_data (f=0x3145ca0) at
/goinfre/install/lisp/ecl/src/c/ffi.d:272
#3  0x00007fffe41d51f6 in LC1__g34 (narg=<value optimized out>)
    at /home/gersen/.cache/common-lisp/ecl-11.1.1-1c6cc2ed-linux-amd64/home/gersen/quicklisp/dists/quicklisp/software/gsll-20101207-git/data/ASDF-TMP-foreign-array.c:99
#4  0x00007fffeb9579e3 in LC11__g9 (narg=<value optimized out>,
V1=<value optimized out>)
    at /home/gersen/.cache/common-lisp/ecl-11.1.1-1c6cc2ed-linux-amd64/home/gersen/quicklisp/dists/quicklisp/software/trivial-garbage-20101006-darcs/ASDF-TMP-trivial-garbage.c:261
#5  0x00007ffff78eb375 in cl_funcall (narg=6299648,
function=0x3145ca0) at /goinfre/install/lisp/ecl/src/c/eval.d:129
#6  0x00007ffff794010e in wrapped_finalizer (o=0x2f1a060,
finalizer=0x3145ca0) at /goinfre/install/lisp/ecl/src/c/alloc_2.d:1129
#7  0x00007ffff6b53aa5 in GC_invoke_finalizers () from /usr/lib/libgc.so.1
#8  0x00007ffff6b515b6 in GC_try_to_collect () from /usr/lib/libgc.so.1
#9  0x00007ffff6b51620 in GC_gcollect () from /usr/lib/libgc.so.1
#10 0x00007ffff793fe34 in si_gc (narg=472) at
/goinfre/install/lisp/ecl/src/c/alloc_2.d:1354
#11 0x00007ffff64c2b6b in L29compile (narg=2, V1=0x23782a0) at
/goinfre/install/lisp/ecl/build/cmp/cmpmain.c:1880
#12 0x00007fffe5a3ea23 in L12make_funcallables_for_object (V1=<value
optimized out>)
    at /home/gersen/.cache/common-lisp/ecl-11.1.1-1c6cc2ed-linux-amd64/home/gersen/quicklisp/dists/quicklisp/software/gsll-20101207-git/init/ASDF-TMP-funcallable.c:942
#13 0x00007fffd336dcfe in LC5reinitialize_instance (narg=<value
optimized out>, V1=0x3146420)
    at /home/gersen/.cache/common-lisp/ecl-11.1.1-1c6cc2ed-linux-amd64/home/gersen/quicklisp/dists/quicklisp/software/gsll-20101207-git/ASDF-TMP-chebyshev.c:125
#14 0x00007ffff7946ffb in APPLY (n=<value optimized out>,
fn=0x7fffeb957990 <LC11__g9>, x=<value optimized out>)
    at /goinfre/install/lisp/ecl/src/c/apply.d:34
#15 0x00007ffff78eb2cc in cl_apply (narg=2, fun=0x2858fc0,
lastarg=0x7fffffffcf90) at /goinfre/install/lisp/ecl/src/c/eval.d:138
#16 0x00007ffff78a2c1b in LC2__g4 (narg=<value optimized out>,
V1=<value optimized out>, V2=0x1)
    at /goinfre/install/lisp/ecl/build/clos/combin.c:125
#17 0x00007ffff78a2900 in LC12__g18 (narg=<value optimized out>,
V1=<value optimized out>, V2=<value optimized out>)
    at /goinfre/install/lisp/ecl/build/clos/combin.c:392
#18 0x00007ffff78eb375 in cl_funcall (narg=6299648,
function=0x3145ca0) at /goinfre/install/lisp/ecl/src/c/eval.d:129
#19 0x00007ffff78f5a12 in _ecl_standard_dispatch
(frame=0x7fffffffcf90, gf=<value optimized out>) at
/goinfre/install/lisp/ecl/src/c/gfun.d:393
#20 0x00007ffff78f5dcb in generic_function_dispatch_vararg
(narg=<value optimized out>) at
/goinfre/install/lisp/ecl/src/c/gfun.d:407
#21 0x00007fffd336c623 in L7make_chebyshev (narg=<value optimized
out>, V1=<value optimized out>)
    at /home/gersen/.cache/common-lisp/ecl-11.1.1-1c6cc2ed-linux-amd64/home/gersen/quicklisp/dists/quicklisp/software/gsll-20101207-git/ASDF-TMP-chebyshev.c:211
#22 0x00007fffd336b774 in L17chebyshev_point_example (V1=0x2564310)
    at /home/gersen/.cache/common-lisp/ecl-11.1.1-1c6cc2ed-linux-amd64/home/gersen/quicklisp/dists/quicklisp/software/gsll-20101207-git/ASDF-TMP-chebyshev.c:652
#23 0x00007ffff78ed3c0 in ecl_interpret (frame=<value optimized out>,
env=<value optimized out>, bytecodes=<value optimized out>)
    at /goinfre/install/lisp/ecl/src/c/interpreter.d:491
#24 0x00007ffff78eda23 in _ecl_bclosure_dispatch_vararg (narg=<value
optimized out>) at /goinfre/install/lisp/ecl/src/c/interpreter.d:204
#25 0x00007fffedfb2c62 in L31internal_assert (V1=0x1d2dc90, V2=<value
optimized out>, V3=0x3145c20, V4=<value optimized out>,
    V5=<value optimized out>, V6=0x1de4720)
    at /home/gersen/.cache/common-lisp/ecl-11.1.1-1c6cc2ed-linux-amd64/home/gersen/quicklisp/dists/quicklisp/software/lisp-unit-20101006-git/ASDF-TMP-lisp-unit.c:989
#26 0x00007ffff78ed3c0 in ecl_interpret (frame=<value optimized out>,
env=<value optimized out>, bytecodes=<value optimized out>)
    at /goinfre/install/lisp/ecl/src/c/interpreter.d:491
#27 0x00007ffff78edb60 in _ecl_bytecodes_dispatch_vararg (narg=<value
optimized out>) at /goinfre/install/lisp/ecl/src/c/interpreter.d:193
#28 0x00007fffedfb48f3 in L37run_test_thunk (V1=0x2923c00, V2=0x1b4f730)
    at /home/gersen/.cache/common-lisp/ecl-11.1.1-1c6cc2ed-linux-amd64/home/gersen/quicklisp/dists/quicklisp/software/lisp-unit-20101006-git/ASDF-TMP-lisp-unit.c:1226
#29 0x00007fffedfb4abc in L35run_test_thunks (V1=<value optimized out>)
    at /home/gersen/.cache/common-lisp/ecl-11.1.1-1c6cc2ed-linux-amd64/home/gersen/quicklisp/dists/quicklisp/software/lisp-unit-20101006-git/ASDF-TMP-lisp-unit.c:1145
#30 0x00007ffff78ed3c0 in ecl_interpret (frame=<value optimized out>,
env=<value optimized out>, bytecodes=<value optimized out>)
    at /goinfre/install/lisp/ecl/src/c/interpreter.d:491
#31 0x00007ffff78f39eb in si_eval_with_env (narg=<value optimized
out>, form=<value optimized out>)
    at /goinfre/install/lisp/ecl/src/c/compiler.d:2893
#32 0x00007ffff78e0662 in LC8rep (narg=0) at
/goinfre/install/lisp/ecl/build/clos/top.c:331
#33 0x00007ffff78e1d0b in L13tpl (narg=0) at
/goinfre/install/lisp/ecl/build/clos/top.c:268
#34 0x00007ffff78e2797 in L1top_level () at
/goinfre/install/lisp/ecl/build/clos/top.c:44
#35 0x00007ffff78ed3c0 in ecl_interpret (frame=<value optimized out>,
env=<value optimized out>, bytecodes=<value optimized out>)
    at /goinfre/install/lisp/ecl/src/c/interpreter.d:491
#36 0x00007ffff78f39eb in si_eval_with_env (narg=<value optimized
out>, form=<value optimized out>)
    at /goinfre/install/lisp/ecl/src/c/compiler.d:2893
#37 0x00007ffff78e0d3b in si_safe_eval (narg=2, V1=0xf7e731, V2=0x1)
at /goinfre/install/lisp/ecl/build/clos/top.c:3594
#38 0x0000000000400b3d in main (argc=<value optimized out>,
argv=<value optimized out>) at eclinitz89W1Q.c:57
(gdb)


I will try to create a minimal test script for this error.

Thank you,

Matthieu




More information about the ecl-devel mailing list