repo: yaxpeax-x86
commit: 953fb84fca06f34f1ae70481f6449c39f734f24b aka inst-behavior, run: 883
status: error in 13.263s
description: callback error: stack traceback:
[C]: in ?
[C]: in field 'run'
[string "goodfile"]:12: in main chunk
deployed: false
artifacts
Mon, 23 Feb 2026 21:55:47 +0000
step:
git clone log (stdout)
Mon, 23 Feb 2026 21:55:47 +0000
step:
git clone log (stderr)
Cloning into 'tmpdir'...
warning: redirecting to https://github.com/iximeow/yaxpeax-x86.git/
Mon, 23 Feb 2026 21:55:49 +0000
step:
git checkout log (stdout)
Mon, 23 Feb 2026 21:55:49 +0000
step:
git checkout log (stderr)
Note: switching to '953fb84fca06f34f1ae70481f6449c39f734f24b'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:
git switch -c
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 953fb84 set up an IDT, and try to use it, but just discover the GDT is actually broken
Mon, 23 Feb 2026 21:55:49 +0000
step:
cargo build log (stdout)
Mon, 23 Feb 2026 21:55:49 +0000
step:
cargo build log (stderr)
Updating crates.io index
Locking 79 packages to latest compatible versions
Compiling libc v0.2.182
Compiling proc-macro2 v1.0.106
Compiling unicode-ident v1.0.24
Compiling parking_lot_core v0.9.12
Compiling quote v1.0.44
Compiling signal-hook v0.3.18
Compiling serde_core v1.0.228
Compiling scopeguard v1.2.0
Compiling smallvec v1.15.1
Compiling cfg-if v1.0.4
Compiling log v0.4.29
Compiling autocfg v1.5.0
Compiling serde v1.0.228
Compiling bitflags v2.11.0
Compiling yaxpeax-x86 v2.0.0 (/home/iximeow/toy/build-o-tron-env/tmpdir)
Compiling lock_api v0.4.14
Compiling num-traits v0.2.19
Compiling syn v2.0.117
Compiling errno v0.3.14
Compiling mio v0.8.11
Compiling signal-hook-registry v1.4.8
Compiling parking_lot v0.12.5
Compiling signal-hook-mio v0.2.5
Compiling crossterm v0.27.0
Compiling serde_derive v1.0.228
Compiling yaxpeax-arch v0.3.2
warning: unused variable: `other`
--> src/long_mode/behavior.rs:445:21
|
445 | other => {
| ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
|
= note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
warning: unused variable: `other`
--> src/long_mode/behavior.rs:486:21
|
486 | other => {
| ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
warning: type `ImplicitOperand` is more private than the item `InstBehavior::<'inst>::implicit_oplist`
--> src/long_mode/behavior.rs:335:5
|
335 | pub fn implicit_oplist(&self) -> Option<&'static [ImplicitOperand]> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `InstBehavior::<'inst>::implicit_oplist` is reachable at visibility `pub`
|
note: but type `ImplicitOperand` is only usable at visibility `pub(self)`
--> src/long_mode/behavior.rs:264:1
|
264 | struct ImplicitOperand {
| ^^^^^^^^^^^^^^^^^^^^^^
= note: `#[warn(private_interfaces)]` on by default
warning: methods `set_pl0`, `set_pl_special`, and `set_complex` are never used
--> src/long_mode/behavior.rs:567:14
|
558 | impl BehaviorDigest {
| ------------------- methods in this implementation
...
567 | const fn set_pl0(mut self) -> Self {
| ^^^^^^^
...
579 | const fn set_pl_special(mut self) -> Self {
| ^^^^^^^^^^^^^^
...
605 | const fn set_complex(mut self, state: bool) -> Self {
| ^^^^^^^^^^^
|
= note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
warning: `yaxpeax-x86` (lib) generated 4 warnings (run `cargo fix --lib -p yaxpeax-x86` to apply 2 suggestions)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.92s
Mon, 23 Feb 2026 21:55:54 +0000
step:
cargo test log (stdout)
running 6 tests
test long_mode::behavior::test_exception_info ... ok
test long_mode::behavior::test::access_visitor_works ... ok
test long_mode::behavior::test::operand_iter_basically_works ... ok
test long_mode::operand_size ... ok
test real_mode::operand_size ... ok
test protected_mode::operand_size ... ok
test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 209 tests
test long_mode::bad_instructions ... ok
test long_mode::display::test_instructions_atnt ... ignored
test long_mode::behavior::kvm::behavior_verify_kvm ... FAILED
test long_mode::behavior::kvm::kvm_verify_ins ... FAILED
test long_mode::behavior::kvm::kvm_verify_inc ... FAILED
test long_mode::behavior::kvm::kvm_verify_push ... FAILED
test long_mode::behavior::kvm::kvm_verify_xor_reg_mem ... FAILED
test long_mode::behavior::kvm::test_pf ... FAILED
test long_mode::descriptions::test_modrm_decode ... ok
test long_mode::from_llvm ... ok
test long_mode::evex ... ok
test long_mode::opcode::conditional_instructions ... ok
test long_mode::display::test_instructions_c ... ok
test long_mode::operand::register_widths ... ok
test long_mode::only_64bit ... ok
test long_mode::evex_generated::tests_f3_0f38 ... ok
test long_mode::from_reports ... ok
test long_mode::operand::memory_widths ... ok
test long_mode::operand::test_implied_memory_width ... ok
test long_mode::prefixed_660f ... ok
test long_mode::prefixed_f20f ... ok
test long_mode::prefixed_f30f ... ok
test long_mode::reg_specs::invalid_byte_reg_panics - should panic ... ok
test long_mode::reg_specs::invalid_dword_reg_panics - should panic ... ok
test long_mode::reg_specs::invalid_mask_reg_panics - should panic ... ok
test long_mode::reg_specs::invalid_rex_byte_reg_panics - should panic ... ok
test long_mode::reg_specs::invalid_qword_reg_panics - should panic ... ok
test long_mode::reg_specs::invalid_word_reg_panics - should panic ... ok
test long_mode::reg_specs::invalid_x87_reg_panics - should panic ... ok
test long_mode::reg_specs::invalid_xmm_reg_panics - should panic ... ok
test long_mode::reg_specs::invalid_ymm_reg_panics - should panic ... ok
test long_mode::reg_specs::invalid_zmm_reg_panics - should panic ... ok
test long_mode::reg_specs::reg_specs_are_correct ... ok
test long_mode::regspec::match_bank_kind ... ok
test long_mode::prefixed_0f ... ok
test long_mode::register_synonyms_use_old_bank ... ok
test long_mode::regspec::test_bank_names ... ok
test long_mode::regspec::test_hash ... ok
test long_mode::regspec::test_labels ... ok
test long_mode::regspec::test_ord ... ok
test long_mode::strange_prefixing ... ok
test long_mode::test_E_decode ... ok
test long_mode::test_adx ... ok
test long_mode::test_aesni ... ok
test long_mode::test_3dnow ... ok
test long_mode::test_0f01 ... ok
test long_mode::test_0fae ... ok
test long_mode::test_arithmetic ... ok
test long_mode::test_bmi1 ... ok
test long_mode::test_cet ... ok
test long_mode::test_key_locker ... ok
test long_mode::test_enqcmd ... ok
test long_mode::test_bmi2 ... ok
test long_mode::test_lzcnt ... ok
test long_mode::test_cmpxchg8b ... ok
test long_mode::test_gfni ... ok
test long_mode::test_bitwise ... ok
test long_mode::test_prefetchw ... ok
test long_mode::test_movbe ... ok
test long_mode::test_popcnt ... ok
test long_mode::evex_generated::tests_f2_0f38 ... ok
test long_mode::test_prefixes ... ok
test long_mode::test_mishegos_finds ... ok
test long_mode::test_modrm_decode ... ok
test long_mode::test_misc ... ok
test long_mode::test_mmx ... ok
test long_mode::test_push_pop ... ok
test long_mode::test_rdpid ... ok
test long_mode::test_cvt ... ok
test long_mode::test_sevsnp ... ok
test long_mode::test_rand ... ok
test long_mode::test_sha ... ok
test long_mode::test_mov ... ok
test long_mode::test_keylocker ... ok
test long_mode::test_control_flow ... ok
test long_mode::test_stack ... ok
test long_mode::test_svm ... ok
test long_mode::test_sse ... ok
test long_mode::test_direct_stores ... ok
test long_mode::test_ssse3 ... ok
test long_mode::test_sse4_2 ... ok
test long_mode::test_sse3 ... ok
test long_mode::test_sse4_1 ... ok
test long_mode::test_system ... ok
test long_mode::evex_generated::tests_f2_0f ... ok
test long_mode::test_tdx ... ok
test long_mode::test_test_cmp ... ok
test long_mode::test_sse4a ... ok
test long_mode::test_tsx ... ok
test long_mode::evex_generated::tests_f3_0f ... ok
test long_mode::test_tsxldtrk ... ok
test protected_mode::display::test_instructions_atnt ... ignored
test long_mode::test_uintr ... ok
test protected_mode::bad_instructions ... ok
test protected_mode::evex ... ok
test protected_mode::display::test_instructions_c ... ok
test long_mode::test_sse2 ... ok
test long_mode::test_vmx ... ok
test protected_mode::from_reports ... ok
test protected_mode::only_32bit ... ok
test long_mode::test_xchg ... ok
test protected_mode::operand::memory_widths ... ok
test protected_mode::from_llvm ... ok
test protected_mode::opcode::conditional_instructions ... ok
test protected_mode::operand::register_widths ... ok
test protected_mode::prefixed_f20f ... ok
test protected_mode::operand::test_implied_memory_width ... ok
test protected_mode::prefixed_f30f ... ok
test protected_mode::reg_specs::invalid_byte_reg_panics - should panic ... ok
test protected_mode::reg_specs::invalid_dword_reg_panics - should panic ... ok
test protected_mode::evex_generated::tests_f3_0f38 ... ok
test protected_mode::reg_specs::invalid_zmm_reg_panics - should panic ... ok
test protected_mode::reg_specs::invalid_xmm_reg_panics - should panic ... ok
test protected_mode::reg_specs::invalid_ymm_reg_panics - should panic ... ok
test protected_mode::reg_specs::reg_specs_are_correct ... ok
test long_mode::test_x87 ... ok
test protected_mode::regspec::test_hash ... ok
test protected_mode::regspec::test_ord ... ok
test protected_mode::regspec::test_labels ... ok
test protected_mode::strange_prefixing ... ok
test protected_mode::prefixed_660f ... ok
test protected_mode::reg_specs::invalid_mask_reg_panics - should panic ... ok
test protected_mode::test_0f01 ... ok
test protected_mode::reg_specs::invalid_word_reg_panics - should panic ... ok
test protected_mode::reg_specs::invalid_x87_reg_panics - should panic ... ok
test protected_mode::regspec::match_bank_kind ... ok
test protected_mode::prefixed_0f ... ok
test protected_mode::regspec::test_bank_names ... ok
test protected_mode::test_E_decode ... ok
test protected_mode::test_adx ... ok
test protected_mode::test_3dnow ... ok
test protected_mode::test_0fae ... ok
test protected_mode::test_bitwise ... ok
test protected_mode::test_bmi1 ... ok
test protected_mode::test_arithmetic ... ok
test protected_mode::test_aesni ... ok
test protected_mode::test_bmi2 ... ok
test protected_mode::test_cet ... ok
test protected_mode::test_control_flow ... ok
test protected_mode::test_cvt ... ok
test protected_mode::test_gfni ... ok
test protected_mode::test_cmpxchg8b ... ok
test protected_mode::test_key_locker ... ok
test protected_mode::test_keylocker ... ok
test protected_mode::test_direct_stores ... ok
test protected_mode::test_enqcmd ... ok
test protected_mode::test_mishegos_finds ... ok
test protected_mode::test_modrm_decode ... ok
test protected_mode::test_movbe ... ok
test protected_mode::test_mmx ... ok
test protected_mode::test_prefetchw ... ok
test protected_mode::test_popcnt ... ok
test protected_mode::test_prefixes ... ok
test protected_mode::test_mov ... ok
test protected_mode::test_rdpid ... ok
test protected_mode::test_sevsnp ... ok
test protected_mode::test_lzcnt ... ok
test protected_mode::test_sha ... ok
test protected_mode::test_push_pop ... ok
test protected_mode::test_rand ... ok
test protected_mode::test_stack ... ok
test protected_mode::test_sse4_2 ... ok
test protected_mode::test_misc ... ok
test protected_mode::test_sse3 ... ok
test protected_mode::test_sse4a ... ok
test protected_mode::test_sse ... ok
test protected_mode::test_svm ... ok
test protected_mode::test_system ... ok
test protected_mode::test_test_cmp ... ok
test protected_mode::test_tsx ... ok
test long_mode::evex_generated::tests_None_0f ... ok
test protected_mode::test_tsxldtrk ... ok
test protected_mode::test_uintr ... ok
test protected_mode::test_xchg ... ok
test protected_mode::test_ssse3 ... ok
test real_mode::from_llvm ... ok
test protected_mode::test_tdx ... ok
test protected_mode::test_sse2 ... ok
test protected_mode::test_sse4_1 ... ok
test protected_mode::test_vmx ... ok
test protected_mode::test_x87 ... ok
test real_mode::from_reports ... ok
test real_mode::operand::test_implied_memory_width ... ok
test real_mode::only_16bit ... ok
test real_mode::reg_specs::invalid_byte_reg_panics - should panic ... ok
test real_mode::reg_specs::invalid_dword_reg_panics - should panic ... ok
test real_mode::reg_specs::invalid_mask_reg_panics - should panic ... ok
test real_mode::opcode::conditional_instructions ... ok
test real_mode::reg_specs::invalid_word_reg_panics - should panic ... ok
test real_mode::reg_specs::invalid_x87_reg_panics - should panic ... ok
test real_mode::reg_specs::invalid_xmm_reg_panics - should panic ... ok
test real_mode::reg_specs::invalid_ymm_reg_panics - should panic ... ok
test real_mode::reg_specs::invalid_zmm_reg_panics - should panic ... ok
test real_mode::reg_specs::reg_specs_are_correct ... ok
test protected_mode::evex_generated::tests_f3_0f ... ok
test real_mode::test_invalid_sequences ... ok
test protected_mode::evex_generated::tests_f2_0f38 ... ok
test protected_mode::evex_generated::tests_f2_0f ... ok
test long_mode::evex_generated::tests_66_0f3a ... ok
test protected_mode::test_vex ... ok
test long_mode::test_vex ... ok
test protected_mode::evex_generated::tests_None_0f ... ok
test long_mode::evex_generated::tests_66_0f ... ok
test protected_mode::evex_generated::tests_66_0f3a ... ok
test protected_mode::evex_generated::tests_66_0f ... ok
test long_mode::evex_generated::tests_66_0f38 ... ok
test protected_mode::evex_generated::tests_66_0f38 ... ok
test real_mode::test_real_mode ... ok
test long_mode::reuse_test::test_against_leftover_data ... ok
failures:
---- long_mode::behavior::kvm::behavior_verify_kvm stdout ----
thread 'long_mode::behavior::kvm::behavior_verify_kvm' (2912146) panicked at test/long_mode/behavior.rs:66:34:
called `Result::unwrap()` on an `Err` value: Error(13)
---- long_mode::behavior::kvm::kvm_verify_ins stdout ----
thread 'long_mode::behavior::kvm::kvm_verify_ins' (2912148) panicked at test/long_mode/behavior.rs:66:34:
called `Result::unwrap()` on an `Err` value: Error(13)
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
---- long_mode::behavior::kvm::kvm_verify_inc stdout ----
thread 'long_mode::behavior::kvm::kvm_verify_inc' (2912147) panicked at test/long_mode/behavior.rs:66:34:
called `Result::unwrap()` on an `Err` value: Error(13)
---- long_mode::behavior::kvm::kvm_verify_push stdout ----
thread 'long_mode::behavior::kvm::kvm_verify_push' (2912149) panicked at test/long_mode/behavior.rs:66:34:
called `Result::unwrap()` on an `Err` value: Error(13)
---- long_mode::behavior::kvm::kvm_verify_xor_reg_mem stdout ----
thread 'long_mode::behavior::kvm::kvm_verify_xor_reg_mem' (2912150) panicked at test/long_mode/behavior.rs:66:34:
called `Result::unwrap()` on an `Err` value: Error(13)
---- long_mode::behavior::kvm::test_pf stdout ----
thread 'long_mode::behavior::kvm::test_pf' (2912151) panicked at test/long_mode/behavior.rs:66:34:
called `Result::unwrap()` on an `Err` value: Error(13)
failures:
long_mode::behavior::kvm::behavior_verify_kvm
long_mode::behavior::kvm::kvm_verify_inc
long_mode::behavior::kvm::kvm_verify_ins
long_mode::behavior::kvm::kvm_verify_push
long_mode::behavior::kvm::kvm_verify_xor_reg_mem
long_mode::behavior::kvm::test_pf
test result: FAILED. 201 passed; 6 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.22s
Mon, 23 Feb 2026 21:55:54 +0000
step:
cargo test log (stderr)
Compiling rand_core v0.10.0
Compiling bitflags v1.3.2
Compiling getrandom v0.4.1
Compiling cpufeatures v0.3.0
Compiling kvm-ioctls v0.24.0
warning: unused variable: `other`
--> src/long_mode/behavior.rs:445:21
|
445 | other => {
| ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
|
= note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
warning: unused variable: `other`
--> src/long_mode/behavior.rs:486:21
|
486 | other => {
| ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
warning: type `ImplicitOperand` is more private than the item `InstBehavior::<'inst>::implicit_oplist`
--> src/long_mode/behavior.rs:335:5
|
335 | pub fn implicit_oplist(&self) -> Option<&'static [ImplicitOperand]> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `InstBehavior::<'inst>::implicit_oplist` is reachable at visibility `pub`
|
note: but type `ImplicitOperand` is only usable at visibility `pub(self)`
--> src/long_mode/behavior.rs:264:1
|
264 | struct ImplicitOperand {
| ^^^^^^^^^^^^^^^^^^^^^^
= note: `#[warn(private_interfaces)]` on by default
warning: methods `set_pl0`, `set_pl_special`, and `set_complex` are never used
--> src/long_mode/behavior.rs:567:14
|
558 | impl BehaviorDigest {
| ------------------- methods in this implementation
...
567 | const fn set_pl0(mut self) -> Self {
| ^^^^^^^
...
579 | const fn set_pl_special(mut self) -> Self {
| ^^^^^^^^^^^^^^
...
605 | const fn set_complex(mut self, state: bool) -> Self {
| ^^^^^^^^^^^
|
= note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
warning: `yaxpeax-x86` (lib) generated 4 warnings (run `cargo fix --lib -p yaxpeax-x86` to apply 2 suggestions)
Compiling vmm-sys-util v0.15.0
Compiling chacha20 v0.10.0
Compiling rand v0.10.0
Compiling kvm-bindings v0.14.0
Compiling yaxpeax-x86 v2.0.0 (/home/iximeow/toy/build-o-tron-env/tmpdir)
warning: unused variable: `sregs`
--> test/long_mode/behavior.rs:562:25
|
562 | let sregs = vm.vcpu.get_sregs().unwrap();
| ^^^^^ help: if this is intentional, prefix it with an underscore: `_sregs`
|
= note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
warning: unused variable: `before_sregs`
--> test/long_mode/behavior.rs:780:9
|
780 | before_sregs: kvm_sregs, after_sregs: kvm_sregs
| ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_before_sregs`
warning: unused variable: `after_sregs`
--> test/long_mode/behavior.rs:780:34
|
780 | before_sregs: kvm_sregs, after_sregs: kvm_sregs
| ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_after_sregs`
warning: variable does not need to be mutable
--> test/long_mode/behavior.rs:1056:13
|
1056 | let mut buf = Instruction::default();
| ----^^^
| |
| help: remove this `mut`
|
= note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
warning: unused variable: `buf`
--> test/long_mode/behavior.rs:1056:13
|
1056 | let mut buf = Instruction::default();
| ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_buf`
warning: unused variable: `decoded`
--> test/long_mode/behavior.rs:1070:13
|
1070 | let decoded = decoder.decode(&mut reader).expect("can decode");
| ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoded`
warning: unused variable: `before_sregs`
--> test/long_mode/behavior.rs:1072:13
|
1072 | let before_sregs = vm.vcpu.get_sregs().unwrap();
| ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_before_sregs`
warning: `yaxpeax-x86` (lib test) generated 4 warnings (4 duplicates)
warning: `yaxpeax-x86` (test "test") generated 7 warnings (run `cargo fix --test "test" -p yaxpeax-x86` to apply 7 suggestions)
Finished `test` profile [unoptimized + debuginfo] target(s) in 4.25s
Running unittests src/lib.rs (target/debug/deps/yaxpeax_x86-891aa476a62ba486)
Running test/test.rs (target/debug/deps/test-4bd1d5bd8d42375f)
error: test failed, to rerun pass `--test test`
metrics
| name | vitharrunknown AuthenticAMD:26:68 @ 5.752GHz |
| nightly version | rustc 1.92.0 (ded5c06cf 2025-12-08)
|