summary refs log tree commit diff stats
path: root/results/classifier/108/debug/1184
diff options
context:
space:
mode:
authorChristian Krinitsin <mail@krinitsin.com>2025-07-03 19:39:53 +0200
committerChristian Krinitsin <mail@krinitsin.com>2025-07-03 19:39:53 +0200
commitdee4dcba78baf712cab403d47d9db319ab7f95d6 (patch)
tree418478faf06786701a56268672f73d6b0b4eb239 /results/classifier/108/debug/1184
parent4d9e26c0333abd39bdbd039dcdb30ed429c475ba (diff)
downloademulator-bug-study-dee4dcba78baf712cab403d47d9db319ab7f95d6.tar.gz
emulator-bug-study-dee4dcba78baf712cab403d47d9db319ab7f95d6.zip
restructure results
Diffstat (limited to 'results/classifier/108/debug/1184')
-rw-r--r--results/classifier/108/debug/118484
1 files changed, 0 insertions, 84 deletions
diff --git a/results/classifier/108/debug/1184 b/results/classifier/108/debug/1184
deleted file mode 100644
index 333d994c..00000000
--- a/results/classifier/108/debug/1184
+++ /dev/null
@@ -1,84 +0,0 @@
-debug: 0.967
-graphic: 0.962
-files: 0.958
-device: 0.887
-performance: 0.886
-PID: 0.862
-socket: 0.749
-semantic: 0.730
-network: 0.703
-KVM: 0.701
-other: 0.605
-vnc: 0.592
-permissions: 0.586
-boot: 0.508
-
-Extra SIGTRAP when breakpoint + watchpoint occur on same instruction
-Description of problem:
-If a breakpoint and watchpoint occur on the same instruction in TCG, gdb receives a breakpoint notification, a watchpoint notification, and then a SIGTRAP not corresponding to any set breakpoint/watchpoint.
-Steps to reproduce:
-Start QEMU via:
-
-```
-./qemu-system-i386 -display none -accel tcg -kernel kernel.elf -s -S
-```
-
-Here's the gdb session:
-
-```
-(gdb) file kernel.elf
-Reading symbols from kernel.elf...done.
-(gdb) tar rem :1234
-Remote debugging using :1234
-0x0000fff0 in ?? ()
-(gdb) b _start
-Breakpoint 1 at 0x10000c: file kernel.s, line 17.
-(gdb) c
-Continuing.
-
-Breakpoint 1, _start () at kernel.s:17
-17          mov eax, 3
-(gdb) b bp
-Breakpoint 2 at 0x100011: file kernel.s, line 20.
-(gdb) watch *(int*)&value
-Hardware watchpoint 3: *(int*)&value
-(gdb) c
-Continuing.
-
-Breakpoint 2, bp () at kernel.s:20
-20          mov dword ptr value, eax
-(gdb) c
-Continuing.
-
-Hardware watchpoint 3: *(int*)&value
-
-Old value = 0
-New value = 3
-done () at kernel.s:23
-23          jmp done
-(gdb) c
-Continuing.
-
-Program received signal SIGTRAP, Trace/breakpoint trap.
-done () at kernel.s:23
-23          jmp done
-```
-Additional information:
-This patch fixes it by disabling the extra debug interrupt if the CPU is already singlestepping, but I'm not certain it's the 'correct' fix?
-
-```patch
---- a/softmmu/physmem.c
-+++ b/softmmu/physmem.c
-@@ -894,7 +894,9 @@ void cpu_check_watchpoint(CPUState *cpu, vaddr addr, vaddr len,
-          * trigger after the current instruction.
-          */
-         qemu_mutex_lock_iothread();
--        cpu_interrupt(cpu, CPU_INTERRUPT_DEBUG);
-+        if ((cpu->singlestep_enabled & SSTEP_NOIRQ) == 0) {
-+            cpu_interrupt(cpu, CPU_INTERRUPT_DEBUG);
-+        }
-         qemu_mutex_unlock_iothread();
-         return;
-     }
-
-```