summary refs log tree commit diff stats
path: root/results/classifier/accel-gemma3:12b/kvm/1816052
blob: b37e4d61135a1eeb831851613cf46190520aa4cf (plain) (blame)
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
qemu system emulator fails to start if no sound card is present on host

A plain build from git master at 81dbcfa9e1d8bab3f7c4cc923c0b40cd666f374f on Fedora 29 x86_64 host, with no options passed to configure.

Trying to launch QEMU on a  host with no audio card present:

# ls /dev/snd/
seq  timer

It will fail to initialize alsa and abort startup:

# qemu-system-x86_64 -cdrom Fedora-Workstation-Live-x86_64-29-1.2.iso  -m 4000 -vnc 0.0.0.0:1 
ALSA lib confmisc.c:767:(parse_card) cannot find card '0'
ALSA lib conf.c:4555:(_snd_config_evaluate) function snd_func_card_driver returned error: No such file or directory
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:4555:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1246:(snd_func_refer) error evaluating name
ALSA lib conf.c:4555:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5034:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM default
alsa: Could not initialize DAC
alsa: Failed to open `default':
alsa: Reason: No such file or directory
ALSA lib confmisc.c:767:(parse_card) cannot find card '0'
ALSA lib conf.c:4555:(_snd_config_evaluate) function snd_func_card_driver returned error: No such file or directory
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:4555:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1246:(snd_func_refer) error evaluating name
ALSA lib conf.c:4555:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5034:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM default
alsa: Could not initialize DAC
alsa: Failed to open `default':
alsa: Reason: No such file or directory
init fail
audio: Failed to create voice `pcspk'
qemu-system-x86_64: Initialization of device isa-pcspk failed: Initializing audio voice failed


git bisect blames this change:


  commit 6a48541873f14b597630283f8f5397674ad82ea9 (HEAD, refs/bisect/bad)
  Author: Gerd Hoffmann <email address hidden>
  Date:   Thu Jan 24 12:20:55 2019 +0100

    audio: probe audio drivers by default
    
    Add the drivers listed in audio_possible_drivers to audio_drv_list,
    using the try-* variants.  That way the probable drivers are compiled by
    default if possible.
    
    Additioal tweaks:
      linux: reorder to: pa alsa sdl oss.
      *bsd: drop pa.
    
    Signed-off-by: Gerd Hoffmann <email address hidden>
    Message-id: <email address hidden>


This changed our probe order:

   Linux)
  -  audio_drv_list="oss"
  +  audio_drv_list="try-pa try-alsa try-sdl oss"

After some debugging I can see that 'audio_init' successfully initializes the alsa driver.

When the pcspk devices goes to AUD_open_out though, the alsa driver fails spewing the above text to stderr and thus causes QEMU to fail.

This looks very much like the ALSA driver in QEMU is broken - audio_init() should not have succeeded unless the ALSA driver knew it could later succesfully honour AUD_open_out.