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

Reply via email to