Opened 13 years ago

Closed 13 years ago

Last modified 12 years ago

#143 closed defect (fixed)

CLOSURE-HTML 20101006-git fails to compile

Reported by: Mark Evenson Owned by: Mark Evenson
Priority: major Milestone: 1.0.1
Component: compiler Version: 0.24
Keywords: quicklisp closure-html compiler Cc:
Parent Tickets:

Description

Attempting to install closure-html from Quicklisp produces a stack overflow when the compiler attempts to process the CLEX:DEFLEXER SGML:DTD form on line 89 of "src/parse/sgml-dtd.lisp".

Change History (5)

comment:1 Changed 13 years ago by Mark Evenson

Milestone: 0.260.27

comment:2 Changed 13 years ago by Mark Evenson

Component: librariescompiler
Keywords: compiler added
Milestone: 0.270.28

closure-html still fails with stack overflow:

CL-USER(1): (ql:quickload "closure-html")
To load "closure-html":
  Load 1 ASDF system:
    closure-html
; Loading "closure-html"
;;; Checking for wide character support... yes, using UTF-16.
;;; Building Closure with CHARACTER RUNES
.............
java.lang.StackOverflowError
	at org.armedbear.lisp.Lisp.evalCall(Lisp.java:536)
	at org.armedbear.lisp.Lisp.eval(Lisp.java:506)
	at org.armedbear.lisp.Lisp.progn(Lisp.java:675)
	at org.armedbear.lisp.Primitives$sf_block.execute(Primitives.java:3733)
	at org.armedbear.lisp.Lisp.eval(Lisp.java:496)
	at org.armedbear.lisp.Lisp.progn(Lisp.java:675)
	at org.armedbear.lisp.Closure.bindParametersAndExecute(Closure.java:451)
	at org.armedbear.lisp.Closure.execute(Closure.java:484)
	at org.armedbear.lisp.Symbol.execute(Symbol.java:785)
	at org.armedbear.lisp.LispThread.execute(LispThread.java:649)
	at org.armedbear.lisp.pprint_160.execute(pprint.lisp:774)
	at org.armedbear.lisp.CompiledClosure.execute(CompiledClosure.java:170)
	at org.armedbear.lisp.LispThread.execute(LispThread.java:739)
	at org.armedbear.lisp.gray_streams_99.execute(gray-streams.lisp:497)
	at org.armedbear.lisp.CompiledClosure.execute(CompiledClosure.java:112)
	at org.armedbear.lisp.Symbol.execute(Symbol.java:796)
	at org.armedbear.lisp.LispThread.execute(LispThread.java:666)
	at org.armedbear.lisp.dump_form_2.execute(dump-form.lisp:59)
	at org.armedbear.lisp.Symbol.execute(Symbol.java:796)
	at org.armedbear.lisp.LispThread.execute(LispThread.java:666)
	at org.armedbear.lisp.dump_form_5.execute(dump-form.lisp:102)

comment:3 Changed 13 years ago by ehuelsmann

The problem here is that our DUMP-FORM implementation doesn't handle circularity in the forms being dumped.

Should we forget about using dump-form entirely and use PRINT/PRINT-OBJECT instead?

There is one issue with the proposal above: we want to replace uninterned symbols in the output stream with their #<index>? replacement mnemonics to ensure the same symbol gets inserted everywhere it should. Other than that, it's probably a good idea.

comment:4 Changed 13 years ago by ehuelsmann

Resolution: fixed
Status: newclosed

(In [13600]) Fix #143: Support circularity in serialized forms

-- this enables compilation of CLOSURE-HTML.

comment:5 Changed 12 years ago by Mark Evenson

Milestone: 0.281.0.1

Milestone 0.28 deleted

Note: See TracTickets for help on using tickets.