id = 1302 title = "Per-thread logging flag must be made immutable" state = "closed" created_at = "2022-11-07T12:30:06.554Z" closed_at = "2022-11-08T16:37:08.335Z" labels = ["kind::Bug"] url = "https://gitlab.com/qemu-project/qemu/-/issues/1302" host-os = "Fedora 35" host-arch = "x86" qemu-version = "QEMU emulator version 7.1.50 (v7.1.0-1678-g466e81ff1201)" guest-os = "n/a" guest-arch = "n/a" description = """The problem is that the code assumes it isn't possible to switch from global logging to per-thread logging and vice-versa per design, but it lags appropriate checks to enforce it. Enabling or disabling per-thread logging at runtime from the monitor causes unexpected results.""" reproduce = """Enabling per-thread logging at runtime: 1. Start QEMU : `./qemu-system-x86_64 -S -monitor stdio -D qemu.log.%d` 2. Enable per-thread logging from the HMP monitor : `(qemu) log tid` 3. Fails with `Filename template with '%d' required for 'tid'` even though such a template was passed with `-D`. Disabling per-thread logging at runtime: 1. Start QEMU : `./qemu-system-x86_64 -S -monitor stdio -D qemu.log.%d -d tid,cpu_reset` 2. Disable per-thread logging from the HMP monitor: `(qemu) log cpu_reset` 3. QEMU creates a log file with a bogus `qemu.log.%d` name.""" additional = """[Series](https://patchew.org/QEMU/20221104120059.678470-1-groug@kaod.org/) posted and already reviewed by @rth7680 ."""