Hi,
Client: Windows 7, v4.0-r25796 Server: RHEL 7.7, v3.0.5-r24939
Client xpra.conf
as in #2638
Build instructions for Motif gvim are in #2673
Copying the following text (550 characters) in Windows and pasting it in Motif gvim causes the client to crash. After the crash, it's possible to re-launch the client and reconnect to the server; the session is still alive (but the paste has failed).
12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890
Also, a couple of the times I hit this, the lines I pasted were pasted into an xterm window instead! Fortunately they didn't contain any destructive shell commands...
Things that work as expected:
Client log:
2020-03-31 23:54:07,282 unknown string message: 0xc15f / 0x52 / 0x85f 2020-03-31 23:54:07,283 unknown string message: 0xc15f / 0x50 / 0x0 2020-03-31 23:54:09,602 Error: error in network packet write/format 2020-03-31 23:54:09,602 a bytes-like object is required, not 'str' Traceback (most recent call last): File "E:\Xpra\trunk\src/xpra/net/protocol.py", line 371, in _write_format_thread_loop File "E:\Xpra\trunk\src/xpra/net/protocol.py", line 386, in _add_packet_to_queue File "E:\Xpra\trunk\src/xpra/net/protocol.py", line 558, in encode File "E:\Xpra\trunk\src/xpra/client/mixins/clipboard.py", line 285, in compress_clipboard File "E:\Xpra\trunk\src/xpra/client/client_base.py", line 452, in compressed_wrapper File "E:\Xpra\trunk\src/xpra/net/compression.py", line 254, in compressed_wrapper File "E:\Xpra\trunk\src/xpra/net/compression.py", line 40, in lz4_block_compress TypeError: a bytes-like object is required, not 'str' 2020-03-31 23:54:10,317 UI thread is now blocked 2020-03-31 23:54:10,483 UI thread is running again, resuming 2020-03-31 23:54:10,483 Connection lost
Server log:
2020-03-31 23:54:07,466 client 4 @08.842 unknown string message: 0xc15f / 0x52 / 0x85f 2020-03-31 23:54:07,467 client 4 @08.843 unknown string message: 0xc15f / 0x50 / 0x0 2020-03-31 23:54:11,283 Warning: remote clipboard request timed out 2020-03-31 23:54:11,283 request id 34, selection=PRIMARY, target=TEXT 2020-03-31 23:54:11,301 xpra client 4 disconnected. 2020-03-31 23:54:12,787 Warning: remote clipboard request timed out 2020-03-31 23:54:12,787 request id 35, selection=PRIMARY, target=STRING
Let me know if you need more info...
Ref to #2368 should be #2638 (seems I can't edit the comment)
Ah, forgot to test that.
Any packets bigger than XPRA_MIN_CLIPBOARD_COMPRESS_SIZE
will be compressed via the encode thread... and because python3 is a pain to deal with, it chokes on strings.
The temporary workaround is to set:
XPRA_MIN_CLIPBOARD_COMPRESS_SIZE=99999999
Will fix.
Thanks for reporting this!
To trigger this bug, I believe you needed all of these to line up:
plain-text
first (not utf8
)
CF_TEXT
(not CF_UNICODETEXT
)
python-brotli
installed at both ends (always included on mswindows builds)
Should be fixed in r25895. I didn't manage to reproduce it myself, but I am reasonably confident that the fix is correct.
Confirm fixed in client v4.0-r25898. Thanks!
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/2694