https://bugs.winehq.org/show_bug.cgi?id=57179
Bug ID: 57179 Summary: Since Wine 7.5, file uploads in Hotline Client 1.2.3 hang after about 200 KB Product: Wine Version: 9.17 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: wineserver Assignee: wine-bugs@winehq.org Reporter: winehq@jordan.yelloz.me Distribution: ---
I was uploading a file to a Hotline server from the Hotline client (1990s BBS software used mostly on Macs) using recent versions of Wine, all the way up to 9.17 and noticed that uploads greater than about 200KB will not complete successfully.
I found that this is working properly in wine 7.4 and earlier and I think I've narrowed the cause down to the commit https://gitlab.winehq.org/wine/wine/-/commit/1c6c90c7e1f1cd011e0ddb1dba47719... . Though I'm not knowledgeable enough about wine's implementation to fix the problem, I tested with the latest code in 64-bit mode, and if I just set reply->nonblocking = FALSE at https://gitlab.winehq.org/wine/wine/-/blob/6dfb84f5cbdf30c1dc0775fd4dae821ee... the upload will succeed but obviously the client application UI will be unresponsive while that happens.
The windows versions of the Hotline client and server are downloadable from https://preterhuman.net/gethotlinekdx.php
https://bugs.winehq.org/show_bug.cgi?id=57179
winehq@jordan.yelloz.me changed:
What |Removed |Added ---------------------------------------------------------------------------- Regression SHA1| |1c6c90c7e1f1cd011e0ddb1dba4 | |7719d61d78fb2 CC| |winehq@jordan.yelloz.me
https://bugs.winehq.org/show_bug.cgi?id=57179
Ken Sharp imwellcushtymelike@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC|winehq@jordan.yelloz.me |jinoh.kang.kr@gmail.com URL| |https://preterhuman.net/get | |hotlinekdx.php Keywords| |download, regression
--- Comment #1 from Ken Sharp imwellcushtymelike@gmail.com ---
server: Defer clearing events until async is completed in send_socket handler.
https://bugs.winehq.org/show_bug.cgi?id=57179
--- Comment #2 from winehq@jordan.yelloz.me --- I tried https://gitlab.winehq.org/wine/wine/-/merge_requests/6490 and it fixes the problem for me.
https://bugs.winehq.org/show_bug.cgi?id=57179
--- Comment #3 from Jinoh Kang jinoh.kang.kr@gmail.com --- That's interesting. Perhaps the event clear should happen as soon as we call set_async_direct_result.
(In reply to winehq from comment #2)
I tried https://gitlab.winehq.org/wine/wine/-/merge_requests/6490 and it fixes the problem for me.
If it works then that's a good news. I doubt it's the most reliable solution for this bug, though.