Opened 12 years ago

Closed 12 years ago

#191 closed defect (fixed)

Compiling SHARPSIGN SHARPSIGN form causes stack overflow

Reported by: Mark Evenson Owned by: ehuelsmann
Priority: blocker Milestone: 1.1.0
Component: compiler Version: 1.0
Keywords: Cc:
Parent Tickets:

Description

Anton reports that compiling the alexandria tests from Quicklisp 2011-12-03 results in a stack overflow.

The offending form seems to be

(deftest circular-tree-p.2
    (alexandria:circular-tree-p '#1=(#1#))
  t)

where the problem seems to occur in the compiling ADD-ENTRY function

  0: (#<FUNCTION {47D2FBB5}> #<STORAGE-CONDITION {18010D30}> #<FUNCTION {47D2FBB5}>)
  1: (APPLY #<FUNCTION {47D2FBB5}> (#<STORAGE-CONDITION {18010D30}> #<FUNCTION {47D2FBB5}>))
  2: (SYSTEM::RUN-HOOK SYSTEM::*INVOKE-DEBUGGER-HOOK* #<STORAGE-CONDITION {18010D30}> #<FUNCTION {47D2FBB5}>)
  3: (INVOKE-DEBUGGER #<STORAGE-CONDITION {18010D30}>)
 […]
 31: org.armedbear.lisp.Primitives$pf_apply.execute(Primitives.java:2853)
 32: (#<FUNCTION {5F4298A5}>)
 33: (JRUN-EXCEPTION-PROTECTED #<FUNCTION {5F4298A5}>)
 34: (SYSTEM::CONVERT-TOPLEVEL-FORM (REGRESSION-TEST::ADD-ENTRY (REGRESSION-TEST::MAKE-ENTRY :PEND T :NAME 'ALEXANDRIA-TESTS::CIRCULAR-TREE-P.2 :PROPS ...)) NIL)
 35: (SYSTEM::PROCESS-TOPLEVEL-FORM (REGRESSION-TEST::ADD-ENTRY (REGRESSION-TEST::MAKE-ENTRY :PEND T :NAME 'ALEXANDRIA-TESTS::CIRCULAR-TREE-P.2 :PROPS ...)) #<FILE-STREAM {D33A97F}> NIL)

Change History (4)

comment:2 Changed 12 years ago by Mark Evenson

Milestone: 1.0.11.1.0

comment:3 Changed 12 years ago by Mark Evenson

Priority: majorblocker

comment:4 Changed 12 years ago by ehuelsmann

Resolution: fixed
Status: newclosed

(In [14017]) Fix #191: Compiling SHARPSIGN SHARPSIGN form causes stack overflow.

We weren't correctly detecting recursive structures when traversing
the to-be-compiled tree of sexps.

Note: See TracTickets for help on using tickets.