blob: 7c147c9aed8ffb4239dd438ef5ac1290cabbd9ba (
plain) (
blame)
1
2
3
4
5
6
7
8
9
|
The bug report describes a situation where `qemu` hangs due to calling `malloc` after `fork` in a multi-threaded process on a `musl`-based system. This is identified as undefined behavior because, according to POSIX standards, only async-signal-safe functions should be called in the child process immediately after `fork`. The issue arises from concurrent modifications to the malloc state by multiple threads during `fork`, which corrupts memory management.
The problem lies in the interaction between threading (`pthread_atfork` handlers) and memory allocation (`malloc`) during a `fork` operation, which is inherently not async-signal-safe. This is a runtime error because it occurs dynamically during execution rather than being a direct instruction or syscall misuse.
**Answer: runtime**
The bug report discusses an issue that occurs during the execution of the program, specifically related to how memory management and threading interact after a fork operation. It does not point to a specific faulty instruction but rather describes a general runtime behavior that leads to undefined behavior according to POSIX standards. Therefore, it falls under the "runtime" category.
Answer: **runtime**
|