graphic: 0.699 virtual: 0.655 device: 0.587 semantic: 0.504 debug: 0.504 performance: 0.502 kernel: 0.475 vnc: 0.475 peripherals: 0.456 ppc: 0.414 register: 0.414 socket: 0.412 permissions: 0.386 TCG: 0.366 arm: 0.356 risc-v: 0.348 hypervisor: 0.340 mistranslation: 0.326 VMM: 0.320 network: 0.318 PID: 0.315 user-level: 0.309 KVM: 0.286 x86: 0.271 architecture: 0.270 i386: 0.268 boot: 0.234 files: 0.229 assembly: 0.112 Strange stdin/out <-> console issue (paste problem) . May be char-win-stdio.c bug. Description of problem: I was trying to execute QEMU with VM from command line(shell) and work inside a VM within that initial console. All goes well except... pasting from clipboard. Pastings from clipboard are truncated to somewhat less (no more) then a terminal width (in columns). I understand that it seems to be far from QEMU but I tried different terminals/shells/guest systems with the same result. The only things remain the same - QEMU. Steps to reproduce: In Windows open a console (shell). Run QEMU with guest serial attached to QEMU stdio. Try to paste some text. Pasted text will be truncated to 15-35 characters. Before QEMU run and after QEMU exit text pasted normally. Additional information: - Shell probed: **cmd**, **powershell** - Terminals probed: **Windows Terminal**, **Alacritty**, **Wezterm**, **Windows Terminal Preview** - Guest probed: **Alpine Linux**, **FreeBSD** - Setting inside guest probed: various terminal speed/options via **stty** - QEMU arguments probed: from **-nographics** to manually define **-chardev/-serial** with/without **-mon**. Finally I gave up. But want to mention that there are may be bug in source. When I tried to study source to find a hint for my issue I found that (char-win-stdio.c, line 162): ``` is_console = GetConsoleMode(stdio->hStdIn, &dwMode) != 0; stdio->dwOldMode = dwMode; if (is_console) { ``` Documentation of **GetConsoleMode** function says: ``` Return value: If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. ``` If understand correctly **is_console** will always be _true_. It will be _false_ only in case of invalid **stdio->hStdIn**. I don't how this is related to my issue just put here all info I have in hope of resolving.