https://bugs.winehq.org/show_bug.cgi?id=52296
Bug ID: 52296 Summary: UltraVNC 1.3.4.0 and later hangs after pressing Connect. Product: Wine Version: 7.0-rc3 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: bernhardu@mailbox.org Distribution: ---
Starting vncviewer with no parameters shows the connection window. After specifiying a UltraVNC server (1.3.6.0) and pressing "Connect" the connection window closes and nothing more happens. This is observable with versions 1.3.4.0, 1.3.4.1, 1.3.4.2, 1.3.6.0.
In previous version 1.3.2a after pressing "Connect" a connection status window and another window to enter the password appears.
https://bugs.winehq.org/show_bug.cgi?id=52296
Bernhard Übelacker bernhardu@mailbox.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download Distribution|--- |Debian URL| |https://uvnc.com/downloads/ | |ultravnc.html
https://bugs.winehq.org/show_bug.cgi?id=52296
--- Comment #1 from Bernhard Übelacker bernhardu@mailbox.org --- Created attachment 71450 --> https://bugs.winehq.org/attachment.cgi?id=71450 "WINEDEBUG=+message wine vncviewer.exe", just few seconds.
It seems it loops all the time over window size/position changes.
https://bugs.winehq.org/show_bug.cgi?id=52296
--- Comment #2 from Bernhard Übelacker bernhardu@mailbox.org --- Created attachment 71490 --> https://bugs.winehq.org/attachment.cgi?id=71490 Backtrace while looping with debug symbols also for vncviewer.exe.
Seems SetScrollInfo causes enabling of the scrollbars, which causes WM_WINDOWPOSCHANGED to which the application reacts with ShowScrollBar(SB_VERT, 0, 0) which causes another WM_WINDOWPOSCHANGED which causes SetScrollInfo which enables the scrollbars again ...
https://bugs.winehq.org/show_bug.cgi?id=52296
--- Comment #3 from Bernhard Übelacker bernhardu@mailbox.org --- Tried to find out a little more about it and hit that recursion_count variable in WINPROC_call_window. This variable increases fast until MAX_WINPROC_RECURSION is reached and gets always decreased and increased around that value. If MAX_WINPROC_RECURSION is set to 9 I could get past this issue in time and could connect.
https://bugs.winehq.org/show_bug.cgi?id=52296
--- Comment #4 from Bernhard Übelacker bernhardu@mailbox.org --- Created attachment 71501 --> https://bugs.winehq.org/attachment.cgi?id=71501 Hack to avoid sending a WM_WINDOWPOSCHANGED which leads to a recursion.
Added some logging to the WindowProc of vncserver.exe and this is the message which seems to be where native and wine diverts.
https://bugs.winehq.org/show_bug.cgi?id=52296
jacknone@mail.bg changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jacknone@mail.bg
--- Comment #5 from jacknone@mail.bg --- I can confirm this issue is present with the latest UltraVNC vncviewer.exe (1.3.8.1) and the latest Wine (built from source cloned from git). I tried applying patch, but apparently there was some refactoring done and it didn't apply. Lowering MAX_WINPROC_RECURSION still does appear to mitigate the issue.
https://bugs.winehq.org/show_bug.cgi?id=52296
Neustradamus Neustradamus@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |Neustradamus@hotmail.com
--- Comment #6 from Neustradamus Neustradamus@hotmail.com --- Jack None, Bernhard Übelacker: What is the status with latest current version? - 1.4.3.1 (2023-07-07)
All help is welcome to solve it.
Thanks in advance.
https://bugs.winehq.org/show_bug.cgi?id=52296
Bernhard Übelacker bernhardu@mailbox.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #71501|0 |1 is obsolete| |
--- Comment #7 from Bernhard Übelacker bernhardu@mailbox.org --- Created attachment 74951 --> https://bugs.winehq.org/attachment.cgi?id=74951 Hack to avoid sending a WM_WINDOWPOSCHANGED which leads to a recursion.
Issue is still visible with current wine git and UltraVNC 1.4.3.1 (Zip, x86 and x64, running winvnc.exe in wine too).
Updated hack because files got moved around. With it applied a connection is possible.
Setting MAX_WINPROC_RECURSION from 64 to 9 also still works around the issue.
https://bugs.winehq.org/show_bug.cgi?id=52296
Neustradamus Neustradamus@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |julliard@winehq.org