diff options
Diffstat (limited to 'gitlab/issues/target_missing/host_missing/accel_missing/2570.toml')
| -rw-r--r-- | gitlab/issues/target_missing/host_missing/accel_missing/2570.toml | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/gitlab/issues/target_missing/host_missing/accel_missing/2570.toml b/gitlab/issues/target_missing/host_missing/accel_missing/2570.toml deleted file mode 100644 index 729ae83f..00000000 --- a/gitlab/issues/target_missing/host_missing/accel_missing/2570.toml +++ /dev/null @@ -1,63 +0,0 @@ -id = 2570 -title = "TCG Plugins: \"Code should not be reached\" error after resetting plugin from vcpu_tb_trans callback" -state = "closed" -created_at = "2024-09-12T17:25:03.191Z" -closed_at = "2024-10-28T14:17:40.288Z" -labels = ["TCG plugins"] -url = "https://gitlab.com/qemu-project/qemu/-/issues/2570" -host-os = "Ubuntu 22.04" -host-arch = "x86_64" -qemu-version = "QEMU emulator version 9.1.50 (v9.1.0-210-g4b7ea33074)" -guest-os = "Ubuntu 18.04" -guest-arch = "x86_64" -description = """In a TCG plugin, using the `qemu_plugin_reset` method from within a `vcpu_tb_trans` callback produces the following error. If this isn't a supported use case, it should probably be described in the documentation. If this is supposed to work, it doesn't seem to. - -``` -** -ERROR:/home/user/git/qemu/tcg/i386/tcg-target.c.inc:3018:tcg_out_op: code should not be reached -Bail out! ERROR:/home/user/git/qemu/tcg/i386/tcg-target.c.inc:3018:tcg_out_op: code should not be reached -Aborted (core dumped) -```""" -reproduce = """1. Build the current head of master (4b7ea33074450bc6148c8e1545d78f179e64adb4) with the below `min` plugin (i.e., add to contrib/plugins and update contrib/plugins/Makefile so it is built) -2. `../configure --enable-plugins --target-list=x86_64-softmmu --disable-docs` -3. `make && make plugins` -4. Get a qcow, e.g., the Ubuntu Bionic qcow from [here](https://panda.re/qcows/linux/ubuntu/1804/x86_64/bionic-server-cloudimg-amd64-noaslr-nokaslr.qcow2). -5. `./qemu-system-x86_64 -plugin contrib/plugins/libmin.so bionic-server-cloudimg-amd64-noaslr-nokaslr.qcow2 -nographic` - -The first three lines are output by the plugin as expected, the error after that and the abort are unexpected: -``` -Translating basic block -Reset request issued -Reset finished -** -ERROR:/home/user/git/qemu/tcg/i386/tcg-target.c.inc:3018:tcg_out_op: code should not be reached -Bail out! ERROR:/home/user/git/qemu/tcg/i386/tcg-target.c.inc:3018:tcg_out_op: code should not be reached -Aborted (core dumped) -```""" -additional = """contrib/plugins/min.c -```c -#include <stdio.h> -#include <qemu-plugin.h> - -QEMU_PLUGIN_EXPORT int qemu_plugin_version = QEMU_PLUGIN_VERSION; - -qemu_plugin_id_t plugin_id = {0}; - -static void post_reset(qemu_plugin_id_t id) { - printf("Reset finished\\n"); -} - -static void vcpu_tb_trans(qemu_plugin_id_t id, struct qemu_plugin_tb *tb) { - printf("Translating basic block\\n"); - qemu_plugin_reset(plugin_id, post_reset); - printf("Reset request issued\\n"); -} - -QEMU_PLUGIN_EXPORT int qemu_plugin_install(qemu_plugin_id_t id, - const qemu_info_t *info, int argc, char **argv) { - - qemu_plugin_register_vcpu_tb_trans_cb(id, vcpu_tb_trans); - plugin_id = id; - return 0; -} -```""" |