summary refs log tree commit diff stats
path: root/results/classifier/zero-shot/105/graphic/1557
blob: 3ea09df020cf7e9afb5c567db7b9903cf1970e01 (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
graphic: 0.759
device: 0.747
instruction: 0.674
semantic: 0.447
network: 0.372
vnc: 0.256
socket: 0.213
mistranslation: 0.139
boot: 0.132
other: 0.057
KVM: 0.037
assembly: 0.029

qemu-binfmt-conf.sh handles errors inconsistently
Description of problem:
We are installing qemu via multiarch/qemu-user-static docker image. https://github.com/multiarch/qemu-user-static

What we have noticed is that because qemu-binfmt-conf.sh does not use `set -e`, its behavior with regards to failures is inconsistent. In short, registering the same thing into binfmt twice is an error (you get EEXIST). However, the exit code of qemu-binfmt-conf.sh itself seems to depend only on whether the last interpreter succeeded, leading to confusing and inconsistent results.
Steps to reproduce:
1. Register only qemu-arm-static interpreter with binfmt.
2. Run qemu-binfmt-conf.sh. Observe that the exit code is zero, and logs show the duplicate interpreter was rejected.
3. Remove all qemu interpreters.
3. Register only qemu-loongarch64-static interpreter (currently last in qemu_target_list) with binfmt.
3. Run qemu-binfmt-conf.sh. Observe that the exit code is non-zero, and logs show the duplicate interpreter was rejected.