[Spice-devel] qemu stuck (locking issue ?)

Hans de Goede hdegoede at redhat.com
Fri Nov 26 07:01:01 PST 2010


Hi,

I just had qemu got stuck on me, here is a thread apply all
from an attached gdb. Note this is spice.v21 compile with
--enable-iothread

Thread 3 (Thread 0x7fb9ce7f1700 (LWP 4496)):
#0  0x00007fb9e358b48d in read () from /lib64/libpthread.so.0
#1  0x00007fb9e249099a in receive_data (qxl_worker=0x1dd1940,
     mem_slot=0x7fb9ce7f0a50) at red_worker.h:131
#2  read_message (qxl_worker=0x1dd1940, mem_slot=0x7fb9ce7f0a50)
     at red_worker.h:144
#3  qxl_worker_add_memslot (qxl_worker=0x1dd1940, mem_slot=0x7fb9ce7f0a50)
     at red_dispatcher.c:248
#4  0x00000000005cf25f in qxl_add_memslot (d=0x1dbe2b0, slot_id=1, delta=0)
     at /home/hans/projects/spice/master/qemu/hw/qxl.c:761
#5  0x00000000005d1466 in ioport_write (opaque=0x1dbe2b0,
     addr=<value optimized out>, val=1)
     at /home/hans/projects/spice/master/qemu/hw/qxl.c:971
#6  0x000000000042b321 in kvm_handle_io (env=0x1975430)
     at /home/hans/projects/spice/master/qemu/kvm-all.c:756
#7  kvm_cpu_exec (env=0x1975430)
     at /home/hans/projects/spice/master/qemu/kvm-all.c:900
#8  0x00000000004da9ec in cpu_x86_exec (env1=<value optimized out>)
     at /home/hans/projects/spice/master/qemu/cpu-exec.c:338
#9  0x000000000040abfa in qemu_cpu_exec (env=0x1975430)
     at /home/hans/projects/spice/master/qemu/cpus.c:896
#10 0x000000000040b506 in kvm_cpu_thread_fn (arg=0x1975430)
     at /home/hans/projects/spice/master/qemu/cpus.c:613
#11 0x00007fb9e3583d5b in start_thread () from /lib64/libpthread.so.0
#12 0x00007fb9e0fedaad in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7fb9ccebf700 (LWP 4497)):
#0  0x00007fb9e358b1ac in __lll_lock_wait () from /lib64/libpthread.so.0
#1  0x00007fb9e35864a4 in _L_lock_997 () from /lib64/libpthread.so.0
#2  0x00007fb9e35862ba in pthread_mutex_lock () from /lib64/libpthread.so.0
#3  0x00000000004bfdb9 in qemu_mutex_lock (mutex=<value optimized out>)
     at qemu-thread.c:50
#4  0x000000000040bdf2 in qemu_mutex_lock_iothread ()
     at /home/hans/projects/spice/master/qemu/cpus.c:736
#5  0x00000000004a11c6 in qemu_spice_create_update (ssd=0x1dbe510)
     at ui/spice-display.c:81
#6  0x00000000005d1e10 in interface_get_command (sin=0x1dbe530,
     ext=0x7fb9cccea760) at /home/hans/projects/spice/master/qemu/hw/qxl.c:336
#7  0x00007fb9e24acdee in red_process_commands (worker=0x7fb9cccea840,
     ring_is_empty=0x7fb9ccebec2c, max_pipe_size=50) at red_worker.c:4342
#8  0x00007fb9e24b144a in red_worker_main (arg=<value optimized out>)
     at red_worker.c:10308
#9  0x00007fb9e3583d5b in start_thread () from /lib64/libpthread.so.0
#10 0x00007fb9e0fedaad in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7fb9e3b66980 (LWP 4482)):
#0  0x00007fb9e358b1ac in __lll_lock_wait () from /lib64/libpthread.so.0
#1  0x00007fb9e35864a4 in _L_lock_997 () from /lib64/libpthread.so.0
#2  0x00007fb9e35862ba in pthread_mutex_lock () from /lib64/libpthread.so.0
#3  0x00000000004bfdb9 in qemu_mutex_lock (mutex=<value optimized out>)
     at qemu-thread.c:50
#4  0x000000000040bdfc in qemu_mutex_lock_iothread ()
     at /home/hans/projects/spice/master/qemu/cpus.c:737
#5  0x00000000005646ef in main_loop_wait (nonblocking=<value optimized out>)
     at /home/hans/projects/spice/master/qemu/vl.c:1250
#6  0x0000000000565497 in main_loop (argc=<value optimized out>,
     argv=<value optimized out>, envp=<value optimized out>)
     at /home/hans/projects/spice/master/qemu/vl.c:1312
#7  main (argc=<value optimized out>, argv=<value optimized out>,
     envp=<value optimized out>)
     at /home/hans/projects/spice/master/qemu/vl.c:3012

I can not reproduce this, still maybe the above bt sheds some light on this ?

Regards,

Hans


More information about the Spice-devel mailing list