Maybe we can learn from the backtrace which lock and why: The two main threads are #1 and #10, here their backtraces
(gdb) bt #0 0x000003ff9a011158 in __lll_lock_wait (futex=futex@entry=0x3ff8c017840, private=<optimized out>) at lowlevellock.c:46 #1 0x000003ff9a00a1f8 in __GI___pthread_mutex_lock (mutex=0x3ff8c017840) at ../nptl/pthread_mutex_lock.c:78 #2 0x000003ff9a2ff1be in virMutexLock (m=<optimized out>) at ../../../src/util/virthread.c:89 #3 0x000003ff9a38c41c in virChrdevFDStreamCloseCb (st=<optimized out>, opaque=0x3ff74010310) at ../../../src/conf/virchrdev.c:254 #4 0x000003ff9a2a226a in virFDStreamCloseInt (st=0x3ff7403f7d0, streamAbort=<optimized out>) at ../../../src/util/virfdstream.c:737 #5 0x000003ff9a3de7ca in virStreamAbort (stream=0x3ff7403f7d0) at ../../../src/libvirt-stream.c:1244 #6 0x000002aa24ad0726 in daemonStreamHandleAbort (client=client@entry=0x2aa465d8f60, stream=stream@entry=0x3ff74016c40, msg=0x2aa465aa430) at ../../../daemon/stream.c:632 #7 0x000002aa24ad166c in daemonStreamHandleWrite (stream=0x3ff74016c40, client=0x2aa465d8f60) at ../../../daemon/stream.c:745 #8 daemonStreamEvent (st=<optimized out>, events=<optimized out>, opaque=0x2aa465d8f60) at ../../../daemon/stream.c:144 #9 0x000003ff9a2a2696 in virFDStreamEvent (watch=<optimized out>, fd=<optimized out>, events=14, opaque=0x3ff7403f7d0) at ../../../src/util/virfdstream.c:327 #10 0x000003ff9a2a1c50 in virEventPollDispatchHandles (fds=<optimized out>, nfds=<optimized out>) at ../../../src/util/vireventpoll.c:508 #11 virEventPollRunOnce () at ../../../src/util/vireventpoll.c:657 #12 0x000003ff9a2a0142 in virEventRunDefaultImpl () at ../../../src/util/virevent.c:327 #13 0x000003ff9a429cd6 in virNetDaemonRun (dmn=0x2aa4659dd30) at ../../../src/rpc/virnetdaemon.c:838 #14 0x000002aa24aa0400 in main (argc=<optimized out>, argv=<optimized out>) at ../../../daemon/libvirtd.c:1510 #10 (gdb) bt #0 0x000003ff9a011158 in __lll_lock_wait (futex=futex@entry=0x3ff74013180, private=<optimized out>) at lowlevellock.c:46 #1 0x000003ff9a00a1f8 in __GI___pthread_mutex_lock (mutex=0x3ff74013180) at ../nptl/pthread_mutex_lock.c:78 #2 0x000003ff9a2ff1be in virMutexLock (m=<optimized out>) at ../../../src/util/virthread.c:89 #3 0x000003ff9a2dc230 in virObjectLock (anyobj=anyobj@entry=0x3ff74013170) at ../../../src/util/virobject.c:435 #4 0x000003ff9a2a4908 in virFDStreamSetInternalCloseCb (st=<optimized out>, cb=cb@entry=0x0, opaque=opaque@entry=0x0, fcb=fcb@entry=0x0) at ../../../src/util/virfdstream.c:1428 #5 0x000003ff9a38c3ee in virChrdevFreeClearCallbacks (payload=<optimized out>, name=<optimized out>, data=<optimized out>) at ../../../src/conf/virchrdev.c:301 #6 0x000003ff9a2aef5e in virHashForEach (table=0x3ff8c02be10, iter=iter@entry=0x3ff9a38c3d0 <virChrdevFreeClearCallbacks>, data=data@entry=0x0) at ../../../src/util/virhash.c:584 #7 0x000003ff9a38c490 in virChrdevFree (devs=<optimized out>) at ../../../src/conf/virchrdev.c:316 #8 0x000003ff8af0187a in qemuDomainObjPrivateFree (data=<optimized out>) at ../../../src/qemu/qemu_domain.c:1847 #9 0x000003ff9a33cc6c in virDomainObjDispose (obj=0x3ff8c001ec0) at ../../../src/conf/domain_conf.c:3078 #10 0x000003ff9a2dbf56 in virObjectUnref (anyobj=<optimized out>) at ../../../src/util/virobject.c:356 #11 0x000003ff9a328f60 in virDomainObjEndAPI (vm=vm@entry=0x3ff91ef77e0) at ../../../src/conf/domain_conf.c:3218 #12 0x000003ff8af8c732 in qemuDomainUndefineFlags (dom=<optimized out>, flags=<optimized out>) at ../../../src/qemu/qemu_driver.c:7582 #13 0x000003ff9a3b7262 in virDomainUndefine (domain=domain@entry=0x3ff60000d90) at ../../../src/libvirt-domain.c:6253 #14 0x000002aa24acc2b6 in remoteDispatchDomainUndefine (server=<optimized out>, msg=0x2aa465f87c0, args=<optimized out>, rerr=0x3ff91ef7b48, client=<optimized out>) at ../../../daemon/remote_dispatch.h:12227 #15 remoteDispatchDomainUndefineHelper (server=<optimized out>, client=<optimized out>, msg=0x2aa465f87c0, rerr=0x3ff91ef7b48, args=<optimized out>, ret=0x3ff6000cfb0) at ../../../daemon/remote_dispatch.h:12203 #16 0x000003ff9a43052c in virNetServerProgramDispatchCall (msg=0x2aa465f87c0, client=0x2aa465f9680, server=<optimized out>, prog=0x2aa465b7db0) at ../../../src/rpc/virnetserverprogram.c:436 #17 virNetServerProgramDispatch (prog=0x2aa465b7db0, server=<optimized out>, server@entry=0x2aa4659dfb0, client=0x2aa465f9680, msg=0x2aa465f87c0) at ../../../src/rpc/virnetserverprogram.c:307 #18 0x000002aa24ae3a82 in virNetServerProcessMsg (msg=<optimized out>, prog=<optimized out>, client=<optimized out>, srv=0x2aa4659dfb0) at ../../../src/rpc/virnetserver.c:148 #19 virNetServerHandleJob (jobOpaque=<optimized out>, opaque=0x2aa4659dfb0) at ../../../src/rpc/virnetserver.c:169 #20 0x000003ff9a2ffe9e in virThreadPoolWorker (opaque=opaque@entry=0x2aa46589880) at ../../../src/util/virthreadpool.c:167 #21 0x000003ff9a2feffe in virThreadHelper (data=<optimized out>) at ../../../src/util/virthread.c:206 #22 0x000003ff9a007aa8 in start_thread (arg=0x3ff91ef8910) at pthread_create.c:463 #23 0x000003ff99efa936 in thread_start () at ../sysdeps/unix/sysv/linux/s390/s390-64/clone.S:65 -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1822096 Title: libvirt hangs after utah workload is aborted To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1822096/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
