[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug 1920602] Re: QEMU crash after a QuickBASIC program integer overflow
From: |
Philippe Mathieu-Daudé |
Subject: |
[Bug 1920602] Re: QEMU crash after a QuickBASIC program integer overflow |
Date: |
Mon, 10 May 2021 05:34:58 -0000 |
FErr# IRQ raise since bf13bfab084 ("i386: implement IGNNE"):
Change the handling of port F0h writes and FPU exceptions to implement IGNNE.
The implementation mixes a bit what the chipset and processor do in real
hardware, but the effect is the same as what happens with actual FERR#
and IGNNE# pins: writing to port F0h asserts IGNNE# in addition to lowering
FP_IRQ; while clearing the SE bit in the FPU status word deasserts IGNNE#.
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1920602
Title:
QEMU crash after a QuickBASIC program integer overflow
Status in QEMU:
Confirmed
Bug description:
A trivial program compiled with QuickBASIC 4.5 with integer overflow
will crash QEMU when ran under MS-DOS 5.0 or FreeDOS 1.2:
C:\KILLER>type killer.bas
A% = VAL("99999"):PRINT A%
C:\KILLER>killer.exe
**
ERROR:../qemu-5.2.0/accel/tcg/tcg-cpus.c:541:tcg_handle_interrupt:
assertion failed: (qemu_mutex_iothread_locked())
Aborted
QEMU version v5.2, compiler for ARM, and started with command line:
qemu-system-i386 -curses -cpu 486 -m 1 -drive dos.img
The same test under Ubuntu QEMU and KVM/x86_64 (QEMU emulator version
4.2.1 (Debian 1:4.2-3ubuntu6.14)) will just silently hang the QEMU. On
DOSBOX, the machine does not die and program outputs the value -31073.
The EXE to reproduce the issue is attached.
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1920602/+subscriptions