Silly me, the second thread obviously is on thread and not frame 5 :-) All as it was before: (gdb) thread 5 [Switching to thread 5 (Thread 0x7f9769ea7700 (LWP 13402))] #0 __lll_lock_wait () at ../sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:103 103 ../sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: No such file or directory. (gdb) bt #0 __lll_lock_wait () at ../sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:103 #1 0x00007f976f5eb945 in __GI___pthread_mutex_lock (mutex=0x7f975401efc0) at ../nptl/pthread_mutex_lock.c:80 #2 0x00007f976f762095 in virMutexLock (m=) at ../../../src/util/virthread.c:89 #3 0x00007f976f73a3db in virObjectLock (anyobj=anyobj@entry=0x7f975401efb0) at ../../../src/util/virobject.c:429 #4 0x00007f976f70481f in virFDStreamSetInternalCloseCb (st=, cb=cb@entry=0x0, opaque=opaque@entry=0x0, fcb=fcb@entry=0x0) at ../../../src/util/virfdstream.c:1439 #5 0x00007f976f7f3f9f in virChrdevFreeClearCallbacks (payload=, name=, data=) at ../../../src/conf/virchrdev.c:299 #6 0x00007f976f70ef20 in virHashForEach (data=, iter=, table=) at ../../../src/util/virhash.c:575 #7 virHashForEach (table=0x7f9744002d40, iter=iter@entry=0x7f976f7f3f90 , data=data@entry=0x0) at ../../../src/util/virhash.c:563 #8 0x00007f976f7f4011 in virChrdevFree (devs=) at ../../../src/conf/virchrdev.c:314 #9 0x00007f9760705fdc in qemuDomainObjPrivateFree (data=) at ../../../src/qemu/qemu_domain.c:1994 #10 0x00007f976f7a3d7b in virDomainObjDispose (obj=0x7f9744003e40) at ../../../src/conf/domain_conf.c:3204 #11 0x00007f976f73a1eb in virObjectUnref (anyobj=) at ../../../src/util/virobject.c:350 #12 0x00007f976f78e869 in virDomainObjEndAPI (vm=vm@entry=0x7f9769ea6818) at ../../../src/conf/domain_conf.c:3322 #13 0x00007f9760791795 in qemuDomainUndefineFlags (dom=, flags=) at ../../../src/qemu/qemu_driver.c:7866 #14 0x00007f976f9098b3 in virDomainUndefine (domain=domain@entry=0x7f974c003190) at ../../../src/libvirt-domain.c:6256 #15 0x0000557f2cd4631f in remoteDispatchDomainUndefine (server=0x557f2e98a3b0, msg=0x557f2e9f6510, args=0x7f974c003160, rerr=0x7f9769ea69a0, client=) at ../../../src/remote/remote_daemon_dispatch_stubs.h:12624 #16 remoteDispatchDomainUndefineHelper (server=0x557f2e98a3b0, client=, msg=0x557f2e9f6510, rerr=0x7f9769ea69a0, args=0x7f974c003160, ret=0x7f974c002f90) at ../../../src/remote/remote_daemon_dispatch_stubs.h:12600 #17 0x00007f976f82e574 in virNetServerProgramDispatchCall (msg=0x557f2e9f6510, client=0x557f2e9aedd0, server=0x557f2e98a3b0, prog=0x557f2e9ba970) at ../../../src/rpc/virnetserverprogram.c:435 #18 virNetServerProgramDispatch (prog=0x557f2e9ba970, server=server@entry=0x557f2e98a3b0, client=0x557f2e9aedd0, msg=0x557f2e9f6510) at ../../../src/rpc/virnetserverprogram.c:302 #19 0x00007f976f834928 in virNetServerProcessMsg (msg=, prog=, client=, srv=0x557f2e98a3b0) at ../../../src/rpc/virnetserver.c:142 #20 virNetServerHandleJob (jobOpaque=, opaque=0x557f2e98a3b0) at ../../../src/rpc/virnetserver.c:163 #21 0x00007f976f762b90 in virThreadPoolWorker (opaque=opaque@entry=0x557f2e999690) at ../../../src/util/virthreadpool.c:163 #22 0x00007f976f761f18 in virThreadHelper (data=) at ../../../src/util/virthread.c:206 #23 0x00007f976f5e9182 in start_thread (arg=) at pthread_create.c:486 #24 0x00007f976f512faf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 P.S. I should do less things at once ...