Open JVDptt opened 3 months ago
Coredump details :
$ gdb boehmprecise/clasp /tmp/iclasp.coredump
GNU gdb (GDB) 15.0.50.20240129-git
Copyright (C) 2024 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from boehmprecise/clasp...
[New LWP 1746047]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `**boehmprecise/iclasp --norc --disable-mpi --ignore-image --feature clasp-min --l**'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 core::lisp_error (datum=datum@entry=..., arguments=...) at ../src/core/foundation.cc:1360
1360 if (!cl::_sym_error->fboundp()) {
(gdb) info reg rip
rip 0xe27a79 0xe27a79 <core::lisp_error(gctools::smart_ptr<core::T_O>, gctools::smart_ptr<core::T_O>)+41>
(gdb) disass/s 0xe27a79, 0xe27a88
Dump of assembler code from 0xe27a79 to 0xe27a88:
../src/core/foundation.cc:
1360 if (!cl::_sym_error->fboundp()) {
=> 0x0000000000e27a79 <_ZN4core10lisp_errorEN7gctools9smart_ptrINS_3T_OEEES3_+41>: call 0xf2b710 <_ZNK4core8Symbol_O7fboundpEv>
0x0000000000e27a7e <_ZN4core10lisp_errorEN7gctools9smart_ptrINS_3T_OEEES3_+46>: test %al,%al
0x0000000000e27a80 <_ZN4core10lisp_errorEN7gctools9smart_ptrINS_3T_OEEES3_+48>: je 0xe27aef <_ZN4core10lisp_errorEN7gctools9smart_ptrINS_3T_OEEES3_+159>
../include/clasp/gctools/smart_pointers.h:
591 template <class From> inline smart_ptr(smart_ptr<From> const& rhs) : theObject((Type*)rhs.theObject){};
0x0000000000e27a82 <_ZN4core10lisp_errorEN7gctools9smart_ptrINS_3T_OEEES3_+50>: mov (%r12),%rdi
../src/core/foundation.cc:
1366 core__apply1(coerce::calledFunctionDesignator(cl::_sym_error), arguments, datum);
0x0000000000e27a86 <_ZN4core10lisp_errorEN7gctools9smart_ptrINS_3T_OEEES3_+54>: call 0xf4db30 <_ZN4core6coerce24calledFunctionDesignatorEN7gctools9smart_ptrINS_3T_OEEE>
End of assembler dump.
(gdb) info reg rdi r12
rdi 0x6 6
r12 0x1da8ac0 31099584
(gdb) info reg rsp rbp rsi gs
rsp 0x7ffcf9d1dee0 0x7ffcf9d1dee0
rbp 0x7ffcf9d1e0d0 0x7ffcf9d1e0d0
rsi 0x7f513c1cc7cb 139986877597643
gs 0x0 0
(gdb) where
#0 core::lisp_error (datum=datum@entry=..., arguments=...) at ../src/core/foundation.cc:1360
#1 0x0000000000f4dc36 in core::coerce::calledFunctionDesignator (obj=obj@entry=...) at ../src/core/designators.cc:70
#2 0x0000000001834c0c in core::eval::funcall<gctools::smart_ptr<core::Integer_O> > (fn=..., args=...) at ../include/clasp/core/evaluator.h:102
#3 gctools::handle_segv (signo=<optimized out>, info=<optimized out>, context=<optimized out>) at ../src/gctools/interrupt.cc:409
#4 <signal handler called>
#5 std::atomic<gctools::smart_ptr<core::FunctionCell_O> >::load (this=0x26, __m=std::memory_order::relaxed)
at /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/atomic:297
#6 core::Symbol_O::functionCell (this=0x6) at ../include/clasp/core/symbol.h:335
#7 core::Symbol_O::fboundp (this=0x6) at ../src/core/symbol.cc:389
#8 0x0000000000e27a7e in core::lisp_error (datum=datum@entry=..., arguments=...) at ../src/core/foundation.cc:1360
...
That core::lisp_error() stack trace repeats more than 100,000 times - it looks like infinite stack recursion !
Any ideas on how to fix / progress to a working build would be much appreciated .
I'd suggest some sort of re-entry detector in core::lisp_error() ?
ie. core::lisp_error() calls fboundp() which calls core::lisp_error() - this recursion needs to be detected and limited.
Actually, I am building with latest binutils-2.42 in /usr/local/bin /usr/local/lib64, I will try re-building with standard system binutils-2.39-16 .
Yes, exactly the same error and coredump occur using either binutils v2.39-16 or binutils v2.42 .
What Clang / LLVM + binutils version do you use for compiling ? Evidentally not clang-16.0.6 or the above binutils versions.
The CFLAGS / CXXFLAGS / LDFLAGS I use are :
$ declare -x CC=gcc CXX=g++ CFLAGS='-std=gnu17 -march=x86-64 -mtune=native -DPIC -fPIC -O3 -g -pipe -Wall -Wextra -Wno-error' CXXFLAGS='-std=gnu++20 -march=x86-64 -mtune=native -DPIC -fPIC -O3 -g -pipe -Wall -Wextra -Wno-error' CLANG=clang LDFLAGS='-O3 -g -flto -fpic'
The actual command that enters infinite recursion and coredumps, ( obtained by running 'strace -s 8192 -e execve ninja' in the build directory), is :
[pid 1763609] execve("boehmprecise/iclasp", ["boehmprecise/iclasp", "--norc", "--disable-mpi", "--ignore-image", "--feature", "clasp-min", "--load", "compile-clasp.lisp", "--", "base", "0", "SYS:SRC;LISP;KERNEL;STAGE;BASE;0-BEGIN.LISP", "SYS:SRC;LISP;KERNEL;STAGE;BASE;1-BEGIN.LISP", "SYS:SRC;LISP;KERNEL;LSP;PROLOGUE.LISP", "SYS:SRC;LISP;KERNEL;INIT.LISP", "SYS:SRC;LISP;KERNEL;CMP;RUNTIME-INFO.LISP", "SYS:SRC;LISP;KERNEL;LSP;SHARPMACROS.LISP", "SYS:SRC;LISP;KERNEL;CMP;JIT-SETUP.LISP", "SYS:SRC;LISP;KERNEL;CLSYMBOLS.LISP", "SYS:SRC;LISP;KERNEL;LSP;PACKAGES.LISP", "SYS:SRC;LISP;KERNEL;LSP;FOUNDATION.LISP", "SYS:SRC;LISP;KERNEL;LSP;EXPORT.LISP", "SYS:SRC;LISP;KERNEL;LSP;DEFMACRO.LISP", "SYS:SRC;LISP;KERNEL;LSP;HELPFILE.LISP", "SYS:SRC;LISP;KERNEL;LSP;EVALMACROS.LISP", "SYS:SRC;LISP;KERNEL;LSP;CLASPMACROS.LISP", "SYS:SRC;LISP;KERNEL;LSP;SOURCE-TRANSFORMATIONS.LISP", "SYS:SRC;LISP;KERNEL;LSP;ARRAYLIB.LISP", "SYS:SRC;LISP;KERNEL;LSP;SETF.LISP", "SYS:SRC;LISP;KERNEL;LSP;LISTLIB.LISP", "SYS:SRC;LISP;KERNEL;LSP;MISLIB.LISP", "SYS:SRC;LISP;KERNEL;LSP;DEFSTRUCT.LISP", "SYS:SRC;LISP;KERNEL;LSP;PREDLIB.LISP", "SYS:SRC;LISP;KERNEL;LSP;CDR-5.LISP", "SYS:SRC;LISP;KERNEL;LSP;CMUUTIL.LISP", "SYS:SRC;LISP;KERNEL;LSP;SEQMACROS.LISP", "SYS:SRC;LISP;KERNEL;LSP;SEQ.LISP", "SYS:SRC;LISP;KERNEL;LSP;SEQLIB.LISP", "SYS:SRC;LISP;KERNEL;LSP;IOLIB.LISP", "SYS:SRC;LISP;KERNEL;LSP;TRACE.LISP", "SYS:SRC;LISP;KERNEL;LSP;DEBUG.LISP", "SYS:SRC;LISP;KERNEL;CMP;CMPEXPORTS.LISP", "SYS:SRC;LISP;KERNEL;CMP;CMPSETUP.LISP", "SYS:SRC;LISP;KERNEL;CMP;CMPUTIL.LISP", "SYS:SRC;LISP;KERNEL;CMP;CMPINTRINSICS.LISP", "SYS:SRC;LISP;KERNEL;CMP;STARTUP-PRIMITIVES.LISP", "SYS:SRC;LISP;KERNEL;CMP;PRIMITIVES.LISP", "SYS:SRC;LISP;KERNEL;CMP;CMPIR.LISP", "SYS:SRC;LISP;KERNEL;CMP;DEBUGINFO.LISP", "SYS:SRC;LISP;KERNEL;CMP;ARGUMENTS.LISP", "SYS:SRC;LISP;KERNEL;CMP;CMPRUNALL.LISP", "SYS:SRC;LISP;KERNEL;CMP;CMPLITERAL.LISP", "SYS:SRC;LISP;KERNEL;CMP;TYPEQ.LISP", "SYS:SRC;LISP;KERNEL;CMP;CODEGEN-SPECIAL-FORM.LISP", "SYS:SRC;LISP;KERNEL;CMP;COMPILE.LISP", "SYS:SRC;LISP;KERNEL;CMP;EXTERNAL-CLANG.LISP", "SYS:SRC;LISP;KERNEL;CMP;CMPNAME.LISP", "SYS:SRC;LISP;KERNEL;CMP;BYTECODE-MACHINES.LISP", "SYS:SRC;LISP;KERNEL;CMP;BYTECODE-REFERENCE.LISP", "SYS:SRC;LISP;KERNEL;CMP;CMPREPL-BYTECODE.LISP", "SYS:GENERATED;BASE-TRANSLATIONS.LISP", "SYS:SRC;LISP;KERNEL;STAGE;BASE;0-END.LISP", "SYS:SRC;LISP;KERNEL;CMP;CMPWALK.LISP", "SYS:SRC;LISP;KERNEL;LSP;ASSERT.LISP", "SYS:SRC;LISP;KERNEL;LSP;NUMLIB.LISP", "SYS:SRC;LISP;KERNEL;LSP;DESCRIBE.LISP", "SYS:SRC;LISP;KERNEL;LSP;MODULE.LISP", "SYS:SRC;LISP;KERNEL;LSP;LOOP2.LISP", "SYS:SRC;LISP;KERNEL;CMP;DISASSEMBLE.LISP", "SYS:SRC;LISP;KERNEL;CMP;OPT;OPT.LISP", "SYS:SRC;LISP;KERNEL;CMP;OPT;OPT-CHARACTER.LISP", "SYS:SRC;LISP;KERNEL;CMP;OPT;OPT-NUMBER.LISP", "SYS:SRC;LISP;KERNEL;CMP;OPT;OPT-TYPE.LISP", "SYS:SRC;LISP;KERNEL;CMP;OPT;OPT-CONTROL.LISP", "SYS:SRC;LISP;KERNEL;CMP;OPT;OPT-SEQUENCE.LISP", "SYS:SRC;LISP;KERNEL;CMP;OPT;OPT-CONS.LISP", "SYS:SRC;LISP;KERNEL;CMP;OPT;OPT-ARRAY.LISP", "SYS:SRC;LISP;KERNEL;CMP;OPT;OPT-OBJECT.LISP", "SYS:SRC;LISP;KERNEL;CMP;OPT;OPT-CONDITION.LISP", "SYS:SRC;LISP;KERNEL;CMP;OPT;OPT-PRINT.LISP", "SYS:SRC;LISP;KERNEL;LSP;SHIFTF-ROTATEF.LISP", "SYS:SRC;LISP;KERNEL;LSP;ASSORTED.LISP", "SYS:SRC;LISP;KERNEL;LSP;PACKLIB.LISP", "SYS:SRC;LISP;KERNEL;LSP;DEFPACKAGE.LISP", "SYS:SRC;LISP;KERNEL;LSP;FORMAT.LISP", "SYS:SRC;LISP;KERNEL;LSP;MP.LISP", "SYS:SRC;LISP;KERNEL;LSP;ATOMICS.LISP", "SYS:SRC;LISP;KERNEL;CLOS;PACKAGE.LISP", "SYS:SRC;LISP;KERNEL;CLOS;STATIC-GFS;PACKAGE.LISP", "SYS:SRC;LISP;KERNEL;CLOS;STATIC-GFS;FLAG.LISP", "SYS:SRC;LISP;KERNEL;CLOS;STATIC-GFS;CONSTRUCTOR.LISP", "SYS:SRC;LISP;KERNEL;CLOS;STATIC-GFS;REINITIALIZER.LISP", "SYS:SRC;LISP;KERNEL;CLOS;STATIC-GFS;CHANGER.LISP", "SYS:SRC;LISP;KERNEL;CLOS;HIERARCHY.LISP", "SYS:SRC;LISP;KERNEL;CLOS;CPL.LISP", "SYS:SRC;LISP;KERNEL;CLOS;STD-SLOT-VALUE.LISP", "SYS:SRC;LISP;KERNEL;CLOS;SLOT.LISP", "SYS:SRC;LISP;KERNEL;CLOS;BOOT.LISP", "SYS:SRC;LISP;KERNEL;CLOS;KERNEL.LISP", "SYS:SRC;LISP;KERNEL;CLOS;OUTCOME.LISP", "SYS:SRC;LISP;KERNEL;CLOS;DISCRIMINATE.LISP", "SYS:SRC;LISP;KERNEL;CLOS;DTREE.LISP", "SYS:SRC;LISP;KERNEL;CLOS;DTREE-GRAPHVIZ.LISP", "SYS:SRC;LISP;KERNEL;CLOS;EFFECTIVE-ACCESSOR.LISP", "SYS:SRC;LISP;KERNEL;CLOS;CLOSFASTGF.LISP", "SYS:SRC;LISP;KERNEL;CLOS;SATIATION.LISP", "SYS:SRC;LISP;KERNEL;CLOS;METHOD.LISP", "SYS:SRC;LISP;KERNEL;CLOS;COMBIN.LISP", "SYS:SRC;LISP;KERNEL;CLOS;STD-ACCESSORS.LISP", "SYS:SRC;LISP;KERNEL;CLOS;DEFCLASS.LISP", "SYS:SRC;LISP;KERNEL;CLOS;SLOTVALUE.LISP", "SYS:SRC;LISP;KERNEL;CLOS;STANDARD.LISP", "SYS:SRC;LISP;KERNEL;CLOS;BUILTIN.LISP", "SYS:SRC;LISP;KERNEL;CLOS;CHANGE.LISP", "SYS:SRC;LISP;KERNEL;CLOS;STDMETHOD.LISP", "SYS:SRC;LISP;KERNEL;CLOS;GENERIC.LISP", "SYS:SRC;LISP;KERNEL;CLOS;FIXUP.LISP", "SYS:SRC;LISP;KERNEL;CLOS;STATIC-GFS;CELL.LISP", "SYS:SRC;LISP;KERNEL;CLOS;STATIC-GFS;EFFECTIVE-METHOD.LISP", "SYS:SRC;LISP;KERNEL;CLOS;STATIC-GFS;SVUC.LISP", "SYS:SRC;LISP;KERNEL;CLOS;STATIC-GFS;SHARED-INITIALIZE.LISP", "SYS:SRC;LISP;KERNEL;CLOS;STATIC-GFS;INITIALIZE-INSTANCE.LISP", "SYS:SRC;LISP;KERNEL;CLOS;STATIC-GFS;ALLOCATE-INSTANCE.LISP", "SYS:SRC;LISP;KERNEL;CLOS;STATIC-GFS;MAKE-INSTANCE.LISP", "SYS:SRC;LISP;KERNEL;CLOS;STATIC-GFS;COMPUTE-CONSTRUCTOR.LISP", "SYS:SRC;LISP;KERNEL;CLOS;STATIC-GFS;DEPENDENTS.LISP", "SYS:SRC;LISP;KERNEL;CLOS;STATIC-GFS;COMPILER-MACROS.LISP", "SYS:SRC;LISP;KERNEL;CLOS;STATIC-GFS;REINITIALIZE-INSTANCE.LISP", "SYS:SRC;LISP;KERNEL;CLOS;STATIC-GFS;UPDATE-INSTANCE-FOR-DIFFERENT-CLASS.LISP", "SYS:SRC;LISP;KERNEL;CLOS;STATIC-GFS;CHANGE-CLASS.LISP", "SYS:SRC;LISP;KERNEL;LSP;SOURCE-LOCATION.LISP", "SYS:SRC;LISP;KERNEL;LSP;DEFVIRTUAL.LISP", "SYS:SRC;LISP;KERNEL;CLOS;STREAMS.LISP", "SYS:SRC;LISP;KERNEL;LSP;PPRINT.LISP", "SYS:SRC;LISP;KERNEL;LSP;FORMAT-PPRINT.LISP", "SYS:SRC;LISP;KERNEL;CLOS;CONDITIONS.LISP", "SYS:SRC;LISP;KERNEL;CLOS;PRINT.LISP", "SYS:SRC;LISP;KERNEL;CLOS;SEQUENCES.LISP", "SYS:SRC;LISP;KERNEL;CMP;COMPILER-CONDITIONS.LISP", "SYS:SRC;LISP;KERNEL;LSP;PACKLIB2.LISP", "SYS:SRC;LISP;KERNEL;CLOS;INSPECT.LISP", "SYS:SRC;LISP;KERNEL;CLOS;TELEMETRY.LISP", "SYS:SRC;LISP;KERNEL;LSP;LOADLTV.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ALEXANDRIA;ALEXANDRIA-1;PACKAGE.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ALEXANDRIA;ALEXANDRIA-1;DEFINITIONS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ALEXANDRIA;ALEXANDRIA-1;BINDING.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ALEXANDRIA;ALEXANDRIA-1;STRINGS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ALEXANDRIA;ALEXANDRIA-1;CONDITIONS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ALEXANDRIA;ALEXANDRIA-1;SYMBOLS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ALEXANDRIA;ALEXANDRIA-1;MACROS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ALEXANDRIA;ALEXANDRIA-1;FUNCTIONS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ALEXANDRIA;ALEXANDRIA-1;LISTS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ALEXANDRIA;ALEXANDRIA-1;TYPES.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ALEXANDRIA;ALEXANDRIA-1;IO.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ALEXANDRIA;ALEXANDRIA-1;HASH-TABLES.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ALEXANDRIA;ALEXANDRIA-1;CONTROL-FLOW.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ALEXANDRIA;ALEXANDRIA-1;ARRAYS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ALEXANDRIA;ALEXANDRIA-1;SEQUENCES.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ALEXANDRIA;ALEXANDRIA-1;NUMBERS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ALEXANDRIA;ALEXANDRIA-1;FEATURES.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ALEXANDRIA;ALEXANDRIA-2;PACKAGE.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ALEXANDRIA;ALEXANDRIA-2;ARRAYS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ALEXANDRIA;ALEXANDRIA-2;CONTROL-FLOW.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ALEXANDRIA;ALEXANDRIA-2;SEQUENCES.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ALEXANDRIA;ALEXANDRIA-2;LISTS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ACCLIMATION;PACKAGES.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ACCLIMATION;LOCALE.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ACCLIMATION;DATE.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ACCLIMATION;LANGUAGE.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ACCLIMATION;LANGUAGE-ENGLISH.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ACCLIMATION;LANGUAGE-FRENCH.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ACCLIMATION;LANGUAGE-SWEDISH.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ACCLIMATION;LANGUAGE-VIETNAMESE.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ACCLIMATION;LANGUAGE-JAPANESE.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ACCLIMATION;CONDITION.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ACCLIMATION;DOCUMENTATION.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ACCLIMATION;INIT.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CONCRETE-SYNTAX-TREE;PACKAGES.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CONCRETE-SYNTAX-TREE;GENERIC-FUNCTIONS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CONCRETE-SYNTAX-TREE;CST.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CONCRETE-SYNTAX-TREE;CONS-CST.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CONCRETE-SYNTAX-TREE;LISTIFY.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CONCRETE-SYNTAX-TREE;CSTIFY.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CONCRETE-SYNTAX-TREE;CST-FROM-EXPRESSION.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CONCRETE-SYNTAX-TREE;QUASIQUOTATION.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CONCRETE-SYNTAX-TREE;RECONSTRUCT.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CONCRETE-SYNTAX-TREE;DECLARATIONS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CONCRETE-SYNTAX-TREE;BODY.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CONCRETE-SYNTAX-TREE;LIST-STRUCTURE.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CONCRETE-SYNTAX-TREE;BINDINGS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CONCRETE-SYNTAX-TREE;CONDITIONS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CONCRETE-SYNTAX-TREE;CONDITION-REPORTERS-ENGLISH.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CONCRETE-SYNTAX-TREE;LAMBDA-LIST;CLIENT.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CONCRETE-SYNTAX-TREE;LAMBDA-LIST;ENSURE-PROPER.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CONCRETE-SYNTAX-TREE;LAMBDA-LIST;GRAMMAR-SYMBOLS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CONCRETE-SYNTAX-TREE;LAMBDA-LIST;LAMBDA-LIST-KEYWORDS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CONCRETE-SYNTAX-TREE;LAMBDA-LIST;GRAMMAR.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CONCRETE-SYNTAX-TREE;LAMBDA-LIST;STANDARD-GRAMMARS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CONCRETE-SYNTAX-TREE;LAMBDA-LIST;EARLEY-ITEM.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CONCRETE-SYNTAX-TREE;LAMBDA-LIST;EARLEY-STATE.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CONCRETE-SYNTAX-TREE;LAMBDA-LIST;PARSER.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CONCRETE-SYNTAX-TREE;LAMBDA-LIST;SCANNER-ACTION.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CONCRETE-SYNTAX-TREE;LAMBDA-LIST;EARLEY.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CONCRETE-SYNTAX-TREE;LAMBDA-LIST;PARSE-TOP-LEVELS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CONCRETE-SYNTAX-TREE;LAMBDA-LIST;UNPARSE.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLOSER-MOP;CLOSER-MOP-PACKAGES.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLOSER-MOP;CLOSER-MOP-SHARED.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLOSER-MOP;CLOSER-CLASP.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ECLECTOR;CODE;BASE;PACKAGE.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ECLECTOR;CODE;BASE;UTILITIES.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ECLECTOR;CODE;BASE;VARIABLES.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ECLECTOR;CODE;BASE;GENERIC-FUNCTIONS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ECLECTOR;CODE;BASE;CONDITIONS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ECLECTOR;CODE;BASE;READ-CHAR.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ECLECTOR;CODE;BASE;MESSAGES-ENGLISH.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ECLECTOR;CODE;READTABLE;PACKAGE.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ECLECTOR;CODE;READTABLE;VARIABLES.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ECLECTOR;CODE;READTABLE;CONDITIONS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ECLECTOR;CODE;READTABLE;GENERIC-FUNCTIONS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ECLECTOR;CODE;READTABLE;MESSAGES-ENGLISH.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ECLECTOR;CODE;READTABLE;SIMPLE;PACKAGE.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ECLECTOR;CODE;READTABLE;SIMPLE;READTABLE.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ECLECTOR;CODE;READTABLE;SIMPLE;METHODS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ECLECTOR;CODE;READTABLE;SIMPLE;MESSAGES-ENGLISH.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ECLECTOR;CODE;READER;PACKAGE.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ECLECTOR;CODE;READER;GENERIC-FUNCTIONS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ECLECTOR;CODE;READER;MORE-VARIABLES.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ECLECTOR;CODE;READER;ADDITIONAL-CONDITIONS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ECLECTOR;CODE;READER;UTILITIES.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ECLECTOR;CODE;READER;LABELED-OBJECTS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ECLECTOR;CODE;READER;TOKENS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ECLECTOR;CODE;READER;READ-COMMON.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ECLECTOR;CODE;READER;READ.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ECLECTOR;CODE;READER;MACRO-FUNCTIONS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ECLECTOR;CODE;READER;INIT.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ECLECTOR;CODE;READER;QUASIQUOTE-MACRO.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ECLECTOR;CODE;READER;DEPRECATION.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ECLECTOR;CODE;READER;MESSAGES-ENGLISH.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ECLECTOR;CODE;PARSE-RESULT;PACKAGE.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ECLECTOR;CODE;PARSE-RESULT;CLIENT.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ECLECTOR;CODE;PARSE-RESULT;GENERIC-FUNCTIONS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ECLECTOR;CODE;PARSE-RESULT;LABELED-OBJECTS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ECLECTOR;CODE;PARSE-RESULT;READ.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ECLECTOR;CODE;CONCRETE-SYNTAX-TREE;PACKAGE.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ECLECTOR;CODE;CONCRETE-SYNTAX-TREE;CLIENT.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ECLECTOR;CODE;CONCRETE-SYNTAX-TREE;LABELED-OBJECTS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;ECLECTOR;CODE;CONCRETE-SYNTAX-TREE;READ.LISP", "SYS:SRC;LISP;KERNEL;CMP;ECLECTOR-CLIENT.LISP", "SYS:SRC;LISP;KERNEL;CMP;FIXUP-ECLECTOR-READTABLES.LISP", "SYS:SRC;LISP;KERNEL;CMP;ACTIVATE-CLASP-READTABLES-FOR-ECLECTOR.LISP", "SYS:SRC;LISP;KERNEL;CMP;DEFINE-UNICODE-TABLES.LISP", "SYS:SRC;LISP;KERNEL;CMP;CMPLTV.LISP", "SYS:SRC;LISP;KERNEL;CMP;DISLTV.LISP", "SYS:SRC;LISP;KERNEL;CMP;COMPILE-FILE.LISP", "SYS:SRC;LISP;KERNEL;CMP;CMPBUNDLE.LISP", "SYS:SRC;LISP;KERNEL;LSP;BYTECODE-INTROSPECT.LISP", "SYS:SRC;LISP;KERNEL;LSP;FLI.LISP", "SYS:SRC;LISP;KERNEL;LSP;POSIX.LISP", "SYS:SRC;LISP;MODULES;SOCKETS;SOCKETS.LISP", "SYS:SRC;LISP;KERNEL;LSP;TOP.LISP", "SYS:SRC;LISP;KERNEL;STAGE;BASE;1-END.LISP", "SYS:SRC;LISP;KERNEL;STAGE;BASE;2-BEGIN.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;INPUT-OUTPUT;PACKAGES.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;INPUT-OUTPUT;IO.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;ATTRIBUTES;PACKAGES.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;ATTRIBUTES;FLAGS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;ATTRIBUTES;ATTRIBUTES.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;ABSTRACT-SYNTAX-TREE;PACKAGES.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;ABSTRACT-SYNTAX-TREE;GENERAL-PURPOSE-ASTS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;ABSTRACT-SYNTAX-TREE;GRAPHVIZ-DRAWING.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;ABSTRACT-SYNTAX-TREE;MAP-AST.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;PRIMOP;PACKAGES.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;PRIMOP;INFO.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;PRIMOP;DEFINITIONS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;SET;PACKAGES.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;SET;SET.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;CONDITIONS;PACKAGES.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;CONDITIONS;PROGRAM-CONDITION.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;CONDITIONS;ORIGIN.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;CONDITIONS;NOTE.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;METER;PACKAGES.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;METER;METER.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;CTYPE;PACKAGES.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;CTYPE;GENERIC-FUNCTIONS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;CTYPE;OTHER-FUNCTIONS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;CTYPE;DEFAULT.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;BIR;PACKAGES.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;BIR;STRUCTURE.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;BIR;INSTRUCTIONS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;BIR;MAP.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;BIR;CONDITIONS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;BIR;GRAPH-MODIFICATIONS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;BIR;VERIFY.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;BIR;DISASSEMBLE.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;BIR;CONDITION-REPORTERS-ENGLISH.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;BIR-BUILDER;PACKAGES.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;BIR-BUILDER;BUILDER.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;AST-TO-BIR;PACKAGES.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;AST-TO-BIR;INFRASTRUCTURE.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;AST-TO-BIR;COMPILE-GENERAL-PURPOSE-ASTS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;AST-TO-BIR;COMPILE-MULTIPLE-VALUE-RELATED-ASTS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;AST-TO-BIR;COMPILE-PRIMOPS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;BIR-TRANSFORMATIONS;PACKAGES.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;BIR-TRANSFORMATIONS;ELIMINATE-COME-FROMS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;BIR-TRANSFORMATIONS;PROCESS-CAPTURED-VARIABLES.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;BIR-TRANSFORMATIONS;DELETE-TEMPORARY-VARIABLES.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;BIR-TRANSFORMATIONS;INTERPOLATE-FUNCTION.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;BIR-TRANSFORMATIONS;COPY-FUNCTION.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;BIR-TRANSFORMATIONS;INLINE.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;BIR-TRANSFORMATIONS;SIMPLE-UNWIND.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;BIR-TRANSFORMATIONS;META-EVALUATE.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;BIR-TRANSFORMATIONS;GENERATE-TYPE-CHECKS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;ENVIRONMENT;PACKAGES.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;ENVIRONMENT;QUERY.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;ENVIRONMENT;AUGMENTATION-FUNCTIONS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;ENVIRONMENT;DEFAULT-AUGMENTATION-CLASSES.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;ENVIRONMENT;COMPILE-TIME.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;ENVIRONMENT;OPTIMIZE-QUALITIES.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;ENVIRONMENT;DECLARATIONS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;ENVIRONMENT;TYPE-INFORMATION.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;ENVIRONMENT;DEFAULT-INFO-METHODS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;ENVIRONMENT;EVAL.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;COMPILATION-POLICY;PACKAGES.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;COMPILATION-POLICY;CONDITIONS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;COMPILATION-POLICY;CONDITION-REPORTERS-ENGLISH.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;COMPILATION-POLICY;POLICY.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;COMPILATION-POLICY;DEFINE-POLICY.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;COMPILATION-POLICY;OPTIMIZE.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;COMPILATION-POLICY;COMPUTE.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CONCRETE-SYNTAX-TREE;DESTRUCTURING;VARIABLES.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CONCRETE-SYNTAX-TREE;DESTRUCTURING;GENERIC-FUNCTIONS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CONCRETE-SYNTAX-TREE;DESTRUCTURING;CONDITIONS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CONCRETE-SYNTAX-TREE;DESTRUCTURING;WHOLE-PARAMETERS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CONCRETE-SYNTAX-TREE;DESTRUCTURING;CONDITION-GENERATION.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CONCRETE-SYNTAX-TREE;DESTRUCTURING;REQUIRED-PARAMETERS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CONCRETE-SYNTAX-TREE;DESTRUCTURING;OPTIONAL-PARAMETERS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CONCRETE-SYNTAX-TREE;DESTRUCTURING;REST-PARAMETERS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CONCRETE-SYNTAX-TREE;DESTRUCTURING;KEY-PARAMETERS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CONCRETE-SYNTAX-TREE;DESTRUCTURING;AUX-PARAMETERS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CONCRETE-SYNTAX-TREE;DESTRUCTURING;LAMBDA-LIST.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CONCRETE-SYNTAX-TREE;DESTRUCTURING;PARSE-MACRO.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CONCRETE-SYNTAX-TREE;DESTRUCTURING;DB-DEFMACRO.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CONCRETE-SYNTAX-TREE;DESTRUCTURING;CONDITION-REPORTERS-ENGLISH.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;CST-TO-AST;PACKAGES.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;CST-TO-AST;CONDITIONS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;CST-TO-AST;CONDITION-REPORTERS-ENGLISH.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;CST-TO-AST;ENVIRONMENT-AUGMENTATION.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;CST-TO-AST;ENVIRONMENT-QUERY.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;CST-TO-AST;VARIABLES.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;CST-TO-AST;GENERIC-FUNCTIONS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;CST-TO-AST;CONVERT-FUNCTION-REFERENCE.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;CST-TO-AST;CONVERT-SPECIAL-BINDING.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;CST-TO-AST;UTILITIES.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;CST-TO-AST;SET-OR-BIND-VARIABLE.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;CST-TO-AST;PROCESS-PROGN.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;CST-TO-AST;CONVERT-SEQUENCE.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;CST-TO-AST;CONVERT-VARIABLE.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;CST-TO-AST;CONVERT.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;CST-TO-AST;PROCESS-INIT-PARAMETER.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;CST-TO-AST;ITEMIZE-DECLARATION-SPECIFIERS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;CST-TO-AST;ITEMIZE-LAMBDA-LIST.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;CST-TO-AST;LAMBDA-LIST-FROM-PARAMETER-GROUPS.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;CST-TO-AST;CONVERT-SETQ.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;CST-TO-AST;CONVERT-LET-AND-LETSTAR.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;CST-TO-AST;CONVERT-CODE.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;CST-TO-AST;CONVERT-LAMBDA-CALL.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;CST-TO-AST;CONVERT-CONSTANT.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;CST-TO-AST;CONVERT-SPECIAL.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;CST-TO-AST;CONVERT-PRIMOP.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;CST-TO-AST;CONVERT-CST.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;CST-TO-AST;CST-TO-AST.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;STEALTH-MIXINS;PACKAGES.LISP", "SYS:SRC;LISP;KERNEL;CONTRIB;CLEAVIR;STEALTH-MIXINS;STEALTH-MIXINS.LISP", "SYS:SRC;LISP;KERNEL;CLEAVIR;PACKAGES.LISP", "SYS:SRC;LISP;KERNEL;CLEAVIR;SYSTEM.LISP", "SYS:SRC;LISP;KERNEL;CLEAVIR;POLICY.LISP", "SYS:SRC;LISP;KERNEL;CLEAVIR;READER.LISP", "SYS:SRC;LISP;KERNEL;CLEAVIR;AST.LISP", "SYS:SRC;LISP;KERNEL;CLEAVIR;CONVERT-FORM.LISP", "SYS:SRC;LISP;KERNEL;CLEAVIR;CONVERT-SPECIAL.LISP", "SYS:SRC;LISP;KERNEL;CLEAVIR;TOPLEVEL.LISP", "SYS:SRC;LISP;KERNEL;CLEAVIR;SETUP.LISP", "SYS:SRC;LISP;KERNEL;CLEAVIR;FOLD.LISP", "SYS:SRC;LISP;KERNEL;CLEAVIR;IR.LISP", "SYS:SRC;LISP;KERNEL;CLEAVIR;TRANSLATION-ENVIRONMENT.LISP", "SYS:SRC;LISP;KERNEL;CLEAVIR;BIR.LISP", "SYS:SRC;LISP;KERNEL;CLEAVIR;BMIR.LISP", "SYS:SRC;LISP;KERNEL;CLEAVIR;BLIR.LISP", "SYS:SRC;LISP;KERNEL;CLEAVIR;VASLIST.LISP", "SYS:SRC;LISP;KERNEL;CLEAVIR;BIR-TO-BMIR.LISP", "SYS:SRC;LISP;KERNEL;CLEAVIR;REPRESENTATION-SELECTION.LISP", "SYS:SRC;LISP;KERNEL;CLEAVIR;BMIR-TO-BLIR.LISP", "SYS:SRC;LISP;KERNEL;CLEAVIR;LANDING-PAD.LISP", "SYS:SRC;LISP;KERNEL;CLEAVIR;PRIMOP.LISP", "SYS:SRC;LISP;KERNEL;CLEAVIR;INTERVAL.LISP", "SYS:SRC;LISP;KERNEL;CLEAVIR;TYPE.LISP", "SYS:SRC;LISP;KERNEL;CLEAVIR;TRANSFORM.LISP", "SYS:SRC;LISP;KERNEL;CLEAVIR;TRANSLATE.LISP", "SYS:SRC;LISP;KERNEL;CLEAVIR;COMPILE-BYTECODE.LISP", "SYS:SRC;LISP;KERNEL;CLEAVIR;INLINE-PREP.LISP", "SYS:SRC;LISP;KERNEL;CLEAVIR;PROCLAMATIONS.LISP", "SYS:SRC;LISP;KERNEL;CLEAVIR;HOOKS.LISP", "SYS:SRC;LISP;KERNEL;CLEAVIR;BYTECODE-ADAPTOR.LISP", "SYS:SRC;LISP;KERNEL;CLEAVIR;INLINE.LISP", "SYS:SRC;LISP;KERNEL;LSP;QUEUE.LISP", "SYS:SRC;LISP;KERNEL;LSP;GENERATED-ENCODINGS.LISP", "SYS:SRC;LISP;KERNEL;LSP;PROCESS.LISP", "SYS:SRC;LISP;KERNEL;LSP;ENCODINGS.LISP", "SYS:SRC;LISP;KERNEL;LSP;CLTL2.LISP", "SYS:SRC;LISP;KERNEL;LSP;XREF.LISP", "SYS:GENERATED;BASE-IMMUTABLE.LISP", "SYS:SRC;LISP;KERNEL;STAGE;BASE;2-END.LISP", "SYS:SRC;LISP;KERNEL;CMP;COMPILE-FILE-PARALLEL.LISP", "SYS:SRC;LISP;KERNEL;CLEAVIR;AUTO-COMPILE.LISP", "SYS:SRC;LISP;KERNEL;LSP;TOP-HOOK.LISP"], 0x55f3d5462000 /* 30 vars */)
With this patch, infinite recursion and coredump is avoided, but unfortunately the build still fails , printing the message:
lisp_error ->
Error #<UNBOUND> initializers: (NIL NIL)
, unfortunately not much help , but at least no coredump.
Clasp is evidently a long way from being buildable / usable - good luck, I'll see how it has progressed in a year or so.
cl__error
does check for recursion, and all lisp_error
does is call cl__error
. So I don't know how you're seeing that.
Thanks for taking a look, Alex .
The recursion path is documented in the "Coredump Details" comment above :
(gdb) where
#0 core::lisp_error (datum=datum@entry=..., arguments=...) at ../src/core/foundation.cc:1360
#1 0x0000000000f4dc36 in core::coerce::calledFunctionDesignator (obj=obj@entry=...) at ../src/core/designators.cc:70
#2 0x0000000001834c0c in core::eval::funcall<gctools::smart_ptr<core::Integer_O> > (fn=..., args=...) at ../include/clasp/core/evaluator.h:102
#3 gctools::handle_segv (signo=<optimized out>, info=<optimized out>, context=<optimized out>) at ../src/gctools/interrupt.cc:409
#4 <signal handler called>
#5 std::atomic<gctools::smart_ptr<core::FunctionCell_O> >::load (this=0x26, __m=std::memory_order::relaxed)
at /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/atomic:297
#6 core::Symbol_O::functionCell (this=0x6) at ../include/clasp/core/symbol.h:335
#7 core::Symbol_O::fboundp (this=0x6) at ../src/core/symbol.cc:389
#8 0x0000000000e27a7e in core::lisp_error (datum=datum@entry=..., arguments=...) at ../src/core/foundation.cc:1360
...
The original version or core::lisp_error:
[[noreturn]] void lisp_error(T_sp datum, T_sp arguments) {
if (!cl::_sym_error->fboundp()) {
stringstream ss;
ss << "Error " << _rep_(datum) << " initializers: " << _rep_(arguments) << std::endl;
printf("%s:%d lisp_error ->\n %s\n", __FILE__, __LINE__, ss.str().c_str());
early_debug(nil<T_O>(), false);
}
core__apply1(coerce::calledFunctionDesignator(cl::_sym_error), arguments, datum);
UNREACHABLE();
}
Unconditionally calls cl::sym_error->fboundp() , which eventually calls calledFunctionDesignator() :
Function_sp calledFunctionDesignator(T_sp obj) {
if (Function_sp fnobj = obj.asOrNull<Function_O>()) {
return fnobj;
} else if (obj.nilp()) {
ERROR_UNDEFINED_FUNCTION(obj);
} else if (obj.unboundp()) {
ERROR_UNDEFINED_FUNCTION(obj);
} else if (Symbol_sp sym = obj.asOrNull<Symbol_O>()) {
return sym->symbolFunctionCalled();
}
TYPE_ERROR(obj, Cons_O::createList(cl::_sym_or, cl::_sym_function, cl::_sym_Symbol_O));
}
The recursion occurs because the TYPE_ERROR call on line 70 expands to (exceptions.h, line 103) :
#define TYPE_ERROR(_datum_, _expectedType_) \
ERROR(::cl::_sym_type_error, core::lisp_createList(kw::_sym_datum, _datum_, kw::_sym_expected_type, _expectedType_))
which expands to ERROR, on line 69 of that file :
#define ERROR(_type_, _initializers_) lisp_error(_type_, _initializers_)
which then recurses infinitely .
I can provide many examples of the actual coredump files if desired .
Why the lisp_error(datum, arguments) parameters, which print as :
lisp_error ->
Error #<UNBOUND> initializers: (NIL NIL)
in my modified recursion-safe version, are not detected as unboundp() or nilp() , and , most importantly, how they end up being generated during build, is , IMHO, the more interesting question.
How a compilation on Fedora Core 38 under its latest clang + llvm 16.0.6 can end up being so different to a compilation under your build platform , is also the most overriding question, IMHO .
What OS version + Clang/LLVM version do you normally build under ? Why is the result so different in my case under FC-38 ?
Sorry for the delay, I have lots of other things to work on.
We usually build (and test) on Ubuntu 22.04 (github's ubuntu-latest
) and MacOS 14 (github's macos-latest
) with LLVM 17. I don't think LLVM should be relevant here since the compiler isn't really involved, but then I don't understand this error to begin with.
The immediate problem in your trace is that it segfaults while trying to load the function cell of a "symbol". That "symbol" is 6, which is not exactly a valid pointer. Given how lisp_error
is written, that symbol must be cl:error
. For that symbol to not exist, either this error is happening extremely early in startup, or something has broken it.
Have you yet posted an untruncated backtrace? I don't see it. Is it possible for you to get one? This segfault isn't the underlying problem but I don't think I have enough information to guess what the underlying problem is.
As a sidenote, we don't want to prevent all recursive error calls, since it's legitimate to signal an error from within an error handler. But we could make our depth check use a simple thread_local
like you have, instead of the dynamic variable binding we're doing currently.
Describe the bug A clear and concise description of what the bug is.
Building on Fedora Core 38 Linux (FC-38), x86_64, with : o sbcl-2.4.2 o clang + LLVM v16.0.6 o glibc-2.37-18 o binutils-2.42 or 2.39-16
with :
$ ./koga 2>&1 | tee koga.log && ninja -C build 2>&1 | tee build/ninja.build.log `
fails at iclasp link stage :
[534/539] Linking boehmprecise/iclasp
[534/539] Compiling clasp
[535/539] Linking boehmprecise/clasp to iclasp `
A core-dump is suffered by iclasp. See attached long stack-trace & coredump logs.
Expected behavior A clear and concise description of what you expected to happen.
Building a Release Tagged GIT commit according to instructions in Wiki (https://github.com/clasp-developers/clasp/wiki/Building-and-Installing-from-Source) should succeed.
Actual behavior A clear and concise description of what happened instead. This should include error messages and backtraces if there are any. If that would be more than a few dozen lines, please attach it in a file instead.
Code at issue
If the code is more than a few dozen lines, please attach a source file instead.
PLEASE SEE :
iclasp coredump log listing ( can attach full coredump xz file if requested) : clasp.ninja.build.failure.iclasp.coredump.log.txt
ninja.build.log Stack-Traces: clasp.ninja.build.failure.stacktrace.log.txt
Other steps to reproduce If the problem cannot be reproduced from just a code sample, include other steps here.
Context
(clasp-cltl2:declaration-information 'optimize)
)Any other context about the problem
I will investigate core-dump & link failure further, using :
$ strace -s8192 -f -e trace=execve ninja -C build
, since Ninja's worst fault (IMHO) is lack of 'Verbose Mode' / print-all-commands option ( https://github.com/ninja-build/ninja/issues/2378 ) .