Guest is a 2.6.38-10-server x86_64 kernel with ubuntu patches applied (configured to have some set of modules built-in + debugging symbols + non-preemptive + HZ=100). I can provide the config file if necessary. Root fs contains a minimal 10.04 server.
Here is how I launch the VM: $ qemu-system-x86_64 -s -m 512 -drive file="root1.qcow2" -kernel ../../linux-2.6.38/arch/x86/boot/bzImage -append " console=tty1 root=/dev/sda1 ro " VM launches fine and drops to a login shell. Then I start gdb and connect to the server: $ gdb ../../linux-2.6.38/vmlinux {Init messages...} Reading symbols from ../../linux-2.6.38/vmlinux...done. (gdb) target remote :1234 Remote debugging using :1234 0xffffffff81076a0b in pvclock_clocksource_read (src=0xffffffff82201fd8) at arch/x86/kernel/pvclock.c:106 106 if ((valid_flags & PVCLOCK_TSC_STABLE_BIT) && (gdb) At this point the VM is unresponsive. Then I set a breakpoint at schedule() (which should be called 100 times per second) and let the VM go. (gdb) b schedule Breakpoint 1 at 0xffffffff81b2b3f0: file kernel/sched.c, line 3946. (gdb) c Continuing. I would expect the debugger to hit the breakpoint but it never does. VM is fully functional at this point. Then I pause the VM again with ctrl+c and print the stack trace: ^C Program received signal SIGINT, Interrupt. 0xffffffff81076a0b in pvclock_clocksource_read (src=0xffffffff82201fd8) at arch/x86/kernel/pvclock.c:106 106 if ((valid_flags & PVCLOCK_TSC_STABLE_BIT) && (gdb) where #0 0xffffffff81076a0b in pvclock_clocksource_read (src=0xffffffff82201fd8) at arch/x86/kernel/pvclock.c:106 #1 0xffffffff81053255 in arch_safe_halt () at /DOCS/nmc/linux-2.6.38/arch/x86/include/asm/paravirt.h:110 #2 default_idle () at arch/x86/kernel/process.c:391 #3 0xffffffff8104921b in cpu_idle () at arch/x86/kernel/process_64.c:139 #4 0xffffffff81ad9cce in device_irq_init (pdata=0xffffffff824cdfa0, chip=0xffffffff824c99c0) at drivers/mfd/88pm860x-core.c:508 #5 device_8607_init (chip=0xffffffff824c99c0, i2c=<optimized out>, pdata=0xffffffff824cdfa0) at drivers/mfd/88pm860x-core.c:682 #6 0xffffffff8247bc6f in start_kernel () at init/main.c:734 #7 0xffffffff8247b347 in x86_64_start_reservations (real_mode_data=<optimized out>) at arch/x86/kernel/head64.c:124 #8 0xffffffff8247b44d in x86_64_start_kernel (real_mode_data=0xffff88001fffb880 " console=tty1") at arch/x86/kernel/head64.c:94 #9 0x0000000000000000 in ?? () (gdb) I see the same stack trace every single time I stop the VM; while sitting idle on the console, while running a busy-loop application, while doing net/disk IO. I also set other breakpoints at frequently executed kernel functions like do_timer() but the VM never stops at these breakpoints. Please let me know if more information is necessary. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/901944 Title: gdbserver inside qemu does not stop on breakpoints To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/qemu-kvm/+bug/901944/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs