A call to disassemble-code-component fails an AVER

Bug #1421987 reported by Lutz Euler
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SBCL
Fix Released
Medium
Douglas Katzman

Bug Description

On sbcl-1.2.8.36-5261f72, x86-64 linux, built with default options, calling

(sb-disassem:disassemble-code-component #'sb-int:mix)

results in an failed AVER while outputting the unboxed data:

; Size: 272 bytes. Origin: #x1000E31A90 (segment 1 of 2)
; A90: .ENTRY SB-INT:MIX(X Y) ; (FUNCTION (# #)
                                                              ; (VALUES # ..))
; AC8: 8F4508 POP QWORD PTR [RBP+8]
[…]
; B7D: 0000 ADD [RAX], AL
; Unboxed data:
; B7F: 00
; B80: 010000000000008087
debugger invoked on a SB-INT:BUG in thread #<THREAD "main thread" RUNNING {1002D7E9E3}>: failed AVER: (OR (ENDP (CDR REFS)) (<= (+ # NBYTES) (CAADR REFS))) This is probably a bug in SBCL itself.
[…]
restarts (invokable by number or by possibly-abbreviated name):
  0: [ABORT] Exit debugger, returning to top level.

(SB-INT:BUG "~@<failed AVER: ~2I~_~A~:>" (OR (ENDP (CDR SB-DISASSEM::REFS)) (<= (+ (SB-DISASSEM:DSTATE-CUR-OFFS SB-DISASSEM::DSTATE) SB-DISASSEM::NBYTES) (CAADR SB-DISASSEM::REFS))))

The output looked like this in version 1.2.7.25-0852224:

[…]
; Unboxed data:
; 577: 000100000000000080
; 580: 87B05888A8F64332
; 588: FEFFFFFFFFFFFF7F
; 590: E204A234AFD7E610
NIL

I bisected this to:

b048faf53e15c59cbd0d2066b5fb50808cc43efe is the first bad commit
commit b048faf53e15c59cbd0d2066b5fb50808cc43efe
Author: Douglas Katzman <email address hidden>
Date: Wed Jan 7 11:03:36 2015 -0500

    x86-64: Improve disassembler's DETERMINE-OPCODE-BOUNDS

That is sbcl-1.2.7-26-gb048faf.

Regards,

Lutz

Tags: disassembler
Lutz Euler (lutz-euler)
tags: added: disassembler
Stas Boukarev (stassats)
Changed in sbcl:
status: New → Confirmed
importance: Undecided → Medium
Douglas Katzman (dougk)
Changed in sbcl:
assignee: nobody → Douglas Katzman (dougk)
Douglas Katzman (dougk)
Changed in sbcl:
status: Confirmed → Fix Committed
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.