[armedbear] #439: Quicklisp RFC2388 case of no meaningful error

armedbear armedbear-devel at common-lisp.net
Thu Feb 2 17:09:26 UTC 2017


#439: Quicklisp RFC2388 case of no meaningful error
----------------------------------------+----------------------------
 Reporter:  mevenson                    |           Owner:
     Type:  defect                      |          Status:  new
 Priority:  major                       |       Milestone:  1.5.0
Component:  other                       |         Version:  1.5.0-dev
 Keywords:  quicklisp-rfc2388 debugger  |  Parent Tickets:
----------------------------------------+----------------------------
 For the code
 {{{
 (ql:quickload :rfc2388)
 (RFC2388:PARSE-HEADER "multipart/form-data;
 boundary=------------------------ea3255a8d6193fb7" :VALUE)
 }}}

 there is surprisingly no error returned to SLIME.

 Running ABCL from the command line returns the following trace

 {{{
 java.lang.StringIndexOutOfBoundsException: String index out of range: 19
         at java.lang.StringBuffer.setCharAt(StringBuffer.java:255)
         at
 org.armedbear.lisp.SeekableStringWriter.write(SeekableStringWriter.java:87)
         at org.armedbear.lisp.Stream._writeChar(Stream.java:1860)
         at org.armedbear.lisp.Stream$3.execute(Stream.java:2106)
         at org.armedbear.lisp.Symbol.execute(Symbol.java:814)
         at org.armedbear.lisp.LispThread.execute(LispThread.java:832)
         at org.armedbear.lisp.pprint_159.execute(pprint.lisp:769)
         at
 org.armedbear.lisp.CompiledClosure.execute(CompiledClosure.java:109)
         at org.armedbear.lisp.Symbol.execute(Symbol.java:814)
         at org.armedbear.lisp.LispThread.execute(LispThread.java:832)
         at
 org.armedbear.lisp.rfc2388_tmp4O4DY0LA_16.execute(rfc2388.lisp:225)
         at
 org.armedbear.lisp.CompiledClosure.execute(CompiledClosure.java:109)
         at org.armedbear.lisp.LispThread.execute(LispThread.java:832)
         at
 org.armedbear.lisp.Primitives$pf_apply.execute(Primitives.java:2797)
         at org.armedbear.lisp.Symbol.execute(Symbol.java:814)
         at org.armedbear.lisp.LispThread.execute(LispThread.java:832)
         at
 org.armedbear.lisp.rfc2388_tmp4O4DY0LA_15.execute(rfc2388.lisp:225)
         at org.armedbear.lisp.clos_306.execute(clos.lisp:2720)
         at org.armedbear.lisp.clos_280.execute(clos.lisp:2302)
         at
 org.armedbear.lisp.CompiledClosure.execute(CompiledClosure.java:109)
         at
 org.armedbear.lisp.FuncallableStandardObject.execute(FuncallableStandardObject.java:109)
         at org.armedbear.lisp.Symbol.execute(Symbol.java:814)
         at org.armedbear.lisp.LispThread.execute(LispThread.java:832)
         at
 org.armedbear.lisp.rfc2388_tmp4O4DY0LA_14.execute(rfc2388.lisp:220)
         at
 org.armedbear.lisp.CompiledClosure.execute(CompiledClosure.java:109)
         at org.armedbear.lisp.LispThread.execute(LispThread.java:832)
         at
 org.armedbear.lisp.Primitives$pf_apply.execute(Primitives.java:2797)
         at org.armedbear.lisp.Symbol.execute(Symbol.java:814)
         at org.armedbear.lisp.LispThread.execute(LispThread.java:832)
         at
 org.armedbear.lisp.rfc2388_tmp4O4DY0LA_13.execute(rfc2388.lisp:220)
         at org.armedbear.lisp.clos_306.execute(clos.lisp:2720)
         at org.armedbear.lisp.clos_280.execute(clos.lisp:2302)
         at
 org.armedbear.lisp.CompiledClosure.execute(CompiledClosure.java:109)
         at
 org.armedbear.lisp.FuncallableStandardObject.execute(FuncallableStandardObject.java:109)
         at org.armedbear.lisp.LispThread.execute(LispThread.java:832)
         at org.armedbear.lisp.Lisp.evalCall(Lisp.java:582)
         at org.armedbear.lisp.Lisp.eval(Lisp.java:540)
         at
 org.armedbear.lisp.Primitives$pf__eval.execute(Primitives.java:345)
         at org.armedbear.lisp.LispThread.execute(LispThread.java:814)
         at org.armedbear.lisp.Lisp.evalCall(Lisp.java:575)
         at org.armedbear.lisp.Lisp.eval(Lisp.java:540)
         at org.armedbear.lisp.Lisp.progn(Lisp.java:709)
         at
 org.armedbear.lisp.Primitives$sf_block.execute(Primitives.java:3742)
         at org.armedbear.lisp.Lisp.eval(Lisp.java:530)
         at org.armedbear.lisp.Lisp.progn(Lisp.java:709)
         at org.armedbear.lisp.Closure.execute(Closure.java:220)
         at org.armedbear.lisp.Closure.execute(Closure.java:148)
         at org.armedbear.lisp.LispThread.execute(LispThread.java:814)
         at org.armedbear.lisp.Lisp$1.execute(Lisp.java:285)
         at org.armedbear.lisp.Symbol.execute(Symbol.java:803)
         at org.armedbear.lisp.LispThread.execute(LispThread.java:814)
         at org.armedbear.lisp.top_level_47.execute(top-level.lisp:407)
         at
 org.armedbear.lisp.CompiledClosure.execute(CompiledClosure.java:89)
         at org.armedbear.lisp.Symbol.execute(Symbol.java:793)
         at org.armedbear.lisp.LispThread.execute(LispThread.java:798)
         at org.armedbear.lisp.top_level_48.execute(top-level.lisp:415)
         at org.armedbear.lisp.LispThread.execute(LispThread.java:798)
         at org.armedbear.lisp.Interpreter.run(Interpreter.java:361)
         at org.armedbear.lisp.Main$1.run(Main.java:48)
         at java.lang.Thread.run(Thread.java:745)
 #<THREAD "interpreter" {2B376972}>: Debugger invoked on condition of type
 ERROR
   Caught java.lang.StringIndexOutOfBoundsException: String index out of
 range: 19.
 }}}

 Two problems:

 1) Why does SLIME not catch this error?

 2) Figuring out what is the problem with the underlying code

--
Ticket URL: <http://abcl.org/trac/ticket/439>
armedbear <http://abcl.org>
armedbear


More information about the armedbear-ticket mailing list