Another failed AVER from random tester (MEMQ ... END-STACK)

Bug #1722342 reported by Paul F. Dietz on 2017-10-09
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SBCL
High
Unassigned

Bug Description

Third of three bugs found over the weekend by random tester. This still occurs in current snapshot.

(defun f15 (b)
  (catch 'ct2
    (block b5
      (return-from b5
        (multiple-value-prog1 19
          (if (or (equal 1 b) t)
              (return-from b5 b)
              17))))))

failed AVER: (NOT (SB-INT:MEMQ PUSH SB-C::END-STACK))
This is probably a bug in SBCL itself. (Alternatively, SBCL
might have been corrupted by bad user code, e.g. by an undefined
Lisp operation like (FMAKUNBOUND 'COMPILE), or by stray pointers
from alien code or from unsafe Lisp code; or there might be a
bug in the OS or hardware that SBCL is running on.) If it seems
to be a bug in SBCL itself, the maintainers would like to know
about it. Bug reports are welcome on the SBCL mailing lists,
which you can find at <http://sbcl.sourceforge.net/>.
   [Condition of type SB-INT:BUG]

Restarts:
 0: [ABORT] Exit debugger, returning to top level.

Backtrace:
  0: (SB-INT:BUG "~@<failed AVER: ~2I~_~S~:>" (NOT (SB-INT:MEMQ PUSH SB-C::END-STACK)))
  1: (SB-IMPL::%FAILED-AVER (NOT (SB-INT:MEMQ PUSH SB-C::END-STACK)))
  2: (SB-C::ORDER-BLOCK-UVL-SETS #<SB-C::CBLOCK 5 :START c1 {10043A8CD3}> #<SB-C::CBLOCK 6 :START c2 {10043A7233}>)
  3: (SB-C::ORDER-UVL-SETS #<SB-C:COMPONENT :NAME (SB-C::ESCAPE-FUN #:EXIT-BLOCK-0) {10043AC803}>)
  4: (SB-C::STACK-ANALYZE #<SB-C:COMPONENT :NAME (SB-C::ESCAPE-FUN #:EXIT-BLOCK-0) {10043AC803}>)
  5: (SB-C::%COMPILE-COMPONENT #<SB-C:COMPONENT :NAME (SB-C::ESCAPE-FUN #:EXIT-BLOCK-0) {10043AC803}>)
  6: (SB-C::COMPILE-COMPONENT #<SB-C:COMPONENT :NAME (SB-C::ESCAPE-FUN #:EXIT-BLOCK-0) {10043AC803}>)
  7: (SB-C::%COMPILE (SB-INT:NAMED-LAMBDA F15 (B) (BLOCK F15 (CATCH # #))) #<SB-C::CORE-OBJECT {10043A5233}> :NAME NIL :PATH (SB-C::ORIGINAL-SOURCE-START 0 0))
  8: ((FLET "WITHOUT-INTERRUPTS-BODY-29" :IN SB-THREAD::CALL-WITH-RECURSIVE-LOCK))
  9: (SB-THREAD::CALL-WITH-RECURSIVE-LOCK #<CLOSURE (FLET SB-THREAD::WITH-RECURSIVE-LOCK-THUNK :IN SB-C::ACTUALLY-COMPILE) {7FFFF1EB721B}> #<SB-THREAD:MUTEX "World Lock" owner: #<SB-THREAD:THREAD "main thr..
 10: ((LAMBDA NIL :IN SB-C::ACTUALLY-COMPILE))
 11: ((FLET SB-C::WITH-IT :IN SB-C::%WITH-COMPILATION-UNIT))
 12: (SB-C::ACTUALLY-COMPILE NIL (SB-INT:NAMED-LAMBDA F15 (B) (BLOCK F15 (CATCH # #))) #<NULL-LEXENV> NIL NIL T)
 13: (SB-C:COMPILE-IN-LEXENV (SB-INT:NAMED-LAMBDA F15 (B) (BLOCK F15 (CATCH # #))) #<NULL-LEXENV> NIL NIL NIL T)
 14: (SB-IMPL::%SIMPLE-EVAL (SB-INT:NAMED-LAMBDA F15 (B) (BLOCK F15 (CATCH # #))) #<NULL-LEXENV>)
 15: (SB-INT:SIMPLE-EVAL-IN-LEXENV (SB-INT:NAMED-LAMBDA F15 (B) (BLOCK F15 (CATCH # #))) #<NULL-LEXENV>)
 16: (SB-INT:SIMPLE-EVAL-IN-LEXENV (SB-IMPL::%DEFUN (QUOTE F15) (SB-INT:NAMED-LAMBDA F15 (B) (BLOCK F15 #)) (SB-C:SOURCE-LOCATION)) #<NULL-LEXENV>)
 17: (SB-INT:SIMPLE-EVAL-IN-LEXENV (DEFUN F15 (B) (CATCH (QUOTE CT2) (BLOCK B5 #))) #<NULL-LEXENV>)
 18: (EVAL (DEFUN F15 (B) (CATCH (QUOTE CT2) (BLOCK B5 #))))
 19: (SB-EXT:INTERACTIVE-EVAL (DEFUN F15 (B) (CATCH (QUOTE CT2) (BLOCK B5 #))) :EVAL NIL)

Stas Boukarev (stassats) wrote :

Reduced:
(defun f15 (b)
  (catch 'ct2
    (block b5
      (return-from b5
        (multiple-value-prog1 19
          (if (or b t)
              (return-from b5)))))))

Changed in sbcl:
status: New → Triaged
importance: Undecided → High
Stas Boukarev (stassats) wrote :

In fc07971d23244d2b9e9c09c95d10e31506a0e1b1

Changed in sbcl:
status: Triaged → Fix Committed
Stas Boukarev (stassats) on 2017-10-31
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