https://bugs.winehq.org/show_bug.cgi?id=52652
Bug ID: 52652 Summary: Adobe Photoshop 7.0 crashes on startup Product: Wine Version: 7.4 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: blocker Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: aros@gmx.com Distribution: ---
002c:err:wineboot:process_run_key Error running cmd L"C:\windows\system32\winemenubuilder.exe -a -r" (126). 0070:err:ntoskrnl:ZwLoadDriver failed to create driver L"\Registry\Machine\System\CurrentControlSet\Services\wineusb": c0000142 003c:fixme:service:scmdatabase_autostart_services Auto-start service L"wineusb" failed to start: 1114 0024:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION 0024:fixme:msg:pack_message msg 14 (WM_ERASEBKGND) not supported yet 00dc:fixme:imm:ImeSetActiveContext (0x264cd8, 0): stub 00dc:fixme:imm:ImmReleaseContext (00010020, 00264CD8): stub 0024:fixme:imm:ImeSetActiveContext (0x250860, 1): stub 0024:fixme:imm:ImmReleaseContext (00010056, 00250860): stub wine: Unhandled page fault on read access to 00000000 at address 7CD79479 (thread 0024), starting debugger... 0160:fixme:imm:ImeSetActiveContext (0x25a4a8, 1): stub 0160:fixme:imm:ImmReleaseContext (00020264, 0025A4A8): stub Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x7cd79479). Register dump: CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b EIP:7cd79479 ESP:0021de90 EBP:00000026 EFLAGS:00210206( R- -- I - -P- ) EAX:00000000 EBX:7ce90428 ECX:0021e050 EDX:4545524e ESI:00250158 EDI:00000008 Stack dump: 0x0021de90: 00000000 00000000 00000000 7ce90428 0x0021dea0: 00000001 00000000 00000009 7e768fbc 0x0021deb0: 7e798000 00000229 0021dee8 7e9729a6 0x0021dec0: 0001005e 00000000 00000000 51b96900 0x0021ded0: 00000000 00000000 00000000 7ce90428 0x0021dee0: 00250158 00000008 00000026 7cd7dd9d Backtrace: =>0 0x7cd79479 (0x00000026) 0x7cd79479: movl 0x0(%eax),%eax Modules: Module Address Debug info Name (40 modules) PE 00360000-0038d000 Deferred bib PE 00400000-013b8000 Deferred photoshop PE 013c0000-014ca000 Deferred agm PE 014d0000-01641000 Deferred cooltype PE 01650000-01700000 Deferred asn.er PE 03140000-0321b000 Deferred photoshop PE 03220000-03475000 Deferred psviews PE 051e0000-05203000 Deferred pdf image import.8bi PE 05210000-054e0000 Deferred pdfl50 PE 054e0000-054f7000 Deferred opp PE 10000000-10075000 Deferred ace PE 7b020000-7b027000 Deferred kernelbase PE 7b620000-7b685000 Deferred kernel32 PE 7bc20000-7bc24000 Deferred ntdll PE 7c860000-7c864000 Deferred shfolder PE 7c9d0000-7c9d4000 Deferred uxtheme PE 7cb10000-7cb14000 Deferred mpr PE 7cb40000-7cb46000 Deferred winspool PE 7cb80000-7cb96000 Deferred comdlg32 PE 7cc00000-7cc04000 Deferred sti PE 7cec0000-7cf01000 Deferred comctl32 PE 7d050000-7d054000 Deferred winex11 PE 7d100000-7d104000 Deferred imm32 PE 7d810000-7dfe9000 Deferred shell32 PE 7e110000-7e117000 Deferred oleaut32 PE 7e230000-7e234000 Deferred msacm32 PE 7e270000-7e27f000 Deferred winmm PE 7e2e0000-7e2e4000 Deferred rpcrt4 PE 7e370000-7e373000 Deferred combase PE 7e3f0000-7e418000 Deferred ole32 PE 7e520000-7e523000 Deferred shcore PE 7e660000-7e664000 Deferred shlwapi PE 7e6b0000-7e6b4000 Deferred version PE 7e810000-7e813000 Deferred win32u PE 7e870000-7e874000 Deferred gdi32 PE 7e920000-7e9fa000 Deferred user32 PE 7eb50000-7eb54000 Deferred ucrtbase PE 7ec40000-7ec43000 Deferred sechost PE 7eca0000-7eca4000 Deferred msvcrt PE 7ed60000-7ed64000 Deferred advapi32 Threads: process tid prio name (all IDs are in hex) 00000020 (D) C:\Program Files\Adobe\Photoshop 7.0\Photoshop.exe 00000024 0 <== 00000110 0 00000114 0 00000118 0 00000164 0 00000038 services.exe 0000003c 0 00000040 0 0000004c 0 00000050 0 00000078 0 0000007c 0 00000088 0 000000a8 0 000000c0 0 000000f4 0 00000044 winedevice.exe 00000048 0 00000054 0 00000058 0 0000005c 0 000000cc 0 00000080 winedevice.exe 00000084 0 0000008c 0 00000090 0 00000094 0 00000098 0 0000009c 0 000000a0 plugplay.exe 000000a4 0 000000ac 0 000000b0 0 000000b4 0 000000b8 svchost.exe 000000bc 0 000000c4 0 000000c8 0 000000d0 conhost.exe 000000d4 0 000000d8 explorer.exe 000000dc 0 000000e0 0 000000e4 0 000000ec rpcss.exe 000000f0 0 000000f8 0 000000fc 0 00000100 0 00000104 0 00000108 0 0000010c 0 System information: Wine build: wine-7.4 Platform: i386 Version: Windows XP Host system: Linux Host version: 5.15.19-az2
https://bugs.winehq.org/show_bug.cgi?id=52652
Artem S. Tashkinov aros@gmx.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression
https://bugs.winehq.org/show_bug.cgi?id=52652
--- Comment #1 from Artem S. Tashkinov aros@gmx.com --- I cannot confirm it's the bad commit because I'm unable to revert it on top of master:
7c76aa05a9d27dd6f5705c4ef90c16862af14f3e is the first bad commit commit 7c76aa05a9d27dd6f5705c4ef90c16862af14f3e Author: Jacek Caban jacek@codeweavers.com Date: Mon Mar 7 14:42:32 2022 +0100
win32u: Move class management implementation from user32.
Signed-off-by: Jacek Caban jacek@codeweavers.com Signed-off-by: Huw Davies huw@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
dlls/user32/class.c | 280 ++++++------------------------------------- dlls/user32/controls.h | 7 -- dlls/user32/painting.c | 2 +- dlls/user32/user_main.c | 2 + dlls/user32/user_private.h | 2 +- dlls/win32u/class.c | 251 +++++++++++++++++++++++++++++++++++++- dlls/win32u/gdiobj.c | 3 + dlls/win32u/ntuser_private.h | 11 ++ dlls/win32u/win32u.spec | 6 +- dlls/win32u/win32u_private.h | 8 ++ dlls/win32u/wrappers.c | 22 ++++ include/ntuser.h | 7 ++ 12 files changed, 341 insertions(+), 260 deletions(-)
https://bugs.winehq.org/show_bug.cgi?id=52652
--- Comment #2 from Artem S. Tashkinov aros@gmx.com --- Wine 7.3 is not affected.
https://bugs.winehq.org/show_bug.cgi?id=52652
--- Comment #3 from Artem S. Tashkinov aros@gmx.com --- git bisect log git bisect start # good: [842452d4e79b20c42d2b7e279063b2feabeb31de] Release 7.3. git bisect good 842452d4e79b20c42d2b7e279063b2feabeb31de # bad: [330dc601978922aa1d5864d29d94882d6b1990d1] Release 7.4. git bisect bad 330dc601978922aa1d5864d29d94882d6b1990d1 # good: [b1b0470083970bacfbc3a6d5ad08740a1e50d46f] user32: Store menu name as a struct. git bisect good b1b0470083970bacfbc3a6d5ad08740a1e50d46f # bad: [fd5849382a1ddfa9798ca418397e3fcf5a094ef1] win32u: Move GetClientRect implementation from user32. git bisect bad fd5849382a1ddfa9798ca418397e3fcf5a094ef1 # bad: [44bce619ef6b4c182a83c2be894f986a09b9ed24] po: Update Dutch Translation. git bisect bad 44bce619ef6b4c182a83c2be894f986a09b9ed24 # bad: [4c9d8e194c796102cd34ee72f0eeb2c8b096f80b] lcms2: Revert some calling convention changes. git bisect bad 4c9d8e194c796102cd34ee72f0eeb2c8b096f80b # bad: [f588d96e95540295585fd072803ede03ebb0bc19] kernel32/tests/profile: Enable compilation with long types. git bisect bad f588d96e95540295585fd072803ede03ebb0bc19 # bad: [8e0ab7363d84d615e0a6ec93ce07b569a13a1eee] wined3d: Implement event queries using Vulkan events. git bisect bad 8e0ab7363d84d615e0a6ec93ce07b569a13a1eee # bad: [a58483c9b157afddad15c341b2fb26031f2db64c] win32u: Move GetClassLong implementation from user32. git bisect bad a58483c9b157afddad15c341b2fb26031f2db64c # bad: [8fe050fbbadaa180f879d036f7e7e1c88c1d482a] win32u: Move NtUserSetClassLong from user32. git bisect bad 8fe050fbbadaa180f879d036f7e7e1c88c1d482a # bad: [7c76aa05a9d27dd6f5705c4ef90c16862af14f3e] win32u: Move class management implementation from user32. git bisect bad 7c76aa05a9d27dd6f5705c4ef90c16862af14f3e # first bad commit: [7c76aa05a9d27dd6f5705c4ef90c16862af14f3e] win32u: Move class management implementation from user32.
https://bugs.winehq.org/show_bug.cgi?id=52652
Gijs Vermeulen gijsvrm@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Severity|blocker |normal
--- Comment #4 from Gijs Vermeulen gijsvrm@gmail.com --- Not a blocker. See: https://wiki.winehq.org/Bugs#How_to_report
Is there a free and legal download to test this with?
If you want to confirm for sure that 7c76aa05a9d27dd6f5705c4ef90c16862af14f3e causes the issue, you could reset to the commit before, see if it works, if yes, apply the commit again and test if it breaks.
https://bugs.winehq.org/show_bug.cgi?id=52652
--- Comment #5 from Artem S. Tashkinov aros@gmx.com --- (In reply to Gijs Vermeulen from comment #4)
If you want to confirm for sure that 7c76aa05a9d27dd6f5705c4ef90c16862af14f3e causes the issue, you could reset to the commit before, see if it works, if yes, apply the commit again and test if it breaks.
I've no clue how to build Wine up to this commit excluding it. Your git bisect manual doesn't explain how to do that.
https://bugs.winehq.org/show_bug.cgi?id=52652
Artem S. Tashkinov aros@gmx.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |ABANDONED Status|UNCONFIRMED |RESOLVED
--- Comment #6 from Artem S. Tashkinov aros@gmx.com --- To be honest I feel like I'm wasting everyone's time here. Maybe I'm just not fit to be a bug reporter.
https://bugs.winehq.org/show_bug.cgi?id=52652
Gabriel Ivăncescu gabrielopcode@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |gabrielopcode@gmail.com
--- Comment #7 from Gabriel Ivăncescu gabrielopcode@gmail.com --- (In reply to Artem S. Tashkinov from comment #5)
(In reply to Gijs Vermeulen from comment #4)
If you want to confirm for sure that 7c76aa05a9d27dd6f5705c4ef90c16862af14f3e causes the issue, you could reset to the commit before, see if it works, if yes, apply the commit again and test if it breaks.
I've no clue how to build Wine up to this commit excluding it. Your git bisect manual doesn't explain how to do that.
You can just checkout the commit in question (you don't have to do this if you ended at it after bisect though) and then checkout HEAD~1 (HEAD is current commit, ~1 means one commit prior, ~2 would mean 2 commits prior, etc). e.g.:
git checkout 7c76aa05a9d27dd6f5705c4ef90c16862af14f3e git checkout HEAD~1
https://bugs.winehq.org/show_bug.cgi?id=52652
Artem S. Tashkinov aros@gmx.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |UNCONFIRMED Regression SHA1| |7c76aa05a9d27dd6f5705c4ef90 | |c16862af14f3e Resolution|ABANDONED |---
--- Comment #8 from Artem S. Tashkinov aros@gmx.com --- (In reply to Gabriel Ivăncescu from comment #7)
(In reply to Artem S. Tashkinov from comment #5)
(In reply to Gijs Vermeulen from comment #4)
If you want to confirm for sure that 7c76aa05a9d27dd6f5705c4ef90c16862af14f3e causes the issue, you could reset to the commit before, see if it works, if yes, apply the commit again and test if it breaks.
I've no clue how to build Wine up to this commit excluding it. Your git bisect manual doesn't explain how to do that.
You can just checkout the commit in question (you don't have to do this if you ended at it after bisect though) and then checkout HEAD~1 (HEAD is current commit, ~1 means one commit prior, ~2 would mean 2 commits prior, etc). e.g.:
git checkout 7c76aa05a9d27dd6f5705c4ef90c16862af14f3e git checkout HEAD~1
Without this commit the application works.
https://bugs.winehq.org/show_bug.cgi?id=52652
Jacek Caban jacek@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jacek@codeweavers.com
--- Comment #9 from Jacek Caban jacek@codeweavers.com --- I can't reproduce it here. If it still happen with current git and the patch from bug 52654, please attach seh,class,win,server logs.
https://bugs.winehq.org/show_bug.cgi?id=52652
--- Comment #10 from Artem S. Tashkinov aros@gmx.com --- Created attachment 72009 --> https://bugs.winehq.org/attachment.cgi?id=72009 debug log 0
(In reply to Jacek Caban from comment #9)
I can't reproduce it here. If it still happen with current git and the patch from bug 52654, please attach seh,class,win,server logs.
WINEDEBUG=+seh,class,win,server /tmp/wine/wine "C:\Program Files\Adobe\Photoshop 7.0\Photoshop.exe" &> /tmp/photoshop_7.0.log
https://bugs.winehq.org/show_bug.cgi?id=52652
Artem S. Tashkinov aros@gmx.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #72009|0 |1 is obsolete| |
--- Comment #11 from Artem S. Tashkinov aros@gmx.com --- Created attachment 72010 --> https://bugs.winehq.org/attachment.cgi?id=72010 debug log 1
WINEDEBUG=+seh,+class,+win,+server /tmp/wine/wine "C:\Program Files\Adobe\Photoshop 7.0\Photoshop.exe" &> /tmp/photoshop_7.0.log
Looks like + is required for before each verb.
https://bugs.winehq.org/show_bug.cgi?id=52652
--- Comment #12 from Jacek Caban jacek@codeweavers.com --- Please retest with current git version. bug 52669, which was caused by the same commit, is reported to be fixed.
https://bugs.winehq.org/show_bug.cgi?id=52652
--- Comment #13 from Artem S. Tashkinov aros@gmx.com --- Created attachment 72026 --> https://bugs.winehq.org/attachment.cgi?id=72026 backtrace git master
(In reply to Jacek Caban from comment #12)
Please retest with current git version. bug 52669, which was caused by the same commit, is reported to be fixed.
Still crashes.
https://bugs.winehq.org/show_bug.cgi?id=52652
--- Comment #14 from Artem S. Tashkinov aros@gmx.com --- Sorry, looks like I tested Wine 7.4 instead.
git clone takes forever, so I ran it with --depth 1 but this command fetches Wine 7.4 instead of master or so it seems.
https://bugs.winehq.org/show_bug.cgi?id=52652
Artem S. Tashkinov aros@gmx.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #72026|0 |1 is obsolete| |
--- Comment #15 from Artem S. Tashkinov aros@gmx.com --- Created attachment 72027 --> https://bugs.winehq.org/attachment.cgi?id=72027 wine-7.4-119-g62df608d3ed backtrace
git master still crashes
https://bugs.winehq.org/show_bug.cgi?id=52652
--- Comment #16 from Artem S. Tashkinov aros@gmx.com --- (In reply to Jacek Caban from comment #12)
Please retest with current git version. bug 52669, which was caused by the same commit, is reported to be fixed.
Is there anything else I could do to help fix this bug?
https://bugs.winehq.org/show_bug.cgi?id=52652
--- Comment #17 from Jacek Caban jacek@codeweavers.com --- Created attachment 72079 --> https://bugs.winehq.org/attachment.cgi?id=72079 wintab hack
The crash in logs happens soon wintab32.dll is loaded and unloaded. During that process, it registers and unregisters a window class, so that's likely what triggers the crash, but I don't see how (and I still can't reproduce it, which makes debugging tricky). Please try the attached hack, which disables wintab32.dll, to confirm that it's relevant to the crash.
https://bugs.winehq.org/show_bug.cgi?id=52652
--- Comment #18 from Artem S. Tashkinov aros@gmx.com --- (In reply to Jacek Caban from comment #17)
Created attachment 72079 [details] wintab hack
The crash in logs happens soon wintab32.dll is loaded and unloaded. During that process, it registers and unregisters a window class, so that's likely what triggers the crash, but I don't see how (and I still can't reproduce it, which makes debugging tricky). Please try the attached hack, which disables wintab32.dll, to confirm that it's relevant to the crash.
The patch fixes the issue actually. Photoshop CS2 works as well.
Without the patch both crash. I'll mark the second bug as a dupe of this one.
https://bugs.winehq.org/show_bug.cgi?id=52652
--- Comment #19 from Artem S. Tashkinov aros@gmx.com --- *** Bug 52653 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=52652
Esme Povirk madewokherd@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |madewokherd@gmail.com
--- Comment #20 from Esme Povirk madewokherd@gmail.com --- We had a similar bug affecting CrossOver, and I found NtUserUnregisterClass isn't setting client_menu_name, so UnregisterClassW just frees something from uninitialized stack memory. That might be the cause here too.
https://bugs.winehq.org/show_bug.cgi?id=52652
Artem S. Tashkinov aros@gmx.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |f1d1d88c9e3b199c1d706073a7c | |8afb9d4a2c2d0 Resolution|--- |FIXED Status|UNCONFIRMED |RESOLVED
--- Comment #21 from Artem S. Tashkinov aros@gmx.com --- (In reply to Esme Povirk from comment #20)
We had a similar bug affecting CrossOver, and I found NtUserUnregisterClass isn't setting client_menu_name, so UnregisterClassW just frees something from uninitialized stack memory. That might be the cause here too.
Thanks, the fix for this issue seems to have resolved the bug.
https://bugs.winehq.org/show_bug.cgi?id=52652
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #22 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 7.6.