TRACE :ENCAPSULATE NIL broken on darwin

Bug #309067 reported by Nikodemus Siivola
2
Affects Status Importance Assigned to Milestone
SBCL
Fix Released
Medium
Unassigned

Bug Description

Commented-out test-case in debug.impure.lisp:

;;; This is not a WITH-TEST :FAILS-ON PPC DARWIN since there are
;;; suspicions that the breakpoint trace might corrupt the whole image
;;; on that platform.
#-(and (or ppc x86 x86-64) darwin)
(with-test (:name (trace :encapsulate nil)
            :fails-on '(or :ppc :sparc :mips))
  (let ((out (with-output-to-string (*trace-output*)
               (trace trace-this :encapsulate nil)
               (assert (eq 'ok (trace-this)))
               (untrace))))
    (assert (search "TRACE-THIS" out))
    (assert (search "returned OK" out))))

description: updated
Changed in sbcl:
importance: Undecided → Medium
status: New → Confirmed
Revision history for this message
Nikodemus Siivola (nikodemus) wrote :

As long as the suspicion remains, attaching big runtime warning to doing a breakpoint trace on Darwin seems like a good idea. (Once that is done the importance can be downgraded, imo.)

Changed in sbcl:
importance: Medium → High
Revision history for this message
Nikodemus Siivola (nikodemus) wrote :

Breakpoints are currently broken on x86[-64]/darwin as we use an illegal instruction instead of INT3 to trap, but the runtime installs INT3 as a trap.

This arrangement is due to historical flakiness: it used to be possible to lose a SIGTRAP on darwin. I'm not sure if this is still the case. If not, we can just go back to INT3, if not we should teach the runtime to use illegal instruction traps instead.

Revision history for this message
Alastair Bridgewater (alastair-bridgewater) wrote :

As of 1.0.36.9, the runtime has been taught to use illegal instruction traps when appropriate. I don't have a mac, so I can't proceed further.

Revision history for this message
Nikodemus Siivola (nikodemus) wrote :

Not quite there on Darwin yet, unfortunately.

http://thread.gmane.org/gmane.lisp.steel-bank.cvs/13959/focus=14571

Revision history for this message
Alastair Bridgewater (alastair-bridgewater) wrote :

Knocking this down to Medium importance because TRACE :ENCAPSULATE NIL is broken on all non-x86oid targets, and because there has been no activity on this for nearly three months, and no activity for about eight months before that.

Changed in sbcl:
importance: High → Medium
Revision history for this message
Stas Boukarev (stassats) wrote :

In 2c62dd2b0a1c85b8178820307ef424245c835675

Changed in sbcl:
status: Confirmed → 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.