Stream: git-wasmtime

Topic: wasmtime / PR #14136 Fix disassembler silent truncation


view this post on Zulip Wasmtime GitHub notifications bot (Aug 14 2026 at 01:02):

jlb6740 opened PR #14136 from jlb6740:fix-disassembler-silent-truncation to bytecodealliance:main:

<!--
Please make sure you include the following information:

Our development process is documented in the Wasmtime book:
https://docs.wasmtime.dev/contributing-development-process.html

Please ensure all communication follows the code of conduct:
https://github.com/bytecodealliance/wasmtime/blob/main/CODE_OF_CONDUCT.md
-->

view this post on Zulip Wasmtime GitHub notifications bot (Aug 14 2026 at 02:32):

github-actions[bot] added the label cranelift on PR #14136.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 14 2026 at 02:32):

github-actions[bot] added the label cranelift:area:machinst on PR #14136.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 20 2026 at 00:48):

jlb6740 updated PR #14136.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 20 2026 at 01:00):

jlb6740 edited PR #14136:

Capstone's disasm_all stops at the first instruction it can't decode and
returns success with whatever it managed to decode. We never compared that
against the block length, so that instruction and everything after it
vanished from the listing. For precise-output filetests the truncated
output gets blessed, and the test then passes without asserting anything
about those bytes.

This is reachable today: the bundled capstone can't decode AVX-VNNI, so a
function containing vpdpbusd was silently dropping five instructions.

Print the leftover bytes as .byte, keeping the reloc and trap
annotations. s390x expectations already look like this. Resyncing after
the bad instruction isn't possible on x86 without knowing its length, and
guessing yields plausible but wrong instructions.

The updated expectations only gain lines; nothing already printed changed.
Those blocks end in constant pool data that capstone was already rendering
as nonsense.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 20 2026 at 01:24):

jlb6740 updated PR #14136.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 20 2026 at 01:26):

jlb6740 edited PR #14136:

Capstone's disasm_all stops at the first instruction it can't decode and
returns success with whatever it managed to decode. We never compared that
against the block length, so that instruction and everything after it
vanished from the listing. For precise-output filetests the truncated
output gets blessed, and the test then passes without asserting anything
about those bytes.

This is reachable today: the bundled capstone can't decode AVX-VNNI, so a
function containing vpdpbusd was silently dropping five instructions.
It is also a precursor to the APX work, whose EVEX map 4 encodings hit the
same path; those filetests were being blessed as truncated output and so
verified nothing about the instructions they were added to cover.

Print the leftover bytes as .byte, keeping the reloc and trap
annotations. s390x expectations already look like this. Resyncing after
the bad instruction isn't possible on x86 without knowing its length, and
guessing yields plausible but wrong instructions.

The updated expectations only gain lines; nothing already printed changed.
Those blocks end in constant pool data that capstone was already rendering
as nonsense.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 20 2026 at 01:26):

jlb6740 has marked PR #14136 as ready for review.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 20 2026 at 01:26):

jlb6740 requested fitzgen for a review on PR #14136.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 20 2026 at 01:26):

jlb6740 requested wasmtime-compiler-reviewers for a review on PR #14136.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 21 2026 at 23:30):

jlb6740 updated PR #14136.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 24 2026 at 18:01):

:thumbs_up: fitzgen submitted PR review.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 24 2026 at 18:02):

fitzgen added PR #14136 Fix disassembler silent truncation to the merge queue.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 24 2026 at 18:28):

:check: fitzgen merged PR #14136.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 24 2026 at 18:28):

fitzgen removed PR #14136 Fix disassembler silent truncation from the merge queue.


Last updated: Aug 30 2026 at 09:07 UTC