GC problems in tests

Bug #2000402 reported by Stas Boukarev
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SBCL
Fix Released
Undecided
Unassigned

Bug Description

I added (defvar *gc* (sb-thread:make-thread (lambda () (loop (sleep 0.0001) (gc :full t))))) to pure-runner, impure-runner. One of the interesting results — deprecation.impure fails with some random garbage:

        "0 fell through ETYPECASE expression.
         Wanted one of (SIMPLE-STRING SB-FORMAT::FORMAT-DIRECTIVE)."

        "SB-X86-64-ASM::MOV fell through ETYPECASE expression.
         Wanted one of (SIMPLE-STRING SB-FORMAT::FORMAT-DIRECTIVE)."

        "#<unknown immediate object, lowtag=#b1001, widetag=#x39 {501015B300002039}> fell through ETYPECASE expression.
         Wanted one of (SIMPLE-STRING SB-FORMAT::FORMAT-DIRECTIVE)."

arm64 fails with similar results even more often.

Stas Boukarev (stassats)
description: updated
Revision history for this message
Stas Boukarev (stassats) wrote :

stand-alone for arm64:

(sb-thread:make-thread (lambda () (loop (sleep 0.0001) (gc :full t))))

(loop repeat 8
      do
      (sb-thread:make-thread
       (lambda ()
         (let* ((*standard-output* (make-broadcast-stream))
                (*error-output* *standard-output*))
           (loop (compile nil `(lambda () (defun a () (cons)))))))))

* fatal error encountered in SBCL pid 90454 pthread 0x16b4f3000:
no transport function for object 0x7005ea0b0f (widetag 0xc3)

Revision history for this message
Stas Boukarev (stassats) wrote :

Seems that sb-xref-for-internals is necessary.

Revision history for this message
Stas Boukarev (stassats) wrote :

I fixed the darwin-arm64 issue above in aafddc813f3c9618ffc9eee9dab64b19a20e8372, which is probably separate from the overall deprecation.impure thing.

Stas Boukarev (stassats)
Changed in sbcl:
status: New → Fix Committed
Stas Boukarev (stassats)
Changed in sbcl:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.