I thought this might interest, if it could be a cause of any problems
in future: (sbcl.17 with threads on macbook 10.5.3)
USE-PACKAGE #<PACKAGE "BORDEAUX-THREADS"> causes name-conflicts
in #<PACKAGE "BORDEAUX-THREADS-TEST"> between the following
symbols:
BORDEAUX-THREADS:WITH-TIMEOUT, LIFT:WITH-TIMEOUT
[Condition of type NAME-CONFLICT]
See also:
Common Lisp Hyperspec, 11.1.1.2.5 [:section]
Restarts:
0: [RESOLVE-CONFLICT] Resolve conflict.
1: [TRY-RECOMPILING] Try recompiling bordeaux-threads-test
2: [RETRY] Retry performing #<ASDF:COMPILE-OP NIL {13197741}> on
#<ASDF:CL-SOURCE-FILE "bordeaux-threads-test" {13197A09}>.
3: [ACCEPT] Continue, treating #<ASDF:COMPILE-OP NIL {13197741}> on
#<ASDF:CL-SOURCE-FILE "bordeaux-threads-test" {13197A09}> as having
been successful.
4: [ABORT] Return to SLIME's top level.
5: [TERMINATE-THREAD] Terminate this thread (#<THREAD "repl-
thread" {1268F779}>)
Backtrace:
0: (NAME-CONFLICT #<PACKAGE "BORDEAUX-THREADS-TEST"> USE-PACKAGE
#<PACKAGE "BORDEAUX-THREADS">)[:EXTERNAL]
1: ((FLET SB-THREAD::WITH-RECURSIVE-SPINLOCK-THUNK))
2: ((FLET #:WITHOUT-INTERRUPTS-BODY-[CALL-WITH-RECURSIVE-
SPINLOCK]555))
3: (SB-THREAD::CALL-WITH-RECURSIVE-SPINLOCK #<CLOSURE (FLET SB-
THREAD::WITH-RECURSIVE-SPINLOCK-THUNK) {44FEE0D}> #S(SB-
THREAD::SPINLOCK :NAME "Package Lock" :VALUE #<SB-THREAD:THREAD "repl-
thread" {1268F779}>))
4: (USE-PACKAGE (#<PACKAGE "COMMON-LISP"> #<PACKAGE "BORDEAUX-
THREADS"> #<PACKAGE "LIFT">) #<PACKAGE "BORDEAUX-THREADS-TEST">)
5: (SB-IMPL::UPDATE-PACKAGE #<PACKAGE "BORDEAUX-THREADS-TEST"> NIL
NIL NIL NIL (#<PACKAGE "COMMON-LISP"> #<PACKAGE "BORDEAUX-THREADS">
#<PACKAGE "LIFT">) NIL NIL NIL ("BORDEAUX-THREADS-TEST") NIL NIL)
6: (SB-INT:SIMPLE-EVAL-IN-LEXENV (SB-IMPL::%DEFPACKAGE "BORDEAUX-
THREADS-TEST" (QUOTE NIL) (QUOTE NIL) (QUOTE NIL) (QUOTE NIL) ...)
#<NULL-LEXENV>)
7: ((FLET SB-C::DEFAULT-PROCESSOR) (SB-IMPL::%DEFPACKAGE "BORDEAUX-
THREADS-TEST" (QUOTE NIL) (QUOTE NIL) (QUOTE NIL) (QUOTE NIL) ...))
8: (SB-C::PROCESS-TOPLEVEL-FORM (SB-IMPL::%DEFPACKAGE "BORDEAUX-
THREADS-TEST" (QUOTE NIL) (QUOTE NIL) (QUOTE NIL) (QUOTE NIL) ...)
((EVAL-WHEN (:COMPILE-TOPLEVEL :LOAD-TOPLEVEL :EXECUTE) (SB-IMPL::
%DEFPACKAGE "BORDEAUX-THREADS-TEST" # # # # ...)) SB-C::ORIGINAL-
SOURCE-START 0 0) (:COMPILE-TOPLEVEL))
9: (SB-C::PROCESS-TOPLEVEL-PROGN ((SB-IMPL::%DEFPACKAGE "BORDEAUX-
THREADS-TEST" (QUOTE NIL) (QUOTE NIL) (QUOTE NIL) (QUOTE NIL) ...))
((EVAL-WHEN (:COMPILE-TOPLEVEL :LOAD-TOPLEVEL :EXECUTE) (SB-IMPL::
%DEFPACKAGE "BORDEAUX-THREADS-TEST" # # # # ...)) SB-C::ORIGINAL-
SOURCE-START 0 0) (:COMPILE-TOPLEVEL))
10: (SB-C::PROCESS-TOPLEVEL-FORM (EVAL-WHEN (:COMPILE-TOPLEVEL :LOAD-
TOPLEVEL :EXECUTE) (SB-IMPL::%DEFPACKAGE "BORDEAUX-THREADS-
TEST" (QUOTE NIL) (QUOTE NIL) (QUOTE NIL) (QUOTE NIL) ...)) (SB-
C::ORIGINAL-SOURCE-START 0 0) NIL)
11: ((FLET SB-C::DEFAULT-PROCESSOR) (DEFPACKAGE BORDEAUX-THREADS-
TEST (:USE #:CL #:BORDEAUX-THREADS #:LIFT)))
12: (SB-C::PROCESS-TOPLEVEL-FORM (DEFPACKAGE BORDEAUX-THREADS-TEST
(:USE #:CL #:BORDEAUX-THREADS #:LIFT)) (SB-C::ORIGINAL-SOURCE-START 0
0) NIL)
13: (SB-C::SUB-SUB-COMPILE-FILE #<SB-C::SOURCE-INFO >)
14: ((LAMBDA NIL))
15: (SB-C::%WITH-COMPILATION-UNIT #<CLOSURE (LAMBDA NIL) {1299117D}>)
[:EXTERNAL]
16: (SB-C::SUB-COMPILE-FILE #<SB-C::SOURCE-INFO >)
17: (COMPILE-FILE #P"/Users/mmstud/lisp/libs/bordeaux-threads/test/
bordeaux-threads-test.lisp")[:EXTERNAL]
18: ((SB-PCL::FAST-METHOD ASDF:PERFORM (ASDF:COMPILE-OP ASDF:CL-
SOURCE-FILE)) #<unavailable argument> #<unavailable argument>
#<ASDF:COMPILE-OP NIL {13197741}> #<ASDF:CL-SOURCE-FILE "bordeaux-
threads-test" {13197A09}>)
19: ((LAMBDA (SB-PCL::.PV. SB-PCL::.NEXT-METHOD-CALL. SB-PCL::.ARG0.
SB-PCL::.ARG1.)) #<unavailable argument> #<unavailable argument>
#<ASDF:COMPILE-OP NIL {13197741}> #<ASDF:CL-SOURCE-FILE "bordeaux-
threads-test" {13197A09}>)
20: ((SB-PCL::FAST-METHOD ASDF:PERFORM :AROUND (ASDF:COMPILE-OP
ASDF:CL-SOURCE-FILE)) #<unavailable argument> #S(SB-PCL::FAST-METHOD-
CALL :FUNCTION #<CLOSURE (LAMBDA #) {1297BA15}> :PV NIL :NEXT-METHOD-
CALL NIL :ARG-INFO (2)) #<ASDF:COMPILE-OP NIL {13197741}> #<ASDF:CL-
SOURCE-FILE "bordeaux-threads-test" {13197A09}>)
21: ((LAMBDA NIL))
22: ((FLET SB-THREAD::WITH-RECURSIVE-LOCK-THUNK))
23: ((FLET #:WITHOUT-INTERRUPTS-BODY-[CALL-WITH-RECURSIVE-LOCK]522))
24: (SB-THREAD::CALL-WITH-RECURSIVE-LOCK #<CLOSURE (FLET SB-
THREAD::WITH-RECURSIVE-LOCK-THUNK) {44FF6CD}> #S(SB-THREAD:MUTEX :NAME
"big compiler lock" :%OWNER #<SB-THREAD:THREAD "repl-
thread" {1268F779}> :LUTEX #<unknown pointer object, widetag=#x5E
{1049A027}>))
25: (SB-C::%WITH-COMPILATION-UNIT #<CLOSURE (LAMBDA NIL) {12A0C9DD}>)
[:EXTERNAL]
26: (ASDF:OPERATE ASDF:LOAD-OP :BORDEAUX-THREADS-TEST)[:EXTERNAL]
27: (SB-INT:SIMPLE-EVAL-IN-LEXENV (ASDF:OOS (QUOTE ASDF:LOAD-
OP) :BORDEAUX-THREADS-TEST) #<NULL-LEXENV>)
28: (SWANK::EVAL-REGION "(asdf:oos 'asdf:load-op :bordeaux-threads-
test)
")
29: ((LAMBDA NIL))