1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
|
register: 0.948
debug: 0.937
semantic: 0.937
mistranslation: 0.926
graphic: 0.924
assembly: 0.918
user-level: 0.897
virtual: 0.888
permissions: 0.884
arm: 0.883
device: 0.882
peripherals: 0.878
PID: 0.875
hypervisor: 0.870
KVM: 0.858
architecture: 0.854
risc-v: 0.854
VMM: 0.850
boot: 0.850
network: 0.839
ppc: 0.836
performance: 0.826
TCG: 0.821
files: 0.815
x86: 0.804
socket: 0.788
vnc: 0.786
kernel: 0.731
i386: 0.513
Qemu VM start kills Pulseaudio
When I start a VM (start command below) in Qemu version >2.5, it kills Pulseaudio (paired with a huge lagspike) in ~4/5 cases. Using version 2.5 build from GIT, it works fine. This also happens when building from the current GIT master (ebedf0f).
Host:
Freshly installed Antergos Arch Linux 4.10.3-1-ARCH
Intel I7-5930K
ASUS X99 Deluxe II latest UEFI
GTX 770
Guest:
Windows 10 x64
AMD RX480 via VFIO
This also happened on my last install (Ubuntu GNOME 16.10).
Start command:
QEMU_AUDIO_DRV=pa \
QEMU_PA_SAMPLES=4096 \
qemu-system-x86_64 \
-serial none \
-parallel none \
-nodefconfig \
-nodefaults \
-name win10 \
-enable-kvm \
-cpu host,check,kvm=off \
-smp 12,sockets=1,cores=6,threads=2 \
-m 16G \
-mem-prealloc \
-device nec-usb-xhci,id=xhci \
-device usb-host,vendorid=0x05ac,productid=0x0205,bus=xhci.0 \
-net nic,vlan=0,model=virtio \
-net bridge,vlan=0,br=bridge0 \
-object iothread,id=iothread0 \
-device virtio-blk-pci,iothread=iothread0,drive=drive0 \
-drive file="$DISK",format=raw,if=none,cache=none,aio=native,id=drive0 \
-boot order=c,menu=on \
-rtc base=utc \
-nographic \
-k de \
-monitor stdio \
-soundhw hda \
-device vfio-pci,host=02:00.0,addr=09.0,multifunction=on,x-vga=on \
-device vfio-pci,host=02:00.1,addr=09.1 \
-device vfio-pci,host=04:00.0,addr=07.0,multifunction=on,id=usbcontroller
When it kills Pulseaudio, I see these errors in the Qemu console:
pulseaudio: set_sink_input_volume() failed
pulseaudio: Reason: Bad state
pulseaudio: set_sink_input_mute() failed
pulseaudio: Reason: Bad state
pulseaudio: set_source_output_volume() failed
... many more of these ...
The journal shows that PulseAudio is killed:
Mär 19 13:12:42 hp-desktop systemd[530]: pulseaudio.service: Main process exited, code=killed, status=9/KILL
Mär 19 13:12:42 hp-desktop systemd[530]: pulseaudio.service: Unit entered failed state.
Mär 19 13:12:42 hp-desktop systemd[530]: pulseaudio.service: Failed with result 'signal'.
Mär 19 13:12:42 hp-desktop systemd[530]: pulseaudio.service: Service hold-off time over, scheduling restart.
Mär 19 13:12:42 hp-desktop systemd[530]: Stopped Sound Service.
Mär 19 13:12:42 hp-desktop systemd[530]: Starting Sound Service...
I've also captured a PulseAudio debug log when this happens, but it does not contain anything interesting (no warnings or errors), which makes sense in case of SIGKILL.
In DMESG I get some errors too, but they seem to be just symptoms (but Im just guessing...); 00:14.0 is the USB controller my DAC is connected to:
[ 4372.389051] usb 3-9.4: current rate 4500480 is different from the runtime rate 44100
[ 4372.509163] usb 3-9.4: current rate 4500480 is different from the runtime rate 44100
[ 4372.559104] usb 3-9.4: current rate 4500480 is different from the runtime rate 44100
[ 4373.652557] xhci_hcd 0000:00:14.0: ERROR unknown event type 37
[ 4373.712382] xhci_hcd 0000:00:14.0: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 1 comp_code 36
[ 4373.715714] xhci_hcd 0000:00:14.0: Looking for event-dma 0000000745da7f00 trb-start 0000000745da7f10 trb-end 0000000745da7f10 seg-start 0000000745da7000 seg-end 0000000745da7ff0
[ 4373.719055] xhci_hcd 0000:00:14.0: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 1 comp_code 1
[ 4373.722381] xhci_hcd 0000:00:14.0: Looking for event-dma 0000000745da7f00 trb-start 0000000745da7f10 trb-end 0000000745da7f10 seg-start 0000000745da7000 seg-end 0000000745da7ff0
[ 4373.725753] xhci_hcd 0000:00:14.0: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 4 comp_code 13
[ 4373.725759] xhci_hcd 0000:00:14.0: Looking for event-dma 000000073c5a51a0 trb-start 000000073c5a51b0 trb-end 000000073c5a51b0 seg-start 000000073c5a5000 seg-end 000000073c5a5ff0
I stumbled across this bug: https://bugs.launchpad.net/ubuntu/+source/linux-rt/+bug/367671
Im not sure if that bug relates to this one, but after disabling realtime scheduling, pulseaudio does not crash anymore.
However, the lag when starting the VM got significantly worse, the system is pretty much unusable the first ~20-30 seconds.
After switching from SeaBios to OVMF the issue seems to be gone, indicating a problem with the former.
Looking through old bug tickets... can you still reproduce this issue with the latest version of QEMU? Or could we close this ticket nowadays?
[Expired for QEMU because there has been no activity for 60 days.]
|