xpra icon
Bug tracker and wiki

Opened 2 weeks ago

Last modified 13 days ago

#2890 reopened defect

All keyboard FUBAR until Plink dialog was closed by mouse

Reported by: stdedos Owned by: stdedos
Priority: trivial Milestone: 4.1
Component: client Version: 4.0.x
Keywords: Cc:

Description

"Xpra-Python3-x86_64_4.1-r27519\xpra_cmd" attach ssh://user@ip/3 --ssh="plink -ssh -agent" --modal-windows=no --title="@title@ on @@/@server-display@" --headerbar=off --opengl=no --bandwidth-limit=6Mbps

2020-10-05 14:33:20,283 Xpra GTK3 client version 4.1-r27519 64-bit
2020-10-05 14:33:20,288  running on Microsoft Windows 10
2020-10-05 14:33:21,229 GStreamer version 1.18.0 for Python 3.8.5 64-bit
2020-10-05 14:33:21,536 created named pipe '\\.\pipe\Xpra\20384'
2020-10-05 14:33:21,775 keyboard layout code 0x409
2020-10-05 14:33:21,776 identified as 'United States - English' : us
2020-10-05 14:33:21,996  keyboard settings: layout=us
2020-10-05 14:33:22,000  desktop size is 4160x1440 with 1 screen:
2020-10-05 14:33:22,002   Default (1100x381 mm - DPI: 96x96) workarea: 4160x1400
2020-10-05 14:33:22,002     Generic PnP Monitor 1600x900 at 0x534 (309x174 mm - DPI: 131x131) workarea: 1600x860 at 0x534
2020-10-05 14:33:22,002     C32JG5x 2560x1440 at 1600x0 (697x392 mm - DPI: 93x93) workarea: 2560x1400 at 1600x0
Exception ignored on calling ctypes callback function: <function ClientExtras.init_keyboard_listener.<locals>.low_level_keyboard_handler at 0x00000000087b1040>
Traceback (most recent call last):
  File "E:\Xpra\trunk\src/xpra/platform/win32/gui.py", line 1101, in low_level_keyboard_handler
ctypes.ArgumentError: argument 1: <class 'OverflowError'>: int too long to convert

Seen only once. It is very random that this would happen, as I have used that client for a while. It was very weird, since it seemed to affect also some keyboard input not directed at the window, but on its parent (terminal) too.

Canceling plink window by mouse was the only solution. Re-running did not exhibit the issue.

Attachments (1)

cmd_2020-10-06_13-17-16.png (56.0 KB) - added by stdedos 2 weeks ago.

Download all attachments as: .zip

Change History (7)

comment:1 Changed 2 weeks ago by Antoine Martin

Owner: changed from Antoine Martin to stdedos

The OverflowError looks similar to the ones from #2857 and #2876. (also r19925, and more)

This particular bit of code was added in r12226 (5 years ago!) for intercepting the windows key before mswindows does something with it.
It is only meant to intercept keyboard events when one of our forwarded windows is in focus and plink is not one of them so it shouldn't interfere.. But the overflow error may just cause the whole thing to fail.
You can disable this feature with XPRA_FORWARD_WINDOWS_KEY=0.

But I am hoping that r27599 + r27601 will just fix the bug instead. (new builds are available)

comment:2 in reply to:  1 Changed 2 weeks ago by stdedos

Replying to Antoine Martin:

But I am hoping that r27599 + r27601 will just fix the bug instead. (new builds are available)

As I said, I randomly stumbled on the bug once, so I don't expect I'll be able to hit (and miss) it again.
I'll install the client and report if I somehow hit it again.

comment:3 Changed 2 weeks ago by Antoine Martin

Resolution: fixed
Status: newclosed

OK, let's close this for now and re-open if needed.

Changed 2 weeks ago by stdedos

Attachment: cmd_2020-10-06_13-17-16.png added

comment:4 Changed 2 weeks ago by stdedos

Resolution: fixed
Status: closedreopened

Or let's re-open now :-p Xpra-Python3-x86_64_4.1-r27614


I think maybe "typing too quickly" helps trigger it (anticipate the password login instead of waiting it to show and then type)

Last edited 2 weeks ago by stdedos (previous) (diff)

comment:5 Changed 2 weeks ago by Antoine Martin

Damn.
Maybe r27616 will fix it?
If not, then please run r27616 or later with -d keyboard, we should then be able to see the values that actually cause the overflow.
Could just be a 64-bit number sign extension gone wrong.

comment:6 in reply to:  5 Changed 13 days ago by stdedos

Replying to Antoine Martin:

Damn.
Maybe r27616 will fix it?
If not, then please run r27616 or later with -d keyboard, we should then be able to see the values that actually cause the overflow.
Could just be a 64-bit number sign extension gone wrong.

Just added r27616, and I did not see it after a couple of (re)connects.
Let's close this in a week or so, to see whether it will manifest itself.

Note: See TracTickets for help on using tickets.