Steel Bank Common Lisp

BUG in type simplification (SB-KERNEL::%TYPE-UNION)

Reported by Nikodemus Siivola on 2011-10-29
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SBCL
Medium
Unassigned

Bug Description

Eric Marsden <email address hidden> via lists.sourceforge.net to sbcl-devel

Hi,

On Linux/AMD64:

,----
| * (lisp-implementation-version)
| "1.0.52.25-7d40722"
| * (lambda (x)
| (declare (type keyword x))
| (the (member -2 -191753/99253 :end1) x))
| INFO: Control stack guard page unprotected
| Control stack guard page temporarily disabled: proceed with caution
| debugger invoked on a SB-KERNEL::CONTROL-STACK-EXHAUSTED in thread:
| Control stack exhausted (no more space for function call frames).
| This is probably due to heavily nested or infinitely recursive function
| calls, or a tail call that SBCL cannot or has not optimized away.
| 0] backtrace
| 0: (SB-KERNEL::CONTROL-STACK-EXHAUSTED-ERROR)
| 1: ("foreign function: call_into_lisp")
| 2: ("foreign function: post_signal_tramp")
| 3: (SB-IMPL::GETHASH3 0 0 99253)
| 4: (SB-KERNEL:TWO-ARG-< 0 -191753/99253)
| 5: (SB-KERNEL::TYPE-CLASS-OR-LOSE NUMBER)
| 6: (SB-KERNEL::%MAKE-NUMERIC-TYPE
| :CLASS-INFO
| NIL
| :ENUMERABLE
| NIL
| :HASH-VALUE
| NIL
| :MIGHT-CONTAIN-OTHER-TYPES-P
| NIL
| :CLASS
| RATIONAL
| :FORMAT
| NIL
| :COMPLEXP
| :REAL
| :LOW
| -191753/99253
| :HIGH
| -191753/99253)
| 7: (SB-KERNEL::%TYPE-INTERSECTION2 #<error printing object>)
| 8: (SB-KERNEL:TYPE-INTERSECTION2 #<error printing object>)
| 9: (SB-KERNEL::SIMPLIFY-INTERSECTIONS #<error printing object>)
| 10: (SB-KERNEL::SIMPLIFY-INTERSECTIONS #<error printing object>)
| 11: (SB-KERNEL::%TYPE-INTERSECTION #<error printing object>)
| 12: (SB-KERNEL::%INTERSECTION-COMPLEX-SUBTYPEP-ARG1 #<error printing object>)
| 13: (SB-KERNEL:CSUBTYPEP #<error printing object>)
| 14: (SB-KERNEL::INTERSECTION-SIMPLE-UNION2-TYPE-METHOD
| #<SB-KERNEL:NUMERIC-TYPE (INTEGER -2 -2)>
| #<SB-KERNEL:INTERSECTION-TYPE
| (AND (SATISFIES KEYWORDP) (RATIONAL -191753/99253 -191753/99253))>)

Nikodemus Siivola (nikodemus) wrote :

Here's a pared down test-case:

(sb-kernel:specifier-type
  '(or (INTEGER -2 -2)
       (AND (SATISFIES FOO) (RATIONAL -191753/99253 -191753/99253))))

...somewhat peculiarly, it works for /some/ rational types.

Paul Khuong (pvk) on 2011-10-30
Changed in sbcl:
assignee: nobody → Paul Khuong (pvk)
status: Triaged → In Progress
Paul Khuong (pvk) wrote :

Fixed in a278470 Eliminate an infinite recursion in TYPE-UNION of INTERSECTION types .

Changed in sbcl:
status: In Progress → Fix Committed
Paul Khuong (pvk) on 2011-10-30
Changed in sbcl:
assignee: Paul Khuong (pvk) → nobody
Changed in sbcl:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers