Hi,
The following form breaks when evaluated:
(json:encode-json-to-string '((:a . ((:b . ((:c . 42)))))))
Help! 11 nested errors. SB-KERNEL:*MAXIMUM-ERROR-DEPTH* exceeded. 0: (SB-DEBUG::MAP-BACKTRACE #<CLOSURE (LAMBDA (SB-DEBUG::FRAME)) {10032BDAF9}> :START 0 :COUNT 1152921504606846975) 1: (BACKTRACE 1152921504606846975 #<SYNONYM-STREAM :SYMBOL SB-SYS:*TTY* {100021E341}>) 2: ((LAMBDA NIL)) 3: (SB-IMPL::%WITH-STANDARD-IO-SYNTAX #<CLOSURE (LAMBDA NIL) {10032BDAB9}>) 4: (SB-IMPL::ERROR-ERROR "Help! " 11 " nested errors. " "SB-KERNEL:*MAXIMUM-ERROR-DEPTH* exceeded.") 5: (SB-IMPL::INFINITE-ERROR-PROTECTOR) 6: (ERROR JSON:UNENCODABLE-VALUE-ERROR :DATUM (:C . 42) :CONTEXT JSON:ENCODE-JSON) 7: (JSON:UNENCODABLE-VALUE-ERROR (:C . 42) JSON:ENCODE-JSON) 8: (SIGNAL #<TYPE-ERROR expected-type: LIST datum: 42>) 9: (ERROR TYPE-ERROR :DATUM 42 :EXPECTED-TYPE LIST) 10: (SB-KERNEL::OBJECT-NOT-LIST-ERROR-HANDLER #<unavailable argument> #.(SB-SYS:INT-SAP #X7FFFF6D8CC20) #<SB-ALIEN-INTERNALS:ALIEN-VALUE :SAP #X7FFFF6D8C600 :TYPE (* (STRUCT SB-VM::OS-CONTEXT-T-STRUCT))> (405)) 11: (SB-KERNEL:INTERNAL-ERROR #.(SB-SYS:INT-SAP #X7FFFF6D8C600) #<unavailable argument>) 12: ("foreign function: #x417860")
debugger invoked on a SIMPLE-ERROR in thread #<THREAD "initial thread" RUNNING {1002990EE1}>: Maximum error nesting depth exceeded
Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.
restarts (invokable by number or by possibly-abbreviated name): 0: [ABORT] Exit debugger, returning to top level.
Regards,
-- Nicolas Martyanoff http://codemore.org khaelin@gmail.com