summary refs log tree commit diff stats
path: root/results/classifier/zero-shot/118/none/1603734
blob: b9c83e72e96897358bb47c607a546033f73170d8 (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
graphic: 0.678
performance: 0.581
architecture: 0.460
device: 0.369
semantic: 0.364
x86: 0.207
network: 0.197
mistranslation: 0.183
vnc: 0.179
debug: 0.179
socket: 0.178
ppc: 0.164
PID: 0.134
hypervisor: 0.132
files: 0.124
permissions: 0.122
boot: 0.122
user-level: 0.118
arm: 0.103
kernel: 0.095
register: 0.095
i386: 0.092
risc-v: 0.090
virtual: 0.074
VMM: 0.072
TCG: 0.061
peripherals: 0.053
KVM: 0.051
assembly: 0.022

Hang in fsqrt

At least qemu-i368 and qemu-x86_64 hang in floatx80_sqrt in versions 2.6.0 and git (2.6.50) for some input values, likely due to an infinite loop at fpu/softfloat.c:6569.

Steps to reproduce:
1) Compile attached code: gcc -o test test.c -lm
2) `qemu-i368 test` and `qemu-x86_64 test` will hang at 100% cpu



Thanks for this bug report. The problem here is that QEMU is not correctly handling the obsolete "unnormal" 80-bit floating point format. The Intel architecture reference says that this should be handled by raising the invalid-input exception and returning the default NaN.

See also the discussion in the mailing list thread "Hang bug in 80-bit float square root implementation", though the patch there is not the correct fix for the bug.


Bug fixed showed by https://github.com/unicorn-engine/unicorn/pull/609
and the test case shows no problem on the most recent release.