From dee4dcba78baf712cab403d47d9db319ab7f95d6 Mon Sep 17 00:00:00 2001 From: Christian Krinitsin Date: Thu, 3 Jul 2025 19:39:53 +0200 Subject: restructure results --- results/classifier/semantic-bugs/semantic/1156313 | 128 ------------------- results/classifier/semantic-bugs/semantic/1370 | 26 ---- results/classifier/semantic-bugs/semantic/1371 | 32 ----- results/classifier/semantic-bugs/semantic/1372 | 33 ----- results/classifier/semantic-bugs/semantic/1373 | 33 ----- results/classifier/semantic-bugs/semantic/1374 | 35 ----- results/classifier/semantic-bugs/semantic/1375 | 32 ----- results/classifier/semantic-bugs/semantic/1428352 | 63 --------- results/classifier/semantic-bugs/semantic/1809546 | 90 ------------- results/classifier/semantic-bugs/semantic/1923197 | 149 ---------------------- 10 files changed, 621 deletions(-) delete mode 100644 results/classifier/semantic-bugs/semantic/1156313 delete mode 100644 results/classifier/semantic-bugs/semantic/1370 delete mode 100644 results/classifier/semantic-bugs/semantic/1371 delete mode 100644 results/classifier/semantic-bugs/semantic/1372 delete mode 100644 results/classifier/semantic-bugs/semantic/1373 delete mode 100644 results/classifier/semantic-bugs/semantic/1374 delete mode 100644 results/classifier/semantic-bugs/semantic/1375 delete mode 100644 results/classifier/semantic-bugs/semantic/1428352 delete mode 100644 results/classifier/semantic-bugs/semantic/1809546 delete mode 100644 results/classifier/semantic-bugs/semantic/1923197 (limited to 'results/classifier/semantic-bugs/semantic') diff --git a/results/classifier/semantic-bugs/semantic/1156313 b/results/classifier/semantic-bugs/semantic/1156313 deleted file mode 100644 index 54d2d0f9..00000000 --- a/results/classifier/semantic-bugs/semantic/1156313 +++ /dev/null @@ -1,128 +0,0 @@ -semantic: 0.869 -mistranslation: 0.841 -assembly: 0.789 -device: 0.777 -instruction: 0.707 -other: 0.705 -vnc: 0.702 -graphic: 0.657 -socket: 0.605 -boot: 0.576 -network: 0.533 -KVM: 0.518 - -X86-64 flags handling broken - -The current qemu sources cause improper handling of flags on x86-64. -This bug seems to have shown up a few weeks ago. - -A plain install of Debian GNU/Linux makes user processes catch -spurious signals. The kernel seems to run stably, though. - -The ADX feature works very poorly. It might be related; at least it -allows for reproducibly provoking invalid behaviour. - -Here is a test case: - -================================================================ -qemumain.c -#include -long adx(); -int -main () -{ - printf ("%lx\n", adx (0xffbeef, 17)); - return 0; -} -================================================================ -qemuadx.s: - .globl adx -adx: xor %rax, %rax -1: dec %rdi - jnz 1b - .byte 0xf3, 0x48, 0x0f, 0x38, 0xf6, 0xc0 # adox %rax, %rax - .byte 0x66, 0x48, 0x0f, 0x38, 0xf6, 0xc0 # adcx %rax, %rax - ret -================================================================ - -Compile and execute: -$ gcc -m64 qemumain.c qemuadx.s -$ a.out -ffffff8000378cd8 - -Expected output is simply "0". The garbage value varies between qemu -compiles and guest systems. - -Note that one needs a recent GNU assembler in order to handle adox and -adcx. For convenience I have supplied them as byte sequences. - -Exaplanation and feeble analysis: - -The 0xffbeef argument is a loop count. It is necessary to loop for a -while in order to trigger this bug. If the loop count is decreased, -the bug will seen intermittently; the lower the count, the less -frequent the invalid behaviour. - -It seems like a reasonable assumption that this bug is related to -flags handling at context switch. Presumably, qemu keeps flags state -in some internal format, then recomputes then when needing to form the -eflags register, as needed for example for context switching. - -I haven't tried to reproduce this bug using qemu-x86_64 and SYSROOT, -but I strongly suspect that to be impossible. I use -qemu-system-x86_64 and the guest Debian GNU/Linux x86_64 (version -6.0.6) . - -The bug happens also with the guest FreeBSD x86_64 version 9.1. (The -iteration count for triggering the problem 50% of the runs is not the -same when using the kernel Linux and FreeBSD's kernel, presumably due -to different ticks.) - -The bug happens much more frequently for a loaded system; in fact, the -loop count can be radically decreased if two instances of the trigger -program are run in parallel. - -Richard Henderson