#553 crash during make check on solaris

segfault
open
clisp (525)
5
2015-02-19
2010-06-15
No

i've built clisp 2.48 on sparc solaris 8 using gcc 3.4.5, and when running "make check", there was a crash:

================================
(PROGN (DEFGENERIC TESTGF00 (&REST ARGS &KEY) (:METHOD (&REST ARGS))) (TESTGF00 'A 'B))
[SIMPLE-KEYWORD-ERROR]: TESTGF00-<EMF-1>-1: illegal keyword/value pair A, B in argument list.
The allowed keywords are NIL

*** - Internal error: statement in file "/opt/home/vvv/src/clisp/clisp-2.48/src/debug.d", line 1138 has been reached!!
Please see <http://clisp.cons.org/impnotes/faq.html#faq-bugs> for bug reporting instructions.

*** - Internal error: statement in file "/opt/home/vvv/src/clisp/clisp-2.48/src/debug.d", line 1138 has been reached!!
Please see <http://clisp.cons.org/impnotes/faq.html#faq-bugs> for bug reporting instructions.

*** - Internal error: statement in file "/opt/home/vvv/src/clisp/clisp-2.48/src/debug.d", line 1138 has been reached!!
Please see <http://clisp.cons.org/impnotes/faq.html#faq-bugs> for bug reporting instructions.

*** - Internal error: statement in file "/opt/home/vvv/src/clisp/clisp-2.48/src/debug.d", line 1138 has been reached!!
Please see <http://clisp.cons.org/impnotes/faq.html#faq-bugs> for bug reporting instructions.

*** - Internal error: statement in file "/opt/home/vvv/src/clisp/clisp-2.48/src/debug.d", line 1138 has been reached!!
Please see <http://clisp.cons.org/impnotes/faq.html#faq-bugs> for bug reporting instructions.

*** - Internal error: statement in file "/opt/home/vvv/src/clisp/clisp-2.48/src/debug.d", line 1138 has been reached!!
Please see <http://clisp.cons.org/impnotes/faq.html#faq-bugs> for bug reporting instructions.

*** - Internal error: statement in file "/opt/home/vvv/src/clisp/clisp-2.48/src/debug.d", line 1138 has been reached!!
Please see <http://clisp.cons.org/impnotes/faq.html#faq-bugs> for bug reporting instructions.

*** - Internal error: statement in file "/opt/home/vvv/src/clisp/clisp-2.48/src/debug.d", line 1138 has been reached!!
Please see <http://clisp.cons.org/impnotes/faq.html#faq-bugs> for bug reporting instructions.

*** - Internal error: statement in file "/opt/home/vvv/src/clisp/clisp-2.48/src/debug.d", line 1138 has been reached!!
Please see <http://clisp.cons.org/impnotes/faq.html#faq-bugs> for bug reporting instructions.

*** - handle_fault error2 ! address = 0x2613 not in [0x1a7d0000,0x1a911660) !
SIGSEGV cannot be cured. Fault address = 0x2613.
GC count: 71
Space collected by GC: 0 36937040
Run time: 139 710000
Real time: 149 541188
GC time: 4 580000
Permanently allocated: 85696 bytes.
Currently in use: 2462560 bytes.
Free space: 0 bytes.
make[1]: *** [tests] Segmentation Fault (core dumped)
================================

