[Bordeaux-threads-devel] patch for binding-default-specials

Brian O'Reilly fade at deepsky.com
Sun Apr 5 15:56:14 UTC 2009


Gustavo's patch to change binding-default-specials breaks Uncommon Web's
internal httpd during startup::

The value #\T is not of type LIST.
    [Condition of type TYPE-ERROR]

Restarts:
  0: [RETRY] Retry SLIME REPL evaluation request.
  1: [ABORT] Return to SLIME's top level.
  2: [TERMINATE-THREAD] Terminate this thread (#<THREAD "repl-thread"
RUNNING {B1FEE61}>)

Backtrace:
   0: (CAR #\T)[:EXTERNAL]
   1: (SB-IMPL::VECTOR-REMOVE-DUPLICATES* ..)
   2: (REMOVE-DUPLICATES ..)[:EXTERNAL]
   3: (BORDEAUX-THREADS::BINDING-DEFAULT-SPECIALS ..)
   4: (BORDEAUX-THREADS:MAKE-THREAD #<CLOSURE (LAMBDA #)
{B93E0D5}>)[:EXTERNAL]
   5: (IT.BESE.UCW.CORE::MAKE-HTTPD-CONTROLLER #<HTTPD-BACKEND :host
0.0.0.0 :port 9999 {A944501}>)
   6: ((SB-PCL::FAST-METHOD IT.BESE.UCW.CORE::STARTUP-BACKEND
(HTTPD-BACKEND)) #<unavailable argument> #<unavail$
   7: ((LAMBDA (SB-PCL::.PV. SB-PCL::.NEXT-METHOD-CALL. SB-PCL::.ARG0.
SB-INT:&MORE SB-PCL::.DFUN-MORE-CONTEXT. $
   8: ((SB-PCL::FAST-METHOD STARTUP-SERVER (STANDARD-SERVER))
#<unavailable argument> #<unavailable argument> #<$
   9: ((FLET #:WITHOUT-INTERRUPTS-BODY-[CALL-WITH-RECURSIVE-LOCK]477))
  10: (SB-THREAD::CALL-WITH-RECURSIVE-LOCK ..)
  11: ((SB-PCL::FAST-METHOD STARTUP-SERVER :AROUND (STANDARD-SERVER)) ..)
  12: (SB-INT:SIMPLE-EVAL-IN-LEXENV (STARTUP-KTOUR) #<NULL-LEXENV>)
  13: (SWANK::EVAL-REGION "(startup-ktour)\n")
  14: ((LAMBDA ()))
  15: (SWANK::TRACK-PACKAGE #<CLOSURE (LAMBDA #) {B68771D}>)
  16: (SWANK::CALL-WITH-RETRY-RESTART "Retry SLIME REPL evaluation
request." #<CLOSURE (LAMBDA #) {B6876AD}>)
  17: (SWANK::CALL-WITH-BUFFER-SYNTAX NIL #<CLOSURE (LAMBDA #) {B687695}>)
  18: (SWANK::REPL-EVAL "(startup-ktour)\n")
  19: (SB-INT:SIMPLE-EVAL-IN-LEXENV (SWANK:LISTENER-EVAL
"(startup-ktour)\n") #<NULL-LEXENV>)
  20: (SWANK::EVAL-FOR-EMACS (SWANK:LISTENER-EVAL "(startup-ktour)\n")
"KINSASHA" 11)
  21: (SWANK::PROCESS-REQUESTS NIL)
  22: ((LAMBDA ()))
  23: ((LAMBDA (SWANK-BACKEND::HOOK SWANK-BACKEND::FUN)) #<FUNCTION
SWANK:SWANK-DEBUGGER-HOOK> #<CLOSURE (LAMBDA$
  24: (SWANK::CALL-WITH-BINDINGS ..)
  25: (SWANK::CALL-WITH-CONNECTION #<SWANK::CONNECTION {ADDCA71}>
#<CLOSURE (LAMBDA #) {B2080BD}>)
  26: (SWANK::HANDLE-REQUESTS #<SWANK::CONNECTION {ADDCA71}> NIL)
  27: (SWANK::CALL-WITH-BINDINGS NIL #<CLOSURE (LAMBDA #) {B208095}>)
  28: ((FLET #:WITHOUT-INTERRUPTS-BODY-[G859]865))
  29: ((FLET SB-THREAD::WITH-MUTEX-THUNK))
  30: ((FLET #:WITHOUT-INTERRUPTS-BODY-[CALL-WITH-MUTEX]446))
  31: (SB-THREAD::CALL-WITH-MUTEX ..)
  32: ((LAMBDA ()))
  33: ("foreign function: #x8066A1C")
  34: ("foreign function: #x8052DCD")
  35: ("foreign function: #x805DAEB")
  36: ("foreign function: #xB7FC54C0")

Backing out the following patches makes things functional again:

Mon Mar 30 09:47:23 EDT 2009  Stelian Ionescu <sionescu at common-lisp.net>
   * *default-special-bindings* now defaults to NIL, move I/O bindings
to *standard-io-bindings*.

Mon Mar 30 09:25:06 EDT 2009  Stelian Ionescu <sionescu at common-lisp.net>
   * Use forms(and EVAL) instead of funtions to yield values for
thread-local bindings.

Sat Mar 21 19:29:26 EDT 2009  Stelian Ionescu <sionescu at common-lisp.net>
   * Clean bordeaux-threads.asd up.

Sat Mar 14 11:31:08 EDT 2009  Gustavo <gugamilare at gmail.com>
   * Fix use of REMOVE-DUPLICATES in BINDING-DEFAULT-SPECIALS.

... pretty sure it's a case of the computer doing what you say and not
what you mean, but at any rate, I thought I should let you folks know.

Kind Regards.,

Brian O'Reilly
DeepSky Systems/Walled Networks.





More information about the bordeaux-threads-devel mailing list