https://bugs.winehq.org/show_bug.cgi?id=54878
Bug ID: 54878 Summary: WinSCP 5.21.1.12643 has stopped working in Wine Product: Wine Version: 8.6 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: major Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: aros@gmx.com Distribution: ---
Created attachment 74374 --> https://bugs.winehq.org/attachment.cgi?id=74374 Empty panels in WinSCP in Wine 8.6
This is a regression.
Under Wine 8.6 once I login into the remote server, both panels are empty - nothing is rendered.
I've tried various themes and no theme - the result is the same.
Using WinSCP 5.21.1.12643 $ md5sum WinSCP.exe a948777770675f037a0211b4d436bd7e WinSCP.exe
Console messages: 0144:err:kerberos:kerberos_LsaApInitializePackage no Kerberos support, expect problems 0144:err:winediag:ntlm_check_version ntlm_auth was not found. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution. 0144:err:ntlm:ntlm_LsaApInitializePackage no NTLM support, expect problems 0144:fixme:thread:GetThreadUILanguage : stub, returning default language. 0144:fixme:nls:RtlGetThreadPreferredUILanguages 00000038, 0021D9C0, 00000000 0021D9E8 0144:fixme:nls:get_dummy_preferred_ui_language (0x38 0x409 0021D9C0 00000000 0021D9E8) returning a dummy value (current locale) 0144:fixme:nls:RtlGetThreadPreferredUILanguages 00000038, 0021D9C0, 02DBC450 0021D9E8 0144:fixme:nls:get_dummy_preferred_ui_language (0x38 0x409 0021D9C0 02DBC450 0021D9E8) returning a dummy value (current locale) 0144:fixme:wtsapi:WTSRegisterSessionNotification Stub 000200E6 0x00000000 0144:fixme:uxtheme:BufferedPaintInit Stub () 016c:fixme:shell:CustomDestinationList_BeginList 01E98AE8 (033D2754 {92ca9dcd-5622-4bba-a805-5e9f541bd8c9} 033D2768): stub 0144:fixme:ver:GetCurrentPackageFamilyName (0021FA64 00000000): stub 0144:fixme:msg:ChangeWindowMessageFilterEx 000200E6 c052 1 00000000 0144:fixme:dwmapi:DwmSetWindowAttribute (00030096, 14, 0021F468, 4) stub 0144:err:listview:LISTVIEW_WindowProc unknown msg 109d, wp 0, lp 0 0144:err:listview:LISTVIEW_WindowProc unknown msg 109d, wp 0, lp 0 0144:err:listview:LISTVIEW_WindowProc unknown msg 109d, wp 0, lp 0 0144:err:listview:LISTVIEW_WindowProc unknown msg 109d, wp 0, lp 0 0144:err:listview:LISTVIEW_WindowProc unknown msg 10bd, wp 142b650, lp 21f9a4 0144:err:listview:LISTVIEW_WindowProc unknown msg 10bd, wp 142b650, lp 21f9c4 0144:err:listview:LISTVIEW_WindowProc unknown msg 109d, wp 0, lp 0 0144:fixme:imm:ImeSetActiveContext himc 0003004A, flag 0x1 stub! 0144:fixme:imm:ImmReleaseContext (00010138, 0003004A): stub 0144:fixme:win:RegisterDeviceNotificationW DBT_DEVTYP_HANDLE filter type not implemented 0154:fixme:imm:ImeSetActiveContext himc 00030082, flag 0 stub! 0154:fixme:imm:ImmReleaseContext (000300BE, 00030082): stub 0144:fixme:uxtheme:BufferedPaintSetAlpha Stub (01EAB280 0021F0BC 255) 0144:fixme:uxtheme:BufferedPaintSetAlpha Stub (01EAB280 0021EEF0 255) 0144:fixme:uxtheme:BufferedPaintSetAlpha Stub (01EAB280 0021F0BC 255) 0144:fixme:uxtheme:BufferedPaintSetAlpha Stub (01EAB280 0021EEFC 255) 0144:fixme:uxtheme:BufferedPaintSetAlpha Stub (01EAB280 0021EEF0 255) 0144:fixme:uxtheme:BufferedPaintSetAlpha Stub (01EAB280 0021EEF0 255) 0144:fixme:uxtheme:BufferedPaintSetAlpha Stub (01EAB280 0021F0BC 255) 0144:fixme:uxtheme:BufferedPaintSetAlpha Stub (01EAB280 0021F0BC 255) 0144:fixme:uxtheme:BufferedPaintSetAlpha Stub (01EAB280 0021EEF0 255) 0144:fixme:uxtheme:BufferedPaintSetAlpha Stub (01EAB280 0021F0BC 255) 0144:fixme:uxtheme:BufferedPaintSetAlpha Stub (01EAB280 0021EEFC 255) 0144:fixme:uxtheme:BufferedPaintSetAlpha Stub (01EAB280 0021EEF0 255) 0144:fixme:uxtheme:BufferedPaintSetAlpha Stub (01EAB280 0021EEF0 255) 0144:fixme:uxtheme:BufferedPaintSetAlpha Stub (01EAB280 0021F0BC 255) 0144:fixme:treeview:TREEVIEW_PrintClient Partial Stub: (hdc=3641031C options=0) 0144:fixme:uxtheme:BufferedPaintSetAlpha Stub (01ED45A0 0021EEC0 255) 0144:fixme:uxtheme:BufferedPaintSetAlpha Stub (01ED49F0 0021ED10 255) 0144:fixme:uxtheme:BufferedPaintSetAlpha Stub (01ED6D68 0021EEDC 255) 0144:fixme:treeview:TREEVIEW_PrintClient Partial Stub: (hdc=204102A0 options=0) 0144:fixme:uxtheme:BufferedPaintSetAlpha Stub (01ED6D68 0021E510 255) 0144:fixme:treeview:TREEVIEW_PrintClient Partial Stub: (hdc=5A41031C options=0) 0144:fixme:uxtheme:BufferedPaintSetAlpha Stub (01ED6D68 0021EEC0 255) 0144:fixme:win:WINNLSEnableIME hwnd 000101CE enable -1: stub! 01b8:fixme:shell:CustomDestinationList_BeginList 01EC3B40 (0355C014 {92ca9dcd-5622-4bba-a805-5e9f541bd8c9} 0355C028): stub 0144:fixme:uxtheme:BufferedPaintSetAlpha Stub (01ED6EB8 0021EC20 255) 0144:fixme:uxtheme:BufferedPaintSetAlpha Stub (01ED6EB8 0021EC2C 255) 0144:fixme:uxtheme:BufferedPaintSetAlpha Stub (01ED7158 0021EDC0 255) 0144:fixme:uxtheme:BufferedPaintSetAlpha Stub (01ED7158 0021EC20 255) 0144:fixme:uxtheme:BufferedPaintSetAlpha Stub (01ED7158 0021ED90 255) 0144:fixme:uxtheme:BufferedPaintSetAlpha Stub (01ED7158 0021ED90 255) 0144:fixme:uxtheme:BufferedPaintSetAlpha Stub (01ED7158 0021ED90 255) 0144:fixme:uxtheme:BufferedPaintSetAlpha Stub (01ED7158 0021ED90 255) 0144:fixme:uxtheme:BufferedPaintSetAlpha Stub (01ED7188 0021ED90 255) 0144:fixme:uxtheme:BufferedPaintSetAlpha Stub (01ED6EB8 0021EC20 255) 0144:fixme:uxtheme:BufferedPaintSetAlpha Stub (01ED91B0 0021E110 255) 0144:fixme:uxtheme:BufferedPaintSetAlpha Stub (01ED91B0 0021F5CC 255) 0144:fixme:uxtheme:BufferedPaintSetAlpha Stub (01ED91B0 0021F40C 255) 0144:fixme:uxtheme:BufferedPaintSetAlpha Stub (01ED91B0 0021F400 255) 0144:fixme:uxtheme:BufferedPaintSetAlpha Stub (01ED91B0 0021F5CC 255) 0144:fixme:uxtheme:BufferedPaintSetAlpha Stub (01ED91B0 0021F5CC 255) 0144:fixme:uxtheme:BufferedPaintSetAlpha Stub (01ED91B0 0021F5CC 255) 0144:fixme:uxtheme:BufferedPaintSetAlpha Stub (01ED91B0 0021F5CC 255) 0144:fixme:uxtheme:BufferedPaintSetAlpha Stub (01ED91B0 0021F5CC 255) 0144:fixme:uxtheme:BufferedPaintSetAlpha Stub (01ED91B0 0021F5CC 255) 0144:fixme:wtsapi:WTSUnRegisterSessionNotification Stub 000200E6 0144:fixme:uxtheme:BufferedPaintUnInit Stub ()
https://bugs.winehq.org/show_bug.cgi?id=54878
Artem S. Tashkinov aros@gmx.com changed:
What |Removed |Added ---------------------------------------------------------------------------- URL| |https://sourceforge.net/pro | |jects/winscp/files/WinSCP/5 | |.21.1/ Keywords| |download, regression, | |source
https://bugs.winehq.org/show_bug.cgi?id=54878
--- Comment #1 from Austin English austinenglish@gmail.com --- What version last worked?
Please run a regression test: https://wiki.winehq.org/Regression_Testing
https://bugs.winehq.org/show_bug.cgi?id=54878
--- Comment #2 from Artem S. Tashkinov aros@gmx.com --- (In reply to Austin English from comment #1)
What version last worked?
Please run a regression test: https://wiki.winehq.org/Regression_Testing
Please don't kill me, I can't perform regression testing now :-(
It worked in Wine 8.1.
https://bugs.winehq.org/show_bug.cgi?id=54878
Artem S. Tashkinov aros@gmx.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #74374|0 |1 is obsolete| |
--- Comment #3 from Artem S. Tashkinov aros@gmx.com --- Created attachment 74379 --> https://bugs.winehq.org/attachment.cgi?id=74379 Empty panels in WinSCP in Wine 8.6
https://bugs.winehq.org/show_bug.cgi?id=54878
--- Comment #4 from Austin English austinenglish@gmail.com --- The content of attachment 74374 has been deleted for the following reason:
contains private info
https://bugs.winehq.org/show_bug.cgi?id=54878
--- Comment #5 from Gijs Vermeulen gijsvrm@gmail.com --- Just a wild guess, but does changing the windows version to 7 or XP help in any way?
https://bugs.winehq.org/show_bug.cgi?id=54878
Alex Henrie alexhenrie24@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|WinSCP 5.21.1.12643 has |WinSCP 5.21.1.12643 doesn't |stopped working in Wine |list files when Windows | |version is set to 10 CC| |alexhenrie24@gmail.com Status|UNCONFIRMED |NEW Ever confirmed|0 |1
--- Comment #6 from Alex Henrie alexhenrie24@gmail.com --- I can reproduce the problem when the Windows version is set to 10 in winecfg, but not when it's set to 7. The default changed from 7 to 10 in Wine 8.1.
https://bugs.winehq.org/show_bug.cgi?id=54878
--- Comment #7 from Artem S. Tashkinov aros@gmx.com --- (In reply to Alex Henrie from comment #6)
I can reproduce the problem when the Windows version is set to 10 in winecfg, but not when it's set to 7. The default changed from 7 to 10 in Wine 8.1.
I can confirm that the Windows version set to 10 causes this bug.
https://bugs.winehq.org/show_bug.cgi?id=54878
Joerg Schiermeier mywine@schiermeier-it.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mywine@schiermeier-it.de
--- Comment #8 from Joerg Schiermeier mywine@schiermeier-it.de --- (In reply to Austin English from comment #1)
What version last worked?
Please run a regression test: https://wiki.winehq.org/Regression_Testing
I did it last night. My result is here:
good: wine-8.1 (like Artem said in c#1) bad: wine-8.6 (like Artem said in his first post)
When I set wines Windows version to version 7 it is working. All above v7 had panels without contents.
--- console output {{{ --- joerg@Archimedes ~/Projekte/wine_src/wine.git % git bisect bad 798fbd420540310a8c853ec9676cf3490fc880ca is the first bad commit commit 798fbd420540310a8c853ec9676cf3490fc880ca Author: Giovanni Mascellani gmascellani@codeweavers.com Date: Tue Dec 20 15:41:19 2022 +0100
wbemprox: Do not call Release() inside wbemprox_cf_CreateInstance().
The Ubisoft overlay version 135 hot patches and hooks wbem_locator_Release(), but crashes if Release() is called inside CoCreateInstance(), a condition that doesn't appear to happen on Windows. So we try to exhibit the same behavior.
dlls/wbemprox/main.c | 12 ++---------- dlls/wbemprox/services.c | 8 ++++++-- dlls/wbemprox/wbemlocator.c | 6 +++++- dlls/wbemprox/wbemprox_private.h | 4 ++-- 4 files changed, 15 insertions(+), 15 deletions(-) joerg@Archimedes ~/Projekte/wine_src/wine.git % git bisect reset --- }}} console output ---
BUT: I don't trust this result and I think this result is misleading: There was no good result! So more investigations will be necessary to verify my result.
In general, this behaviour remembers me to this bug with "The Bat!": Bug #51178.
https://bugs.winehq.org/show_bug.cgi?id=54878
--- Comment #9 from Joerg Schiermeier mywine@schiermeier-it.de --- Possible dupe of bug 54460.
https://bugs.winehq.org/show_bug.cgi?id=54878
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Severity|major |normal
https://bugs.winehq.org/show_bug.cgi?id=54878
--- Comment #10 from Artem S. Tashkinov aros@gmx.com --- (In reply to Joerg Schiermeier from comment #9)
Possible dupe of bug 54460.
The left part of the preferences dialog renders just fine for me with any Windows version.
https://bugs.winehq.org/show_bug.cgi?id=54878
--- Comment #11 from Joerg Schiermeier mywine@schiermeier-it.de --- (In reply to Joerg Schiermeier from comment #9)
Possible dupe of bug 54460.
(and other places) when 'Windows version' in 'winecfg' is set to 'Windows 8.1' or above. Everything is fine on 'Windows 8' (and below).
I can confirm this behaviour: WinSCP behaves exactly like in bug 54460 described:
See the attachments I just uploaded.
https://bugs.winehq.org/show_bug.cgi?id=54878
--- Comment #12 from Joerg Schiermeier mywine@schiermeier-it.de --- Created attachment 74560 --> https://bugs.winehq.org/attachment.cgi?id=74560 WinSCP on win8: disconnected
This is a screenshot with wine windows version set to windows v8: both panels are working.
https://bugs.winehq.org/show_bug.cgi?id=54878
--- Comment #13 from Joerg Schiermeier mywine@schiermeier-it.de --- Created attachment 74561 --> https://bugs.winehq.org/attachment.cgi?id=74561 WinSCP on win8: connected
This is a screenshot with wine windows version set to windows v8: the panel is working. I connect to my own machine into the $HOME folder.
https://bugs.winehq.org/show_bug.cgi?id=54878
--- Comment #14 from Joerg Schiermeier mywine@schiermeier-it.de --- Created attachment 74562 --> https://bugs.winehq.org/attachment.cgi?id=74562 WinSCP on win8.1: disconnected
This is a screenshot with wine windows version set to windows v8.1: both panel aren't working.
https://bugs.winehq.org/show_bug.cgi?id=54878
--- Comment #15 from Joerg Schiermeier mywine@schiermeier-it.de --- Created attachment 74563 --> https://bugs.winehq.org/attachment.cgi?id=74563 WinSCP on win8.1: connected
This is a screenshot with wine windows version set to windows v8.1: both panels aren't working
https://bugs.winehq.org/show_bug.cgi?id=54878
--- Comment #16 from Joerg Schiermeier mywine@schiermeier-it.de --- This was tested with the latest wine v8.9 from May 26, 2023.
At this moment my workload is a little bit high - so I will do again a regression test and then I will also revert the bad commit to see if that works (or even not)...
https://bugs.winehq.org/show_bug.cgi?id=54878
Bernhard Übelacker bernhardu@mailbox.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |bernhardu@mailbox.org
--- Comment #17 from Bernhard Übelacker bernhardu@mailbox.org --- Created attachment 74564 --> https://bugs.winehq.org/attachment.cgi?id=74564 Workaround: WM_PRINTCLIENT called with options == 0.
Hello, I tried to find out what is the difference between the painting when windows version set to 8 against it set to 10.
And as far as I see WinSCP calls CallWindowProcW with WM_PAINT for windows<=8. For windows version upwards it calls CallWindowProcW with WM_PRINTCLIENT.
But in wine WM_PRINTCLIENT gets called with lparam/options == 0, which causes LISTVIEW_PrintClient doing not painting.
I am not sure if WinSCP would call it windows with lparam/options set, or maybe windows takes lparam/options == 0 as PRF_ERASEBKGND|PRF_CLIENT.
Attached patch does this and with it WinSCP shows the pane content. With it it reaches LISTVIEW_Paint similar as with windows version set.
#6 LISTVIEW_Paint () at dlls/comctl32/listview.c:10785 #7 LISTVIEW_PrintClient () at dlls/comctl32/listview.c:10848 #8 LISTVIEW_WindowProc () at dlls/comctl32/listview.c:11852 #9 WINPROC_wrapper () from .wine/drive_c/windows/syswow64/user32.dll #10 call_window_proc () at dlls/user32/winproc.c:125 #11 dispatch_win_proc_params () at dlls/user32/winproc.c:725 #12 CallWindowProcW@20 () at dlls/user32/winproc.c:1282 #13 WinSCP!TMethodImplementationIntercept () from WinSCP.exe
https://bugs.winehq.org/show_bug.cgi?id=54878
--- Comment #18 from Joerg Schiermeier mywine@schiermeier-it.de --- (In reply to Bernhard Übelacker from comment #17)
Created attachment 74564 [details]
Please check your patch also against "Treecomp" as described in bug 54640. (As a proof of concept.
https://bugs.winehq.org/show_bug.cgi?id=54878
--- Comment #19 from Bernhard Übelacker bernhardu@mailbox.org --- (In reply to Joerg Schiermeier from comment #18)
Please check your patch also against "Treecomp" as described in bug 54640. (As a proof of concept.
I tested my above workaround with Treecomp in bug 55005 and the right listview gets drawn with it.
While the fix for bug 54640 is about the treeview, this bug and bug 55005 is about the listview.
https://bugs.winehq.org/show_bug.cgi?id=54878
technoqgdtechnobass technoqgdtechnobass@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |technoqgdtechnobass@gmail.c | |om
https://bugs.winehq.org/show_bug.cgi?id=54878
Bernhard Übelacker bernhardu@mailbox.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #74564|0 |1 is obsolete| |
--- Comment #20 from Bernhard Übelacker bernhardu@mailbox.org --- Created attachment 75470 --> https://bugs.winehq.org/attachment.cgi?id=75470 comctl32/listview: Ignore the lParam to WM_PRINTCLIENT and add tests.
This is an attempt to to port the patch by Alex Henrie fixing a similar issue in treeview. With this patch WinSCP and TreeComp show their lists. Unfortunately I could not modify the tests to work with native listview. For some reason it looks like native listview reacts different to WM_PRINTCLIENT messages and does not paint its contents. (Anyone trying to test it with WinSCP will need also the patch from #55898.)
https://bugs.winehq.org/show_bug.cgi?id=54878
--- Comment #21 from Alex Henrie alexhenrie24@gmail.com --- Thanks for the patch Bernhard. I fixed up the tests and submitted it: https://gitlab.winehq.org/wine/wine/-/merge_requests/4674
https://bugs.winehq.org/show_bug.cgi?id=54878
Alex Henrie alexhenrie24@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED See Also| |https://bugs.winehq.org/sho | |w_bug.cgi?id=55005 Component|-unknown |comctl32 Fixed by SHA1| |4e95553a2d1e442218cf94168b6 | |258e3f5ba255b
--- Comment #22 from Alex Henrie alexhenrie24@gmail.com --- Fixed by https://gitlab.winehq.org/wine/wine/-/commit/4e95553a2d1e442218cf94168b6258e...
https://bugs.winehq.org/show_bug.cgi?id=54878
--- Comment #23 from Artem S. Tashkinov aros@gmx.com --- (In reply to Alex Henrie from comment #22)
Fixed by https://gitlab.winehq.org/wine/wine/-/commit/ 4e95553a2d1e442218cf94168b6258e3f5ba255b
Thanks a TON to everyone involved.
https://bugs.winehq.org/show_bug.cgi?id=54878
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #24 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 9.0-rc3.