Reinstall into saved .so files in versioned directory:

root@b:~# apt install --reinstall qemu-block-extra qemu-kvm qemu-system-common 
qemu-system-x86 qemu-utils
Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 5 reinstalled, 0 to remove and 0 not upgraded.
Need to get 6792 kB of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu bionic-proposed/main amd64 
qemu-system-common amd64 1:2.11+dfsg-1ubuntu7.24 [672 kB]
Get:2 http://archive.ubuntu.com/ubuntu bionic-proposed/main amd64 
qemu-block-extra amd64 1:2.11+dfsg-1ubuntu7.24 [40.2 kB]
Get:3 http://archive.ubuntu.com/ubuntu bionic-proposed/main amd64 qemu-kvm 
amd64 1:2.11+dfsg-1ubuntu7.24 [13.2 kB]
Get:4 http://archive.ubuntu.com/ubuntu bionic-proposed/main amd64 
qemu-system-x86 amd64 1:2.11+dfsg-1ubuntu7.24 [5197 kB]
Get:5 http://archive.ubuntu.com/ubuntu bionic-proposed/main amd64 qemu-utils 
amd64 1:2.11+dfsg-1ubuntu7.24 [869 kB]
Fetched 6792 kB in 3s (2170 kB/s) 
(Reading database ... 37924 files and directories currently installed.)
Preparing to unpack .../qemu-system-common_1%3a2.11+dfsg-1ubuntu7.24_amd64.deb 
...
Unpacking qemu-system-common (1:2.11+dfsg-1ubuntu7.24) over 
(1:2.11+dfsg-1ubuntu7.24) ...
Preparing to unpack .../qemu-block-extra_1%3a2.11+dfsg-1ubuntu7.24_amd64.deb ...
Unpacking qemu-block-extra:amd64 (1:2.11+dfsg-1ubuntu7.24) over 
(1:2.11+dfsg-1ubuntu7.24) ...
Preparing to unpack .../qemu-kvm_1%3a2.11+dfsg-1ubuntu7.24_amd64.deb ...
Unpacking qemu-kvm (1:2.11+dfsg-1ubuntu7.24) over (1:2.11+dfsg-1ubuntu7.24) ...
Preparing to unpack .../qemu-system-x86_1%3a2.11+dfsg-1ubuntu7.24_amd64.deb ...
Unpacking qemu-system-x86 (1:2.11+dfsg-1ubuntu7.24) over 
(1:2.11+dfsg-1ubuntu7.24) ...
Preparing to unpack .../qemu-utils_1%3a2.11+dfsg-1ubuntu7.24_amd64.deb ...
Unpacking qemu-utils (1:2.11+dfsg-1ubuntu7.24) over (1:2.11+dfsg-1ubuntu7.24) 
...
Setting up qemu-block-extra:amd64 (1:2.11+dfsg-1ubuntu7.24) ...
Setting up qemu-utils (1:2.11+dfsg-1ubuntu7.24) ...
Setting up qemu-system-common (1:2.11+dfsg-1ubuntu7.24) ...
Setting up qemu-system-x86 (1:2.11+dfsg-1ubuntu7.24) ...
Setting up qemu-kvm (1:2.11+dfsg-1ubuntu7.24) ...
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...
root@b:~# ll /var/run/qemu/Debian_1_2.11+dfsg-1ubuntu7.24/
total 92
drwxr-xr-x 2 root root   100 May 14 05:45 ./
drwxr-xr-x 3 root root    60 May 14 05:45 ../
-rw-r--r-- 1 root root 25600 May 14 05:45 block-curl.so
-rw-r--r-- 1 root root 36008 May 14 05:45 block-iscsi.so
-rw-r--r-- 1 root root 27712 May 14 05:45 block-rbd.so

