summary refs log tree commit diff stats
path: root/results/classifier/accel-gemma3:12b/kvm/2915
blob: 0839a4e85fbe971e32d690ec81861494bee455b3 (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
qemu: error reading initrd /home/build/pooldir/w.linux.initramfs
Description of problem:
occasionally, qemu can't open the initrd file it's been supplied on the command line (I'm guessing this is qemu and not libvirt)

```
sudo virsh --connect qemu:///system start w.east --console
error: Failed to start domain 'w.east'\r\nerror: internal error: QEMU unexpectedly closed the monitor (vm='w.east'): qemu: error reading initrd /home/build/pooldir/w.linux-transmogrify.initramfs: Failed to open file \xe2\x80\x9c/home/build/pooldir/w.linux-transmogrify.initramfs\xe2\x80\x9d: open() failed: Permission denied\r\n\r\n"
```
Steps to reproduce:
1. create, using libvirt, a config that direct boots from initrd and kernel
it creates a domain call linux, and from that creates {w.,w1,w2,w3}{east,west,north,road}
1. boots and then destroys these domains 1000's of times
2. occasionally above error occurs while trying to boot the domain
Additional information:
I suspect it is this:
```
        mapped_file = g_mapped_file_new(initrd_filename, false, &gerr);
        if (!mapped_file) {
            fprintf(stderr, "qemu: error reading initrd %s: %s\n",
                    initrd_filename, gerr->message);
            exit(1);
        }
        x86ms->initrd_mapped_file = mapped_file;
```
in `hw/i386/x86-common.c`.  Which would suggest `g_mapped_file_new()` occasionally fails, which is worrying.

The test framework is [Libreswan](https://testing.libreswan.org/), unresolved test results indicate a failed boot, for instance [debug log of failure](https://testing.libreswan.org/v5.2-370-ga09c7f410b/interop-ikev2-strongswan-20-strongswan-eap/OUTPUT/debug.log).

The problem didn't happen with f40.