summary refs log tree commit diff stats
path: root/gitlab/issues/target_missing/host_missing/accel_missing/2515.toml
diff options
context:
space:
mode:
authorChristian Krinitsin <mail@krinitsin.com>2025-05-21 21:21:26 +0200
committerChristian Krinitsin <mail@krinitsin.com>2025-05-21 21:21:26 +0200
commit4b927bc37359dec23f67d3427fc982945f24f404 (patch)
tree245449ef9146942dc7fffd0235b48b7e70a00bf2 /gitlab/issues/target_missing/host_missing/accel_missing/2515.toml
parentaa8bd79cec7bf6790ddb01d156c2ef2201abbaab (diff)
downloademulator-bug-study-4b927bc37359dec23f67d3427fc982945f24f404.tar.gz
emulator-bug-study-4b927bc37359dec23f67d3427fc982945f24f404.zip
add gitlab issues in toml format
Diffstat (limited to 'gitlab/issues/target_missing/host_missing/accel_missing/2515.toml')
-rw-r--r--gitlab/issues/target_missing/host_missing/accel_missing/2515.toml54
1 files changed, 54 insertions, 0 deletions
diff --git a/gitlab/issues/target_missing/host_missing/accel_missing/2515.toml b/gitlab/issues/target_missing/host_missing/accel_missing/2515.toml
new file mode 100644
index 00000000..d5d1165e
--- /dev/null
+++ b/gitlab/issues/target_missing/host_missing/accel_missing/2515.toml
@@ -0,0 +1,54 @@
+id = 2515
+title = "qemu -daemonize crashes on macOS with \"NSPlaceholderDate initialize may have been in progress in another thread\""
+state = "opened"
+created_at = "2024-08-18T21:37:41.097Z"
+closed_at = "n/a"
+labels = ["hostos: macOS", "workflow::Confirmed"]
+url = "https://gitlab.com/qemu-project/qemu/-/issues/2515"
+host-os = "macOS"
+host-arch = "arm64 (\"Apple Silicon\"), Apple M3 chip"
+qemu-version = "9.0.2 (latest version, as installed with HomeBrew)"
+guest-os = "Ubuntu (riscv64, s390x), Debian (ppc64)"
+guest-arch = "riscv64, s390x, ppc64"
+description = """Context: I build [an open source project](https://tsduck.io/) on several operating systems and architectures. For riscv64, s390x, ppc64, I build in emulated virtual machines. The three emulated OS work correctly when running qemu manually and the project is correctly built.
+
+Now, I want to automate the process in a script: for each target architecture, boot the VM (start qemu as a background process), connect to the VM using ssh, build the software, collect the binaries, shut down the VM.
+
+Starting the same qemu command as used interactively as a background process with `&` does not work and fails immediately, apparently because of the lack of stdin. So, I added option `-daemonize` (and removed `-nographic` because an error message says the two options are incompatible).
+
+Using `-daemonize` instead of `-nographic`, all qemu command immediately fail with the following error:
+
+```
+objc[1141]: +[__NSPlaceholderDate initialize] may have been in progress in another thread when fork() was called.
+objc[1141]: +[__NSPlaceholderDate initialize] may have been in progress in another thread when fork() was called. We cannot safely call it or ignore it in the fork() child process. Crashing instead. Set a breakpoint on objc_initializeAfterForkError to debug.
+```"""
+reproduce = """```
+$ qemu-system-riscv64 -machine virt -smp 8 -m 8192 -daemonize \\
+      -bios fw_jump.bin -kernel u-boot.bin \\
+      -device virtio-net-device,netdev=net \\
+      -netdev user,id=net,hostfwd=tcp::2233-:22 \\
+      -drive file=disk.qcow2,format=qcow2,if=virtio  -device virtio-rng-pci
+objc[1141]: +[__NSPlaceholderDate initialize] may have been in progress in another thread when fork() was called.
+objc[1141]: +[__NSPlaceholderDate initialize] may have been in progress in another thread when fork() was called. We cannot safely call it or ignore it in the fork() child process. Crashing instead. Set a breakpoint on objc_initializeAfterForkError to debug.
+
+
+$ qemu-system-s390x -machine s390-ccw-virtio -cpu max,zpci=on -smp 8 -m 8192 -daemonize \\
+      -drive file=disk.qcow2,format=qcow2,if=none,id=drive-virtio-disk0,cache=none \\
+      -device virtio-blk-ccw,devno=fe.0.0002,drive=drive-virtio-disk0,bootindex=1 \\
+      -nic user,hostfwd=tcp::2288-:22 
+objc[1209]: +[__NSPlaceholderDate initialize] may have been in progress in another thread when fork() was called.
+objc[1209]: +[__NSPlaceholderDate initialize] may have been in progress in another thread when fork() was called. We cannot safely call it or ignore it in the fork() child process. Crashing instead. Set a breakpoint on objc_initializeAfterForkError to debug.
+
+
+$ qemu-system-ppc64 -smp 8 -m 8192 -daemonize \\
+      -drive file=disk.qcow2,format=qcow2 -nic user,hostfwd=tcp::2299-:22
+qemu-system-ppc64: warning: TCG doesn't support requested feature, cap-cfpc=workaround
+qemu-system-ppc64: warning: TCG doesn't support requested feature, cap-sbbc=workaround
+qemu-system-ppc64: warning: TCG doesn't support requested feature, cap-ibs=workaround
+qemu-system-ppc64: warning: TCG doesn't support requested feature, cap-ccf-assist=on
+objc[1166]: +[__NSPlaceholderDate initialize] may have been in progress in another thread when fork() was called.
+objc[1166]: +[__NSPlaceholderDate initialize] may have been in progress in another thread when fork() was called. We cannot safely call it or ignore it in the fork() child process. Crashing instead. Set a breakpoint on objc_initializeAfterForkError to debug.
+```
+
+All the above commands work correctly when using  `-nographic` instead of `-daemonize`. The virtual disks are the same as in the interactive runs, with a fully configured Linux OS (Ubuntu or Debian)."""
+additional = """From a [report from here](https://stackoverflow.com/questions/63041445/python-os-high-sierra-nsplaceholderdate-error), I tried to define the environment variable `OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES` before running qemu. The `[__NSPlaceholderDate initialize]` errors disappear but qemu still crashes immediately."""