Comments (8)
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 .
from clasp.
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.
from clasp.
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 .
from clasp.
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 */)
from clasp.
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.
from clasp.
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.
from clasp.
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 ?
from clasp.
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.
from clasp.
Related Issues (20)
- Evaluate using Profile-Guided Optimization (PGO) and Post-Link Optimization (PLO) for C++ part and LLVM
- build failed on fedora
- bytecode-to-BIR incompatibilities
- macroexpand-1 handling of shadowing in lexical environment HOT 1
- github fetch not working: project cannot build without GIT ; hence it currently cannot build. HOT 7
- extended sequences don't work with the type system
- CLTL2 readers fail on bytecode environments
- Differing behavior in ASDF-loaded vs interactively compiled function accessing constant
- pngload fails to load HOT 4
- defstruct-defined classes unavailable at compile-time
- Invalid number type: (FLOAT 0) HOT 1
- Clasp release archive 2.6.0 is still checking for git program HOT 1
- Dockerfile in wiki does not seem to be building
- `**` not permitted as a pathname `:name`
- `parse-namestring` doesn't accept unicode HOT 6
- Extended characters trip up packages
- Emacs v29 ctags not compatible w/ "--ctags=" configuration. etags alias OK. HOT 7
- Build broken - gctools - nativeVector.cc - Regress due last commit? HOT 5
- (check nil null) at toplevel crashes bytecode compiler
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from clasp.