After some further work with the system, I now have an interesting "test case"
-
http://arxana.net/decipher loads without producing that error
-
http://arxana.net/decipher/model/1 produces the error and doesn't load
Throwing in a break reveals that the version without the error doesn't
call the `close-active-socket' function at all, but the version with
the error seems to try twice, yielding two slightly different
backtraces:
Backtrace:
0: (BREAK "break")
1: (KMRCL:CLOSE-ACTIVE-SOCKET #<SB-SYS:FD-STREAM for "socket
127.0.0.1:20123, peer:
127.0.0.1:48912" {C46F4C1}>)
2: ((FLET #:CLEANUP-FUN-34 :IN MODLISP::MODLISP-COMMAND-ISSUER))[:CLEANUP]
3: (MODLISP::MODLISP-COMMAND-ISSUER #<SB-SYS:FD-STREAM for "socket
127.0.0.1:20123, peer:
127.0.0.1:48912" {C46F4C1}>
#<MODLISP::ML-SERVER {E28F049}>)
4: ((LAMBDA () :IN INITIALIZE-INSTANCE))
5: ((FLET #:WITHOUT-INTERRUPTS-BODY-223578 :IN SB-THREAD:MAKE-THREAD))
6: ((FLET SB-THREAD::WITH-MUTEX-THUNK :IN SB-THREAD:MAKE-THREAD))
7: ((FLET #:WITHOUT-INTERRUPTS-BODY-88894 :IN SB-THREAD::CALL-WITH-MUTEX))
8: (SB-THREAD::CALL-WITH-MUTEX ..)
9: (SB-THREAD::INITIAL-THREAD-FUNCTION)
10: ("foreign function: call_into_lisp")
11: ("foreign function: funcall0")
12: ("foreign function: new_thread_trampoline")
13: ("foreign function: #xB7FB4D4C")
Backtrace:
0: (BREAK "break")
1: (KMRCL:CLOSE-ACTIVE-SOCKET #<SB-BSD-SOCKETS:INET-SOCKET
127.0.0.1:20123, peer:
127.0.0.1:49159, fd: 21 {C680BD1}>)
2: ((FLET #:CLEANUP-FUN-298 :IN INITIALIZE-INSTANCE))[:CLEANUP]
3: ((LAMBDA () :IN INITIALIZE-INSTANCE))
4: ((FLET #:WITHOUT-INTERRUPTS-BODY-223578 :IN SB-THREAD:MAKE-THREAD))
5: ((FLET SB-THREAD::WITH-MUTEX-THUNK :IN SB-THREAD:MAKE-THREAD))
6: ((FLET #:WITHOUT-INTERRUPTS-BODY-88894 :IN SB-THREAD::CALL-WITH-MUTEX))
7: (SB-THREAD::CALL-WITH-MUTEX ..)
8: (SB-THREAD::INITIAL-THREAD-FUNCTION)
9: ("foreign function: call_into_lisp")
10: ("foreign function: funcall0")
11: ("foreign function: new_thread_trampoline")
12: ("foreign function: #xB7FB4D4C")