Opened 12 years ago
Closed 12 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.
Note: See
TracTickets for help on using
tickets.
Duplicate of #193, which was fixed in r13768