Skip to content

Crashing PANDA for 64-bit Windows guests when using -icount #1506

Open

Description

When running PANDA using the -icount option, with any shift value whatsoever, I get the emulator eventually terminating with the message "Raised interrupt while not in I/O function" while working with 64-bit Windows images (Windows 7 and 10). This behavior does not arise with the version of QEMU that I have on hand (version 4.2.1).

I tracked this down to the following in translate-common.c, beginning at line 48 [1].

        if (!cpu->can_do_io
            && (mask & ~old_mask) != 0) {
            cpu_abort(cpu, "Raised interrupt while not in I/O function");
        }

Rather than go to the trouble of modifying PANDA's source and rebuilding on an isolated machine, I just found the code in libpanda-x86_64.so corresponding to the offending lines and nopped it out. The patched result runs reliably so far.

[1]

if (!cpu->can_do_io

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions