blob: 17c6345b221f922f8cf9b789d35097db178c28f6 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<think>
Okay, so I'm trying to figure out what category this bug falls into. The user reported that after upgrading QEMU from version 2.10.1 to 2.11.1 on their Gentoo host, they started encountering a segfault in qemu-arm when running Python and importing the portage module within a uclibc-ng chroot. They mentioned that other ARM chroots using glibc or musl don't have this issue, which is interesting.
They also provided a backtrace from GDB showing where the segfault occurs. The trace indicates it's happening in `cpu_tb_exec` at `cpu-exec.c:167`. From what I know, QEMU uses TCG (Translation Cornucopia) for dynamic translation of guest code into host code. So any issues here could be related to how QEMU handles instruction execution or memory management.
The user did some bisecting and found that a specific commit introduced the problem. They reverted a change related to `MAX_RESERVED_VA` from 0x77000000 to a different value, which fixed the issue for them. I'm not entirely sure what `MAX_RESERVED_VA` does, but it sounds like it's related to memory reservation or address space management in QEMU.
Looking at the possible categories: instruction, syscall, runtime. The bug seems to be happening during runtime because it occurs while executing code (specifically Python importing a module). It's not a faulty instruction per se, nor is it directly related to a system call. Instead, it's an issue that arises when QEMU is running and handling the guest's execution.
So, considering all this, I think the category should be 'runtime'.
</think>
The bug occurs during runtime when executing code in the uclibc-ng chroot, specifically within QEMU's TCG subsystem, leading to a segfault. This isn't an issue with an instruction or syscall but rather how QEMU handles execution.
**Answer:** runtime
|