[armedbear-ticket] [armedbear] #260: ABCL crashes on empty string designated as || in defstruct

armedbear armedbear-devel at common-lisp.net
Mon Nov 5 15:04:16 UTC 2012


#260: ABCL crashes on empty string designated as || in defstruct
----------------------------------------------------------------------------------------------+
 Reporter:  https://www.google.com/accounts/o8/id?id=aitoawkpaspbvrtrjcvsrck294sqlnthajx7hzq  |       Owner:  ehuelsmann
     Type:  defect                                                                            |      Status:  new       
 Priority:  major                                                                             |   Milestone:            
Component:  compiler                                                                          |     Version:            
 Keywords:                                                                                    |  
----------------------------------------------------------------------------------------------+
 ARNESI's matcher has this form in it:
 {{{
 (defstruct (match-state (:conc-name ||))
   target
   bindings
   matched)
 }}}
 This causes ABCL to crash with an error: `Can't intern zero-length
 symbol.`

 Backtrace from SLIME:
 {{{
 Backtrace:
   0: (#<FUNCTION {72FB24C}> #<READER-ERROR {4C629F43}> #<FUNCTION
 {72FB24C}>)
   1: (APPLY #<FUNCTION {72FB24C}> (#<READER-ERROR {4C629F43}> #<FUNCTION
 {72FB24C}>))
   2: (SYSTEM::RUN-HOOK SYSTEM::*INVOKE-DEBUGGER-HOOK* #<READER-ERROR
 {4C629F43}> #<FUNCTION {72FB24C}>)
   3: (INVOKE-DEBUGGER #<READER-ERROR {4C629F43}>)
   4: org.armedbear.lisp.Lisp.error(Lisp.java:381)
   5: org.armedbear.lisp.Stream.readToken(Stream.java:1140)
   6: org.armedbear.lisp.Stream.processChar(Stream.java:524)
   7: org.armedbear.lisp.Stream.readList(Stream.java:684)
   8: org.armedbear.lisp.LispReader$3.execute(LispReader.java:88)
   9: org.armedbear.lisp.Stream.processChar(Stream.java:517)
  10: org.armedbear.lisp.Stream.readList(Stream.java:684)
  11: org.armedbear.lisp.LispReader$3.execute(LispReader.java:88)
  12: org.armedbear.lisp.Stream.processChar(Stream.java:517)
  13: org.armedbear.lisp.Stream.readList(Stream.java:684)
  14: org.armedbear.lisp.LispReader$3.execute(LispReader.java:88)
  15: org.armedbear.lisp.Stream.processChar(Stream.java:517)
  16: org.armedbear.lisp.Stream.readPreservingWhitespace(Stream.java:486)
  17: org.armedbear.lisp.Stream.readPreservingWhitespace(Stream.java:495)
  18: org.armedbear.lisp.Stream.read(Stream.java:430)
  19: org.armedbear.lisp.Stream$16.execute(Stream.java:2355)
  20: org.armedbear.lisp.Symbol.execute(Symbol.java:808)
  21: org.armedbear.lisp.LispThread.execute(LispThread.java:683)
  22: org.armedbear.lisp.compile_file_61.execute(compile-file.lisp:649)
  23: org.armedbear.lisp.LispThread.execute(LispThread.java:633)
  24:
 org.armedbear.lisp.Java$pf_jrun_exception_protected.execute(Java.java:1308)
  25: org.armedbear.lisp.Symbol.execute(Symbol.java:785)
  26: org.armedbear.lisp.LispThread.execute(LispThread.java:649)
  27: org.armedbear.lisp.compile_file_58.execute(compile-file.lisp:649)
  28: org.armedbear.lisp.compiler_pass2_371.execute(compiler-
 pass2.lisp:7406)
  29: org.armedbear.lisp.CompiledClosure.execute(CompiledClosure.java:101)
  30: org.armedbear.lisp.Symbol.execute(Symbol.java:785)
  31: org.armedbear.lisp.LispThread.execute(LispThread.java:649)
  32: org.armedbear.lisp.compile_file_56.execute(compile-file.lisp:649)
  33: org.armedbear.lisp.CompiledClosure.execute(CompiledClosure.java:153)
  34: org.armedbear.lisp.Symbol.execute(Symbol.java:834)
  35: org.armedbear.lisp.Autoload.execute(Autoload.java:217)
  36: org.armedbear.lisp.Symbol.execute(Symbol.java:834)
  37: org.armedbear.lisp.LispThread.execute(LispThread.java:719)
  38: org.armedbear.lisp.Lisp.funcall(Lisp.java:180)
  39: org.armedbear.lisp.Primitives$pf_apply.execute(Primitives.java:2842)
  40: (READ #<FILE-STREAM {1CFB480A}> NIL #<FILE-STREAM {1CFB480A}>)
  41: (#<FUNCTION {35369763}>)
  42: (JRUN-EXCEPTION-PROTECTED #<FUNCTION {35369763}>)
  43: (JVM::%WITH-COMPILATION-UNIT #<FUNCTION {130CFFE0}>)
  44: (COMPILE-FILE #P"/Users/rpg/lisp/arnesi/src/matcher.lisp" :OUTPUT-
 FILE #P"/Users/rpg/.cache/common-lisp/abcl-1.0.1-fasl38-macosx-
 java/Users/rpg/lisp/arnesi/src/ASDF-TMP-matcher.abcl" :OUTPUT-FILE #P"/..
  45: (APPLY COMPILE-FILE #P"/Users/rpg/lisp/arnesi/src/matcher.lisp"
 :OUTPUT-FILE #P"/Users/rpg/.cache/common-lisp/abcl-1.0.1-fasl38-macosx-
 java/Users/rpg/lisp/arnesi/src/ASDF-TMP-matcher.abcl" (:OUTPUT-FI..
  46: (ASDF:COMPILE-FILE* #P"/Users/rpg/lisp/arnesi/src/matcher.lisp"
 :OUTPUT-FILE #P"/Users/rpg/.cache/common-lisp/abcl-1.0.1-fasl38-macosx-
 java/Users/rpg/lisp/arnesi/src/matcher.abcl")
  47: (APPLY ASDF:COMPILE-FILE* #P"/Users/rpg/lisp/arnesi/src/matcher.lisp"
 :OUTPUT-FILE #P"/Users/rpg/.cache/common-lisp/abcl-1.0.1-fasl38-macosx-
 java/Users/rpg/lisp/arnesi/src/matcher.abcl" NIL)
 }}}

 Same error if I try this at the REPL.

-- 
Ticket URL: <http://trac.common-lisp.net/armedbear/ticket/260>
armedbear <http://common-lisp.net/project/armedbear>
armedbear


More information about the armedbear-ticket mailing list