Open DHowett opened 1 year ago
Screenshot using Win10 and latest WinDev2308Eval vm:
Hey @elsaco since you can get a live repro - can you grab a debug tap trace? That should include the actual key that's causing this in red text.
PS␣C:\Users\Jon>␣␛[9;15;9;0;0;1_␛[16;42;0;0;0;1_␛[16;54;0;0;256;1_␛[17;29;0;0;0;1_␛[17;29;0;0;256;1_␛[9;15;9;0;0;1_␛[18;56;0;0;0;1_␛[9;15;9;0;0;1_␛[18;56;0;0;0;1_␛[9;15;9;0;0;1_␛[9;15;9;0;0;1_␛[16;42;0;0;0;1_␛[16;54;0;0;256;1_␛[17;29;0;0;0;1_␛[17;29;0;0;256;1_␛[9;15;9;0;0;1_␛[18;56;0;0;0;1_␛[9;15;9;0;0;1_␛[18;56;0;0;0;1_␛[9;15;9;0;0;1_␛[37m;␛[93m1_␛[m␛[9;15;9;0;0;1_␛[16;42;0;0;0;1_␛[16;54;0;0;256;1_␛[17;29;0;0;0;1_␛[17;29;0;0;256;1_␛[9;15;9;0;0;1_␛[18;56;0;0;0;1_␛[9;15;9;0;0;1_␛[18;56;0;0;0;1_␛[9;15;9;0;0;1_␛[44;55;0;0;256;1_␛[9;15;9;0;0;1_␛[16;42;0;0;0;1_␛[16;54;0;0;256;1_␛[17;29;0;0;0;1_␛[17;29;0;0;256;1_␛[9;15;9;0;0;1_␛[18;56;0;0;0;1_␛[9;15;9;0;0;1_␛[18;56;0;0;0;1_␛[9;15;9;0;0;1_␛[9;15;9;0;0;1_␛[16;42;0;0;0;1_␛[16;54;0;0;256;1_␛[17;29;0;0;0;1_␛[17;29;0;0;256;1_␛[9;15;9;0;0;1_␛[18;56;0;0;0;1_␛[9;15;9;0;0;1_␛[18;56;0;0;0;1_␛[9;15;9;0;0;1_␛[O
In the above everything is red, except PS␣C:\Users\Jon>
and ␛[37m;␛[93m1_␛[m
is white.
everything before the ;1_
Vk |
Sc |
Uc |
Kd |
Cs |
---|---|---|---|---|
VK_TAB | 15 | 9 | up | 0 |
VK_SHIFT | 42 | 0 | up | 0 |
VK_SHIFT | 54 | 0 | up | 256 |
VK_CONTROL | 29 | 0 | up | 0 |
VK_CONTROL | 29 | 0 | up | 256 |
VK_TAB | 15 | 9 | up | 0 |
VK_MENU | 56 | 0 | up | 0 |
VK_TAB | 15 | 9 | up | 0 |
VK_MENU | 56 | 0 | up | 0 |
VK_TAB | 15 | 9 | up | 0 |
VK_TAB | 15 | 9 | up | 0 |
VK_SHIFT | 42 | 0 | up | 0 |
VK_SHIFT | 54 | 0 | up | 256 |
VK_CONTROL | 29 | 0 | up | 0 |
VK_CONTROL | 29 | 0 | up | 256 |
VK_TAB | 15 | 9 | up | 0 |
VK_MENU | 56 | 0 | up | 0 |
VK_TAB | 15 | 9 | up | 0 |
VK_MENU | 56 | 0 | up | 0 |
VK_TAB | 15 | 9 | up | 0 |
I'm trying to find the thread I'm thinking of
It might not be that exactly. Looks like this was a super long input sequence that got chopped at some point, and then conpty only got a part of a sequence. Interesting to me that ;1_
was all that got printed. Does that mean conpty read the preceeding ␛[9;15;9;0;0
, got to the end of the input , then just ignored the sequence? Maybe. I'd have to cache that back in.
There's some other silly things we might be able to do to mitigate this:
VtInputThread::DoReadInput
is 256 char
s. It looks to me like there was about 317 that got written before the input sequence got chopped.WriteFile
on the Terminal side?As @DHowett observed in chat:
There is a ;1_
that lines up exactly with the 255 boundary. I should have been looking that way, not at the length before it was echoed to the screen.
This has been happening for quite a while, and I bet there's a pretty simple explanation.
It might happen when you activate the Hyper-V
vmconnect
window.Admittedly, I can't reproduce it on the Windows Evaluation VM with 1.17 to grab a screenshot, but it has happened to me enough times that I know it's lurking in there.