$ /opt/SUNWspro/bin/dbx ./lisp.run ./tests/core
For information about new features see `help changes'
To remove this message, put `dbxenv suppress_startup_message 7.5' in your .dbxrc
Reading lisp.run
core file header read successfully
Reading ld.so.1
Reading libncurses.so.5
Reading libdl.so.1
Reading libnsl.so.1
Reading libsocket.so.1
Reading libc.so.1
Reading libmp.so.2
Reading libc_psr.so.1
Reading nss_files.so.1
program terminated by signal SEGV (no mapping at the fault address)
Current function is gc_mark
265 switch (as_oint(curr) & nonimmediate_heapcode_mask) {
(dbx) where
=>[1] gc_mark(obj = 0x260d), line 265 in "spvw_gcmark.d"
[2] gar_col_normal(), line 159 in "spvw_garcol.d"
[3] do_gar_col_simple(), line 2890 in "spvw_garcol.d"
[4] with_gc_statistics(fun = 0x32c50 = &`lisp.run`spvw.c`do_gar_col_simple()), line 3165 in "predtype.d"
[5] gar_col_simple(), line 2898 in "spvw_garcol.d"
[6] make_space_gc_true(need = 16U, heapptr = 0x1c1ac8), line 244 in "spvw_allocate.d"
[7] allocate_vector(len = 2U), line 107 in "spvw_typealloc.d"
[8] vectorof(len = 2U), line 170 in "array.d"
[9] C_vector(argcount = 2U, rest_args_pointer = 0x1c696c), line 185 in "array.d"
[10] interpret_bytecode_(closure_in = 0x1a858769, codeptr = 0x1a858710, byteptr_in = 0x1a858734 "\xad\xadp^C\x93"), line 6811 in "eval.d"
[11] funcall_closure(closure = 0x1a858769, args_on_stack = 1U), line 5629 in "eval.d"
[12] interpret_bytecode_(closure_in = 0x1a858b01, codeptr = 0x1a858830, byteptr_in = 0x1a8588e5 "B^B\x92"), line 6784 in "eval.d"
[13] funcall_closure(closure = 0x1a858b01, args_on_stack = 1U), line 5629 in "eval.d"
[14] interpret_bytecode_(closure_in = 0x1a85efa1, codeptr = 0x1a85ef40, byteptr_in = 0x1a85ef96 "^Y^B^N^E^[T"), line 6784 in "eval.d"
[15] funcall_closure(closure = 0x1a85efa1, args_on_stack = 0), line 5629 in "eval.d"
[16] interpret_bytecode_(closure_in = 0x1a858b01, codeptr = 0x1a858830, byteptr_in = 0x1a85888a "^[\x80\x85\xb5\x8dY^F\xb58^A\x8d_p\xb5\x89\nl\xb58^A\x8d_\x80m\xb58^Aq_k"), line 6845 in "eval.d"
[17] funcall_closure(closure = 0x1a858b01, args_on_stack = 2U), line 5629 in "eval.d"
[18] interpret_bytecode_(closure_in = 0x1a85e929, codeptr = 0x1a85e240, byteptr_in = 0x1a85e3ee "\xc2fWp/\xc0o/\xbe\xbep0\xbco/\xbao/\xb8\xb8p0\xb6\xb6p0s^G#k^L\xad\xb0\xb2n^C1\x992f^Zf^Zf^Zs^B^[\xc3\xc3\xc2\xc4\xc3\xc3n^F3\x992\xbf\xbf\xbfs^B^[\xbc\xbc\xbb\xbd\xbc\xbcn^F3\x994\xb8\xb8s^A^[\xb4e5k\nf;^C6]]z\x92a\x81\xf7^C8^T{^C3^G#z\xbfc\xbf8^Gri\xb8c\xb88^Gri\xb5\xb3{^As^F#e9c\xafn^C:\x93^C\n\xb1\xb0\xa5z1\xb6\xb2\xda1\xb6f^Z\xc4\xc2\xc0\xbe\xbc\xbas^G#/;\xado<e=\xaee>\xaf2D^V^A^U^V^[^R^H^V^QQ^T\xc3\x8e^^^Gk^C^N?]^O?k^C\xe1\xade>\xb02D^V^A\x93^S^Zk^Ce@\xc18^Fr}\xe1\xae\xeerC\xads^A8\xe1\xaf\xee\xaf2D^V^Ce=\xad\xdarC%A\x80Pk^C\xe1\xad\xee\xe72D^V^Ak^C\xe1\xad\xef\xe72D^V^Ak^C\xe1\xad\xf0d2D^V^Ak^C\xe1\xad\xf1c2D^V^Ak^C\xe1\xad\xf2c2D^V^Ak^C\xe1\xad\xf4c2D^V^Ak^C\xe1\xade>\x81C"), line 6793 in "eval.d"
[19] funcall_closure(closure = 0x1a85e929, args_on_stack = 4U), line 5629 in "eval.d"
[20] interpret_bytecode_(closure_in = 0x1a861701, codeptr = 0x1a8616c0, byteptr_in = 0x1a8616ef "^N^C^\^C\xac/^G\xac/^H^V^A^Q^Y^A"), line 6778 in "eval.d"
[21] funcall_closure(closure = 0x1a861701, args_on_stack = 0), line 5629 in "eval.d"
[22] interpret_bytecode_(closure_in = 0x1a858b01, codeptr = 0x1a858830, byteptr_in = 0x1a85888a "^[\x80\x85\xb5\x8dY^F\xb58^A\x8d_p\xb5\x89\nl\xb58^A\x8d_\x80m\xb58^Aq_k"), line 6845 in "eval.d"
[23] funcall_closure(closure = 0x1a858b01, args_on_stack = 1U), line 5629 in "eval.d"
[24] interpret_bytecode_(closure_in = 0x1a85efa1, codeptr = 0x1a85ef40, byteptr_in = 0x1a85ef96 "^Y^B^N^E^[T"), line 6784 in "eval.d"
[25] funcall_closure(closure = 0x1a85efa1, args_on_stack = 0), line 5629 in "eval.d"
[26] interpret_bytecode_(closure_in = 0x1a858b01, codeptr = 0x1a858830, byteptr_in = 0x1a85888a "^[\x80\x85\xb5\x8dY^F\xb58^A\x8d_p\xb5\x89\nl\xb58^A\x8d_\x80m\xb58^Aq_k"), line 6845 in "eval.d"
[27] funcall_closure(closure = 0x1a858b01, args_on_stack = 1U), line 5629 in "eval.d"
[28] interpret_bytecode_(closure_in = 0x1a860899, codeptr = 0x1a8607b0, byteptr_in = 0x1a860830 "\xaf\xafp^S\xac\xb2\xb4n^C^T\x92+\x80H\xb1\xb1\xb1-^C^V^T\xaf\xf1k^Df+k^X{^D{^Bs^C#\x92+9^C^Z^T\xb1\xb0{^As^B#o^[\xb3p^\\xaen^C^]\x93^B^K\xb3\xaf\xa7z1\xb6\xb4e^^1\xb6\xb2/^_^U^V\n^R^D^V^E^R^D^Y^E\x99^U\xb2\xb23^A^[^[\xff\xb4^C^Y^[E"), line 6787 in "eval.d"
[29] funcall_closure(closure = 0x1a860899, args_on_stack = 1U), line 5629 in "eval.d"
[30] interpret_bytecode_(closure_in = 0x1a855ef9, codeptr = 0x1a855ea8, byteptr_in = 0x1a855ebd "^Y^A"), line 6784 in "eval.d"
[31] funcall_closure(closure = 0x1a855ef9, args_on_stack = 0), line 5629 in "eval.d"
[32] interpret_bytecode_(closure_in = 0x1a858b01, codeptr = 0x1a858830, byteptr_in = 0x1a85888a "^[\x80\x85\xb5\x8dY^F\xb58^A\x8d_p\xb5\x89\nl\xb58^A\x8d_\x80m\xb58^Aq_k"), line 6845 in "eval.d"
[33] funcall_closure(closure = 0x1a858b01, args_on_stack = 1U), line 5629 in "eval.d"
[34] interpret_bytecode_(closure_in = 0x1a85efa1, codeptr = 0x1a85ef40, byteptr_in = 0x1a85ef96 "^Y^B^N^E^[T"), line 6784 in "eval.d"
[35] funcall_closure(closure = 0x1a85efa1, args_on_stack = 0), line 5629 in "eval.d"
[36] interpret_bytecode_(closure_in = 0x1a858b01, codeptr = 0x1a858830, byteptr_in = 0x1a85888a "^[\x80\x85\xb5\x8dY^F\xb58^A\x8d_p\xb5\x89\nl\xb58^A\x8d_\x80m\xb58^Aq_k"), line 6845 in "eval.d"
[37] funcall_closure(closure = 0x1a858b01, args_on_stack = 2U), line 5629 in "eval.d"
[38] interpret_bytecode_(closure_in = 0x1a85e929, codeptr = 0x1a85e240, byteptr_in = 0x1a85e3ee "\xc2fWp/\xc0o/\xbe\xbep0\xbco/\xbao/\xb8\xb8p0\xb6\xb6p0s^G#k^L\xad\xb0\xb2n^C1\x992f^Zf^Zf^Zs^B^[\xc3\xc3\xc2\xc4\xc3\xc3n^F3\x992\xbf\xbf\xbfs^B^[\xbc\xbc\xbb\xbd\xbc\xbcn^F3\x994\xb8\xb8s^A^[\xb4e5k\nf;^C6]]z\x92a\x81\xf7^C8^T{^C3^G#z\xbfc\xbf8^Gri\xb8c\xb88^Gri\xb5\xb3{^As^F#e9c\xafn^C:\x93^C\n\xb1\xb0\xa5z1\xb6\xb2\xda1\xb6f^Z\xc4\xc2\xc0\xbe\xbc\xbas^G#/;\xado<e=\xaee>\xaf2D^V^A^U^V^[^R^H^V^QQ^T\xc3\x8e^^^Gk^C^N?]^O?k^C\xe1\xade>\xb02D^V^A\x93^S^Zk^Ce@\xc18^Fr}\xe1\xae\xeerC\xads^A8\xe1\xaf\xee\xaf2D^V^Ce=\xad\xdarC%A\x80Pk^C\xe1\xad\xee\xe72D^V^Ak^C\xe1\xad\xef\xe72D^V^Ak^C\xe1\xad\xf0d2D^V^Ak^C\xe1\xad\xf1c2D^V^Ak^C\xe1\xad\xf2c2D^V^Ak^C\xe1\xad\xf4c2D^V^Ak^C\xe1\xade>\x81C"), line 6793 in "eval.d"
[39] funcall_closure(closure = 0x1a85e929, args_on_stack = 2U), line 5629 in "eval.d"
[40] interpret_bytecode_(closure_in = 0x1a8732b1, codeptr = 0x1a873190, byteptr_in = 0x1a8731a9 "\xdc\xad\xdd\x8fC^L\xdeo^E/^F^[s\xe2o^E/^F\xdc\xad\xe1\x8eCu\xdc\xad\xe3\x8fC"\xe4o^E/^F^[s"), line 6793 in "eval.d"
[41] funcall_closure(closure = 0x1a8732b1, args_on_stack = 2U), line 5629 in "eval.d"
[42] interpret_bytecode_(closure_in = 0x1a873669, codeptr = 0x1a8735d8, byteptr_in = 0x1a873629 "\x935^Ek^O\x8f\xac^E^U^R^Q^Y^If<^D<z\xee\xef\xae\xf0\xb0\xf1o^X\xb23^E^_"), line 6793 in "eval.d"
[43] funcall_closure(closure = 0x1a873669, args_on_stack = 0), line 5629 in "eval.d"
[44] interpret_bytecode_(closure_in = 0x1a873841, codeptr = 0x1a8736e0, byteptr_in = 0x1a873710 "^Y^H"), line 6775 in "eval.d"
[45] funcall_closure(closure = 0x1a873841, args_on_stack = 1U), line 5629 in "eval.d"
[46] compile_eval_form(closure_name = 0x1a91d289), line 390 in "control.d"
[47] C_let(), line 669 in "control.d"
[48] eval1(form = 0x66941da3), line 3261 in "eval.d"
[49] eval(form = 0x66941da3), line 2964 in "eval.d"
[50] eval_5env(form = 0x66941da3, var_env = 0x1b3191, fun_env = 0x1b3191, block_env = 0x1b3191, go_env = 0x1b3191, decl_env = 0x669f162b), line 1081 in "eval.d"
[51] interpret_bytecode_(closure_in = 0x1a8911d1, codeptr = 0x1a891120, byteptr_in = 0x1a89114e "^[^E\xe2o^I/\n\xacrB\xe1\x91^A3s^U^Y^D^Y\xdf\x91`"), line 6799 in "eval.d"
[52] funcall_closure(closure = 0x1a8911d1, args_on_stack = 1U), line 5629 in "eval.d"
[53] interpret_bytecode_(closure_in = 0x1a89b091, codeptr = 0x1a89b078, byteptr_in = 0x1a89b08d "^Y^B"), line 6784 in "eval.d"
[54] funcall_closure(closure = 0x1a89b091, args_on_stack = 1U), line 5629 in "eval.d"
[55] interpret_bytecode_(closure_in = 0x1a89b0e1, codeptr = 0x1a89cd50, byteptr_in = 0x1a89cd6b "\xadr9i^A^Ai"), line 7783 in "eval.d"
[56] funcall_closure(closure = 0x1a89b0e1, args_on_stack = 1U), line 5629 in "eval.d"
[57] interpret_bytecode_(closure_in = 0x1a8957a9, codeptr = 0x1a895720, byteptr_in = 0x1a895742 "\xac\x8f/\n\xae\xad0^F^Y^C\x98^B^[n\xdeo^E\xdd\xb0\xaf3^C^^"), line 6852 in "eval.d"
[58] funcall_closure(closure = 0x1a8957a9, args_on_stack = 1U), line 5629 in "eval.d"
[59] interpret_bytecode_(closure_in = 0x1a895701, codeptr = 0x1a8956b0, byteptr_in = 0x1a8956c5 "\x9e^Y^B^Y\xdf\xd6\xc8"), line 6784 in "eval.d"
[60] funcall_closure(closure = 0x1a895701, args_on_stack = 1U), line 5629 in "eval.d"
[61] interpret_bytecode_(closure_in = 0x1a8dd741, codeptr = 0x1a89b250, byteptr_in = 0x1 "<bad address 0x1>"), line 7783 in "eval.d"
[62] funcall_closure(closure = 0x1a8dd741, args_on_stack = 1U), line 5629 in "eval.d"
[63] invoke_handlers(cond = 0x1a976a91), line 790 in "eval.d"
[64] C_clcs_signal(argcount = 0, rest_args_pointer = 0x1c6214), line 817 in "error.d"
[65] funcall_subr(fun = 0x1ad2d2, args_on_stack = 0), line 5221 in "eval.d"
[66] signal_and_debug(condition = 0x1a976a91), line 202 in "error.d"
[67] end_error(stackptr = 0x1c61f4, start_driver_p = 1U), line 342 in "error.d"
[68] error(errortype = serious_condition, errorstring = 0x14ee78 "Internal error: statement in file ~S, line ~S has been reached!!\nPlease see <http://clisp.cons.org/impnotes/faq.html#faq-bugs> for bug reporting instructions."), line 374 in "error.d"
[69] error_notreached(file = 0x198250 "/opt/home/vvv/src/clisp/clisp-2.48/src/debug.d", line = 145671U), line 1124 in "spvw.d"
[70] top_of_back_trace_frame(bt = 0xffbe6c98), line 1138 in "debug.d"
[71] unwind(), line 447 in "eval.d"
[72] quit(), line 4014 in "spvw.d"
[73] interpret_bytecode_(closure_in = 0x1a9127b1, codeptr = 0x1a8dd928, byteptr_in = 0x1a8dd964 "^Q^Y^D"), line 7319 in "eval.d"
[74] funcall_closure(closure = 0x1a9127b1, args_on_stack = 1U), line 5629 in "eval.d"
[75] interpret_bytecode_(closure_in = 0x1a975509, codeptr = 0x1a9754e8, byteptr_in = 0x1a9754fe "\xdb\xae6^A^Y^B"), line 6845 in "eval.d"
[76] funcall_closure(closure = 0x1a975509, args_on_stack = 1U), line 5629 in "eval.d"
[77] interpret_bytecode_(closure_in = 0x1a8dd741, codeptr = 0x1a9739d0, byteptr_in = 0x1a9739fe ""), line 7783 in "eval.d"
[78] funcall_closure(closure = 0x1a8dd741, args_on_stack = 1U), line 5629 in "eval.d"
[79] interpret_bytecode_(closure_in = 0x1a8dd741, codeptr = 0x1a89b250, byteptr_in = 0x1 "<bad address 0x1>"), line 7783 in "eval.d"
[80] funcall_closure(closure = 0x1a8dd741, args_on_stack = 1U), line 5629 in "eval.d"
[81] invoke_handlers(cond = 0x1a972099), line 790 in "eval.d"
[82] C_clcs_signal(argcount = 0, rest_args_pointer = 0x1c6214), line 817 in "error.d"
[83] funcall_subr(fun = 0x1ad2d2, args_on_stack = 0), line 5221 in "eval.d"
[84] signal_and_debug(condition = 0x1a972099), line 202 in "error.d"
[85] end_error(stackptr = 0x1c61f4, start_driver_p = 1U), line 342 in "error.d"
[86] error(errortype = serious_condition, errorstring = 0x14ee78 "Internal error: statement in file ~S, line ~S has been reached!!\nPlease see <http://clisp.cons.org/impnotes/faq.html#faq-bugs> for bug reporting instructions."), line 374 in "error.d"
[87] error_notreached(file = 0x198250 "/opt/home/vvv/src/clisp/clisp-2.48/src/debug.d", line = 145671U), line 1124 in "spvw.d"
[88] top_of_back_trace_frame(bt = 0xffbe6c98), line 1138 in "debug.d"
[89] unwind(), line 447 in "eval.d"
[90] quit(), line 4014 in "spvw.d"
[91] interpret_bytecode_(closure_in = 0x1a9127b1, codeptr = 0x1a8dd928, byteptr_in = 0x1a8dd964 "^Q^Y^D"), line 7319 in "eval.d"
[92] funcall_closure(closure = 0x1a9127b1, args_on_stack = 1U), line 5629 in "eval.d"
[93] interpret_bytecode_(closure_in = 0x1a970b11, codeptr = 0x1a970af0, byteptr_in = 0x1a970b06 "\xdb\xae6^A^Y^B"), line 6845 in "eval.d"
[94] funcall_closure(closure = 0x1a970b11, args_on_stack = 1U), line 5629 in "eval.d"
[95] interpret_bytecode_(closure_in = 0x1a8dd741, codeptr = 0x1a96efd8, byteptr_in = 0x1a96f006 ""), line 7783 in "eval.d"
[96] funcall_closure(closure = 0x1a8dd741, args_on_stack = 1U), line 5629 in "eval.d"
[97] interpret_bytecode_(closure_in = 0x1a8dd741, codeptr = 0x1a89b250, byteptr_in = 0x1 "<bad address 0x1>"), line 7783 in "eval.d"
[98] funcall_closure(closure = 0x1a8dd741, args_on_stack = 1U), line 5629 in "eval.d"
[99] invoke_handlers(cond = 0x1a96d6a1), line 790 in "eval.d"
[100] C_clcs_signal(argcount = 0, rest_args_pointer = 0x1c6214), line 817 in "error.d"
(dbx) exit

Discussion

  • Sam Steingold

    Sam Steingold - 2010-06-15

    thanks for your bug report.
    please go to frame [70] (top_of_back_trace_frame) and do
    print nobject_out(0,fun)
    print back_trace_out(0,0)
    print object_out(fun)

     
  • Vladimir Volovich

    dbx cannot execute the print calls on a core file:

    =========================
    $ /opt/SUNWspro/bin/dbx ./boot/lisp.run ./tests/core
    For information about new features see `help changes'
    To remove this message, put `dbxenv suppress_startup_message 7.5' in your .dbxrc
    Reading lisp.run
    core file header read successfully
    Reading ld.so.1
    Reading libncurses.so.5
    Reading libdl.so.1
    Reading libnsl.so.1
    Reading libsocket.so.1
    Reading libc.so.1
    Reading libmp.so.2
    Reading libc_psr.so.1
    Reading nss_files.so.1
    program terminated by signal SEGV (no mapping at the fault address)
    Current function is gc_mark
    265 switch (as_oint(curr) & nonimmediate_heapcode_mask) {
    (dbx) frame 70
    Current function is top_of_back_trace_frame
    1138 NOTREACHED;
    (dbx) print nobject_out(0,fun)
    dbx: program is not active -- cannot do calls
    (dbx)
    =========================

    which command could i run to get the same crash? preferably, not re-running all of the tests, but just the one which caused the crash.

     
  • Sam Steingold

    Sam Steingold - 2010-06-24

    the last test printer should do the trick:
    (PROGN (DEFGENERIC TESTGF00 (&REST ARGS &KEY) (:METHOD (&REST ARGS))) (TESTGF00 'A 'B))

     
  • Vladimir Volovich

    $ ./lisp.run -B . -x "(PROGN (DEFGENERIC TESTGF00 (&REST ARGS &KEY) (:METHOD (&REST ARGS))) (TESTGF00 'A 'B))"
    WARNING: locale: no encoding 646, using ISO-8859-1
    WARNING: locale: no encoding 646, using ISO-8859-1
    i i i i i i i ooooo o ooooooo ooooo ooooo
    I I I I I I I 8 8 8 8 8 o 8 8
    I \ `+' / I 8 8 8 8 8 8
    \ `-+-' / 8 8 8 ooooo 8oooo
    `-__|__-' 8 8 8 8 8
    | 8 o 8 8 o 8 8
    ------+------ ooooo 8oooooo ooo8ooo ooooo 8

    Welcome to GNU CLISP 2.48 (2009-07-28) <http://clisp.cons.org/>

    Copyright (c) Bruno Haible, Michael Stoll 1992, 1993
    Copyright (c) Bruno Haible, Marcus Daniels 1994-1997
    Copyright (c) Bruno Haible, Pierpaolo Bernardi, Sam Steingold 1998
    Copyright (c) Bruno Haible, Sam Steingold 1999-2000
    Copyright (c) Sam Steingold, Bruno Haible 2001-2009

    Type :h and hit Enter for context help.

    *** - EVAL: undefined function DEFGENERIC
    Bye.

     
  • Vladimir Volovich

    ok, when i run "clisp" instead of "lisp.run", i get a better result:

    $ ./clisp -x "(PROGN (DEFGENERIC TESTGF00 (&REST ARGS &KEY) (:METHOD (&REST ARGS))) (TESTGF00 'A 'B))"
    WARNING: locale: no encoding 646, using ISO-8859-1
    i i i i i i i ooooo o ooooooo ooooo ooooo
    I I I I I I I 8 8 8 8 8 o 8 8
    I \ `+' / I 8 8 8 8 8 8
    \ `-+-' / 8 8 8 ooooo 8oooo
    `-__|__-' 8 8 8 8 8
    | 8 o 8 8 o 8 8
    ------+------ ooooo 8oooooo ooo8ooo ooooo 8

    Welcome to GNU CLISP 2.48 (2009-07-28) <http://clisp.cons.org/>

    Copyright (c) Bruno Haible, Michael Stoll 1992, 1993
    Copyright (c) Bruno Haible, Marcus Daniels 1994-1997
    Copyright (c) Bruno Haible, Pierpaolo Bernardi, Sam Steingold 1998
    Copyright (c) Bruno Haible, Sam Steingold 1999-2000
    Copyright (c) Sam Steingold, Bruno Haible 2001-2009

    Type :h and hit Enter for context help.

    *** - TESTGF00-<EMF-1>-1: illegal keyword/value pair A, B in argument list.
    The allowed keywords are NIL

    Bye.

    but there is no crash.
    what command is run to perform all tests?

     
  • Sam Steingold

    Sam Steingold - 2010-06-24

    use "make check" to run all tests. also
    $ ./clisp -norc -K boot -i tests/tests -x '(cd "tests/") (run-all-tests)'
    see also .gdbinit (probably won't work under dbx)
    http://clisp.cons.org/impnotes/faq.html#faq-debug

     
  • Vladimir Volovich

    when i try to run all checks as you specified under dbx, it performs an exec() of lisp.run and then immediately
    segfaults, probably because of some file handle redirections performed by dbx:

    $ dbx ./clisp
    For information about new features see `help changes'
    To remove this message, put `dbxenv suppress_startup_message 7.5' in your .dbxrc
    Reading clisp
    Reading ld.so.1
    Reading libncurses.so.5
    Reading libdl.so.1
    Reading libnsl.so.1
    Reading libsocket.so.1
    Reading libc.so.1
    Reading libmp.so.2
    Reading libc_psr.so.1
    (dbx) run -norc -K boot -i tests/tests -x '(cd "tests/") (run-all-tests)'
    Running: clisp -norc -K boot -i tests/tests -x "(cd "tests/") (run-all-tests)"
    (process id 11168)
    dbx: process 11168 about to exec("/opt/home/vvv/src/clisp.new/clisp-build/boot/lisp.run")
    dbx: program "/opt/home/vvv/src/clisp.new/clisp-build/boot/lisp.run" just exec'ed
    dbx: to go back to the original program use "debug $oprog"
    Reading lisp.run
    stopped in main at line 2332 in file "spvw.d"
    2332 begin_system_call();
    (dbx) cont
    signal SEGV (access to address exceeded protections) in closed_buffered at line 8317 in file "stream.d"
    8317 BufferedStream_channel(stream) = NIL; /* Handle becomes invalid */
    (dbx) quit

     
  • Sam Steingold

    Sam Steingold - 2010-06-24

    also:
    1. about "lisp.run" vs "clisp": http://clisp.cons.org/impnotes/faq.html#faq-defun
    2. please use cvs head instead of the released version. it will simplify debugging for me.

     

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks