Floating infinities crash EQUALP hash-table

Bug #1696274 reported by Douglas Katzman on 2017-06-06
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SBCL
Undecided
Douglas Katzman

Bug Description

* (setf (gethash sb-ext:single-float-positive-infinity (make-hash-table :test 'equalp)) 1)
debugger invoked on a SIMPLE-ERROR in thread
#<THREAD "main thread" RUNNING {1001FDEA73}>:
  can't decode NaN or infinity: #.SB-EXT:SINGLE-FLOAT-POSITIVE-INFINITY

* (setf (gethash sb-ext:double-float-positive-infinity (make-hash-table :test 'equalp)) 1)
debugger invoked on a SIMPLE-ERROR in thread
#<THREAD "main thread" RUNNING {1001FDEA73}>:
  Can't decode NaN or infinity: #.SB-EXT:DOUBLE-FLOAT-POSITIVE-INFINITY.

* (setf (gethash sb-ext:single-float-negative-infinity (make-hash-table :test 'equalp)) 1)
debugger invoked on a SIMPLE-ERROR in thread
#<THREAD "main thread" RUNNING {1001FDEA73}>:
  can't decode NaN or infinity: #.SB-EXT:SINGLE-FLOAT-NEGATIVE-INFINITY

* (setf (gethash sb-ext:double-float-negative-infinity (make-hash-table :test 'equalp)) 1)
debugger invoked on a SIMPLE-ERROR in thread
#<THREAD "main thread" RUNNING {1001FDEA73}>:
  Can't decode NaN or infinity: #.SB-EXT:DOUBLE-FLOAT-NEGATIVE-INFINITY.

The root cause is a FLOOR operation in HASH-FLOAT in NUMBER-PSXHASH.

Douglas Katzman (dougk) on 2017-06-07
Changed in sbcl:
status: New → Fix Committed
assignee: nobody → Douglas Katzman (dougk)
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