Ticket #1108 (closed defect: fixed)

Opened 12 months ago

Last modified 12 months ago

recursion fails if a vector is created from the original argument

Reported by: ungil Owned by: gb
Priority: normal Milestone: Clozure CL 1.9
Component: ANSI CL Compliance Version: trunk
Keywords: Cc:

Description

The following function doesn't work properly on MacOS/64bit (32bit is ok, I didn't test other platforms).

(defun foo (x)
  (if (vectorp x)
      x
      (foo (vector x))))
Welcome to Clozure Common Lisp Version 1.9-r15883M  (DarwinX8664)!
? (defun foo (x) (if (vectorp x) x (foo (vector x))))
FOO
? (foo 'test)
#(#(#(#(#(#(#(................#(#(#(#(#(#(#(
> Error: Stack overflow on temp stack.
Welcome to Clozure Common Lisp Version 1.9-r15788M  (DarwinX8632)!
? (defun foo (x) (if (vectorp x) x (foo (vector x))))
FOO
? (foo 'test)
#(TEST)

Change History

comment:1 Changed 12 months ago by gb

  • Owner set to gb
  • Status changed from new to assigned

comment:2 Changed 12 months ago by gb

  • Status changed from assigned to closed
  • Resolution set to fixed

(In [15884]) Re-do some aspects of vector initialization (X862-ALLOCATE-INITIALIZED-GVECTOR). Apparently fixes ticket:1108 in the trunk.

comment:3 Changed 12 months ago by gb

(In [15890]) Re-do some aspects of vector initialization Fix ticket:1108 in the trunk in a different way.

comment:4 Changed 12 months ago by ungil

If I understand correctly the bug is supossed to be fixed in the trunk, but I still see the same error as reported originally:

imac% ./dx86cl64 -n
Welcome to Clozure Common Lisp Version 1.9-r15892M  (DarwinX8664)!
? (defun foo (x)
  (if (vectorp x)
      x
      (foo (vector x))))
FOO
? (foo 'test)
#(#(#(#(............#(#(#(#(
> Error: Stack overflow on temp stack.
> While executing: CCL::%%STANDARD-COMBINED-METHOD-DCODE, in process listener(1).
> Type :POP to abort, :R for a list of available restarts.
> Type :? for other options.

comment:5 Changed 12 months ago by gb

The bug is marked as being fixed in the trunk, and as far as I know the bug is indeed fixed there.

Your comment demonstrates that the fix hasn't been propagated to the 1.9 svn tree yet, and that the fix wasn't present in 1.9-r15892

comment:6 Changed 12 months ago by ungil

Looking at the revision numbers I thought I was using the development version, or that at least changes should be already propagated (now I understand it's not automatic). I'm sorry for the misunderstanding. The issue that motivated my bug report is indeed fixed in the development version.

Note: See TracTickets for help on using tickets.