Opened 11 years ago

Closed 11 years ago

#260 closed defect (duplicate)

ABCL crashes on empty string designated as || in defstruct

Reported by: Rpgoldman Owned by: ehuelsmann
Priority: major Milestone:
Component: compiler Version:
Keywords: Cc:
Parent Tickets:

Description

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.

Change History (1)

comment:1 Changed 11 years ago by rschlatte

Resolution: duplicate
Status: newclosed

Duplicate of #193, which was fixed in r13768

Note: See TracTickets for help on using tickets.