Same for Eoan:
root@e:~# ll /var/run/qemu/Debian_1_4.0+dfsg-0ubuntu9.5/
total 120
drwxr-xr-x 2 root root   100 May 14 05:45 ./
drwxr-xr-x 3 root root    60 May 14 05:45 ../
-rw-r--r-- 1 root root 34280 May 14 05:45 block-curl.so
-rw-r--r-- 1 root root 49256 May 14 05:45 block-iscsi.so
-rw-r--r-- 1 root root 31752 May 14 05:45 block-rbd.so

 rename -v 's/\.so/.so.unavailable/' /usr/lib/x86_64-linux-gnu/qemu/*
/usr/lib/x86_64-linux-gnu/qemu/block-curl.so renamed as 
/usr/lib/x86_64-linux-gnu/qemu/block-curl.so.unavailable
/usr/lib/x86_64-linux-gnu/qemu/block-iscsi.so renamed as 
/usr/lib/x86_64-linux-gnu/qemu/block-iscsi.so.unavailable
/usr/lib/x86_64-linux-gnu/qemu/block-rbd.so renamed as 
/usr/lib/x86_64-linux-gnu/qemu/block-rbd.so.unavailable

Qemu is running but has no .so loaded:
root@b:~# ps axlf | grep $(pidof qemu-system-x86_64)
0     0   90171   78633  20   0  14852   844 pipe_w S+   ?          0:00  \_ 
grep --color=auto 90077
6 64055   90077       1  20   0 2299220 455504 poll_s Sl ?          0:23 
qemu-system-x86_64 -enable-kvm -name guest=lateload,debug-threads=on -S -object 
secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain-1-lateload/master-key.aes
 -machine pc-i440fx-bionic,accel=kvm,usb=off,dump-guest-core=off -m 512 
-realtime mlock=off -smp 1,sockets=1,cores=1,threads=1 -uuid 
c1cc7eea-cc58-4473-bc93-cf50acf584be -no-user-config -nodefaults -chardev 
socket,id=charmonitor,path=/var/lib/libvirt/qemu/domain-1-lateload/monitor.sock,server,nowait
 -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown 
-boot strict=on -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive 
file=/var/lib/uvtool/libvirt/images/lateload.qcow,format=qcow2,if=none,id=drive-virtio-disk0
 -device 
virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1
 -drive 
file=/var/lib/uvtool/libvirt/images/lateload-ds.qcow,format=qcow2,if=none,id=drive-virtio-disk1
 -device 
virtio-blk-pci,scsi=off,bus=pci.0,addr=0x5,drive=drive-virtio-disk1,id=virtio-disk1
 -netdev tap,fd=28,id=hostnet0 -device 
virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:0e:ac:75,bus=pci.0,addr=0x3 
-chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 
-vnc 127.0.0.1:0 -device cirrus-vga,id=video0,bus=pci.0,addr=0x2 -device 
virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x6 -msg timestamp=on

# cat /proc/$(pidof qemu-system-x86_64)/maps | grep curl

Attaching the device now:
# virsh attach-device lateload curldisk.xml
Device attached successfully

And we see the upgrade-path loaded:
# cat /proc/$(pidof qemu-system-x86_64)/maps | grep curl
7fa662893000-7fa66289f000 r--p 00000000 00:4b 10490                      
/usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4.5.0
7fa66289f000-7fa662900000 r-xp 0000c000 00:4b 10490                      
/usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4.5.0
7fa662900000-7fa66291b000 r--p 0006d000 00:4b 10490                      
/usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4.5.0
7fa66291b000-7fa66291f000 r--p 00087000 00:4b 10490                      
/usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4.5.0
7fa66291f000-7fa662920000 rw-p 0008b000 00:4b 10490                      
/usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4.5.0
7fa662929000-7fa66292b000 r--p 00000000 00:58 210                        
/run/qemu/Debian_1_4.0+dfsg-0ubuntu9.5/block-curl.so
7fa66292b000-7fa66292e000 r-xp 00002000 00:58 210                        
/run/qemu/Debian_1_4.0+dfsg-0ubuntu9.5/block-curl.so
7fa66292e000-7fa66292f000 r--p 00005000 00:58 210                        
/run/qemu/Debian_1_4.0+dfsg-0ubuntu9.5/block-curl.so
7fa66292f000-7fa662930000 ---p 00006000 00:58 210                        
/run/qemu/Debian_1_4.0+dfsg-0ubuntu9.5/block-curl.so
7fa662930000-7fa662931000 r--p 00006000 00:58 210                        
/run/qemu/Debian_1_4.0+dfsg-0ubuntu9.5/block-curl.so
7fa662931000-7fa662932000 rw-p 00007000 00:58 210                        
/run/qemu/Debian_1_4.0+dfsg-0ubuntu9.5/block-curl.so


For the sake of completeness I tried another .so via:
  <disk type='network' device='disk'>
    <driver name='qemu' type='raw'/>
    <source protocol='iscsi' name='iqn.2013-07.com.example:iscsi-nopool/2'>
      <host name='example.com' port='3260'/>
    </source>
    <target dev='vdc' bus='virtio'/>
  </disk>

# cat /proc/$(pidof qemu-system-x86_64)/maps | grep scsi
<empty>

Atfer the load we have usually:
7f8e3b2a1000-7f8e3b2a2000 rw-p 00008000 00:43 83919                      
/usr/lib/x86_64-linux-gnu/qemu/block-iscsi.so
7f8e3b098000-7f8e3b099000 rw-p 00024000 00:43 43986                      
/usr/lib/x86_64-linux-gnu/libiscsi.so.7.0.2

Now with the old libs removed we have:


---

in case some one removed the files (broken install anyway) it is an error but 
not failing:
Preparing to unpack .../qemu-block-extra_1%3a2.11+dfsg-1ubuntu7.24_amd64.deb ...
cp: cannot stat '/usr/lib/x86_64-linux-gnu/qemu/block-*.so': No such file or 
directory
dpkg: warning: old qemu-block-extra:amd64 package pre-removal script subprocess 
returned error exit status 1
dpkg: trying script from the new package instead ...
dpkg: ... it looks like that went OK

---

This was blocked all the time by the build errors due to the kernel.
But it seems the bionic backport has an issue.
It has in configure
        --enable-module-upgrades \
and
  alt path mod load yes

So it seems good, but the code in module_load_one is not reached.

---

Summary for now:
 - Eoan verified qemu+libvirt
 - Bionic libvirt (apparmor) seems fine but qemu has an issue catching the 
config value
Therefore not setting B-verified yet


** Tags removed: verification-needed-eoan
** Tags added: verification-done-eoan

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1847361

Title:
  Upgrade of qemu binaries causes running instances not able to
  dynamically load modules

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1847361/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to