x86: 0.984 register: 0.940 device: 0.914 architecture: 0.894 vnc: 0.804 i386: 0.803 socket: 0.797 network: 0.777 arm: 0.772 kernel: 0.738 graphic: 0.706 debug: 0.689 performance: 0.678 risc-v: 0.667 peripherals: 0.665 permissions: 0.665 semantic: 0.641 VMM: 0.631 boot: 0.619 ppc: 0.617 PID: 0.571 files: 0.548 TCG: 0.526 KVM: 0.497 mistranslation: 0.489 user-level: 0.462 hypervisor: 0.384 virtual: 0.320 assembly: 0.204 -------------------- x86: 0.999 i386: 0.952 debug: 0.672 user-level: 0.558 register: 0.271 TCG: 0.190 files: 0.037 VMM: 0.033 assembly: 0.031 kernel: 0.023 PID: 0.021 virtual: 0.019 hypervisor: 0.018 semantic: 0.010 KVM: 0.009 architecture: 0.008 network: 0.006 performance: 0.006 risc-v: 0.005 device: 0.003 ppc: 0.003 permissions: 0.002 socket: 0.002 graphic: 0.002 boot: 0.001 vnc: 0.001 peripherals: 0.001 mistranslation: 0.001 arm: 0.000 x86_cpu_gdb_read_register segfaults when gdb requests registers When attempting to attach to the gdbstub, a segfault occurs. I traced this down to a problem in a call to gdb_get_reg16 where the mem_buf was being treated like a uint8_t* instead of a GByteArray. The buffer passed to gdb_get_reg16 ends up passing an invalid GByteArray pointer, which subsequently causes a segfault in memcpy. I have a fix for this - just need to educate myself on how to submit a patch. Thanks for tracking down the source of the bug. Our 'submitting patches' policy is at https://wiki.qemu.org/Contribute/SubmitAPatch in case you haven't already found it. (It's quite long but for a simple one-shot bugfix patch the important stuff is just the summarized bits at the top.) Fixed in commit bbc40fefcee0d69d61ceaf8c0695d2ce43cdc87b.