https://bugs.winehq.org/show_bug.cgi?id=45868
Bug ID: 45868 Summary: Windower 5 beta (FF XI tool) crash: System.ArgumentNullException: Value cannot be null. Parameter name: icon at System.Windows.Interop.Imaging.CreateBitmapSourceFromH Icon() at Windower.UI.StockIcons.GetStockIcon() Product: Wine Version: 3.16 Hardware: x86 URL: http://files.windower.net/5/core/test/windower.portabl e.zip OS: Linux Status: NEW Keywords: dotnet, download Severity: normal Priority: P2 Component: shell32 Assignee: wine-bugs@winehq.org Reporter: xerox.xerox2000x@gmail.com Distribution: Ubuntu
Created attachment 62366 --> https://bugs.winehq.org/attachment.cgi?id=62366 crashlog
Steps:
- winetricks -q dotnet45
- winetricks win7
unzip ~/Downloads/windower.portable.zip
WINEDLLOVERRIDES=dwmapi,dbghelp=d wine windower.exe
(disable dwmapi to workaround 45832, disable dbghelp to get clear crash, otherwise crashhandler is invoked that hides the real problem)
sha1sum windower.portable.zip 96e8492fd229175557b376e030a96f9d50641ded windower.portable.zip
Hack to get around this bug (showing the problem is in SHGetStockIconInfo most likely):
diff --git a/dlls/shell32/shell32.spec b/dlls/shell32/shell32.spec index 837abd3fec..dc7ed03d7c 100644 --- a/dlls/shell32/shell32.spec +++ b/dlls/shell32/shell32.spec @@ -400,7 +400,7 @@ @ stdcall SHGetSpecialFolderLocation(long long ptr) @ stdcall SHGetSpecialFolderPathA(long ptr long long) @ stdcall SHGetSpecialFolderPathW(long ptr long long) -@ stdcall SHGetStockIconInfo(long long ptr) +#@ stdcall SHGetStockIconInfo(long long ptr) @ stdcall SHHelpShortcuts_RunDLL(long long long long) SHHelpShortcuts_RunDLLA @ stdcall SHHelpShortcuts_RunDLLA(long long long long) @ stdcall SHHelpShortcuts_RunDLLW(long long long long)
https://bugs.winehq.org/show_bug.cgi?id=45868
--- Comment #1 from Louis Lenders xerox.xerox2000x@gmail.com --- Created attachment 62376 --> https://bugs.winehq.org/attachment.cgi?id=62376 patch that fixes the crash
Attached a patch that fixes the crash. Just make sure that hIcon is not NULL (as the crashlag said..), and the crash is gone.
Not sure if the patch could be improved, comments welcome
https://bugs.winehq.org/show_bug.cgi?id=45868
--- Comment #2 from Gijs Vermeulen gijsvrm@gmail.com --- (In reply to Louis Lenders from comment #1)
Hi Louis, according to the documentation of the _SHSTOCKICONINFO struct hIcon member:
"When SHGetStockIconInfo is called with the SHGSI_ICON flag, this member receives a handle to the icon."
It would probably be a good idea to only fill this member when that flag is passed. (Also, a test probably wouldn't hurt to make sure the documentation is not wrong ;) )
https://bugs.winehq.org/show_bug.cgi?id=45868
--- Comment #3 from Nikolay Sivov bunglehead@gmail.com --- Now that we have a lot of stock icons maybe it'd be better to actually implement this one. It doesn't look too hard.
https://bugs.winehq.org/show_bug.cgi?id=45868
--- Comment #4 from Louis Lenders xerox.xerox2000x@gmail.com ---
It would probably be a good idea to only fill this member when that flag is passed.
Yes of course, missed that, thanks
Now that we have a lot of stock icons maybe it'd be better to actually implement >this one. It doesn't look too hard.
Actually it looks like Detlef already tried that (?):
https://source.winehq.org/patches/data/94077
Later the semi-stub was added by him. I couldn`t find any comments on wine-devel why patch was rejected, anyone an idea?
https://bugs.winehq.org/show_bug.cgi?id=45868
Alistair Leslie-Hughes leslie_alistair@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |STAGED CC| |leslie_alistair@hotmail.com Staged patchset| |https://github.com/wine-sta | |ging/wine-staging/tree/mast | |er/patches/shell32-SHGetSto | |ckIconInfo
https://bugs.winehq.org/show_bug.cgi?id=45868
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net URL|http://files.windower.net/5 |https://web.archive.org/web |/core/test/windower.portabl |/20200321100419/http://file |e.zip |s.windower.net/5/core/test/ | |windower.portable.zip Summary|Windower 5 beta (FF XI |Multiple .NET 4.x |tool) crash: |applications crash due to |System.ArgumentNullExceptio |shell32.SHGetStockIconInfo |n: Value cannot be null. |lacking support for |Parameter name: icon at |SHGSI_ICON flag (Windower 5 |System.Windows.Interop.Imag |beta/FF XI tool, Affinity |ing.CreateBitmapSourceFromH |Designer 1.x) |Icon() at | |Windower.UI.StockIcons.GetS | |tockIcon() |
--- Comment #5 from Anastasius Focht focht@gmx.net --- Hello folks,
ping. Also encountered with Affinity Designer 1.8.2 (.NET 4.x app). Refining fields.
Prerequisite: 'winetricks -q dotnet472'
--- snip --- $ wine ./affinity-designer-1.8.2.exe ... 005c:fixme:path:parse_url failed to parse L"SetupUI.resources" 005c:fixme:path:parse_url failed to parse L"UIAutomationProvider" 005c:fixme:shell:SHGetStockIconInfo (77, 0x101, 0x32e3d8) semi-stub 005c:fixme:shell:SHGetStockIconInfo flags 0x101 not implemented 005c:fixme:advapi:RegisterEventSourceW ((null),L".NET Runtime"): stub 005c:fixme:advapi:ReportEventW (0xcafe4242,0x0001,0x0000,0x00000402,(nil),0x0001,0x00000000,0x32d338,(nil)): stub 005c:err:eventlog:ReportEventW L"Application: SetupUI.exe\nFramework Version: v4.0.30319\nDescription: The process was terminated due to an unhandled exception.\nException Info: System.ArgumentNullException\nStack:\n at System.Windows.Interop.Imaging.CreateBitmapSourceFromHIcon(IntPtr, System.Windows.Int32Rect, System."... 005c:fixme:advapi:DeregisterEventSource (0xcafe4242) stub wine: Unhandled exception 0xe0434352 in thread 5c at address 7B00DBB1 (thread 005c), starting debugger... --- snip ---
Download:
https://store.serif.com/en-gb/update/windows/designer/1/
https://web.archive.org/web/20200321081455/https://d1gl0nrskhax8d.cloudfront...
Wine source:
https://source.winehq.org/git/wine.git/blob/3ddf3a720f2a342141550c973f10854b...
$ sha1sum affinity-designer-1.8.2.exe 00cdf703a24cb8b98e7d2c8afc8cf66bccbb57ff affinity-designer-1.8.2.exe
$ du -sh affinity-designer-1.8.2.exe 484M affinity-designer-1.8.2.exe
$ wine --version wine-5.4-206-geb6f8a1d78
Regards
https://bugs.winehq.org/show_bug.cgi?id=45868
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |estebanium@outlook.com
--- Comment #6 from Zebediah Figura z.figura12@gmail.com --- *** Bug 49761 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=45868
--- Comment #7 from estebanium@outlook.com --- *** Bug 49761 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=45868
Andrea Vai andrea.vai@unipv.it changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |andrea.vai@unipv.it
https://bugs.winehq.org/show_bug.cgi?id=45868
Esme Povirk madewokherd@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |48503
https://bugs.winehq.org/show_bug.cgi?id=45868
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |josiahvolz18@gmail.com
--- Comment #8 from Fabian Maurer dark.shadow4@web.de --- *** Bug 56888 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=45868
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dark.shadow4@web.de
--- Comment #9 from Fabian Maurer dark.shadow4@web.de --- Still present, and also affects Affinity Photo 2 installer
https://bugs.winehq.org/show_bug.cgi?id=45868
Maik Wagner maiktapwagner@aol.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |maiktapwagner@aol.com
--- Comment #10 from Maik Wagner maiktapwagner@aol.com --- I am willig to test out the patch to see if it works.
I have previously compiled wine from source and was wondering if there is a Tarball or zipfile which includes the proposed patch that I can "./configure" and "make"?
You can also contact me through email if need should be.
https://bugs.winehq.org/show_bug.cgi?id=45868
--- Comment #11 from Alistair Leslie-Hughes leslie_alistair@hotmail.com --- (In reply to Maik Wagner from comment #10)
I am willig to test out the patch to see if it works.
If you install the official wine-staging, this patch is already included.
https://bugs.winehq.org/show_bug.cgi?id=45868
--- Comment #12 from Maik Wagner maiktapwagner@aol.com --- Thanks for the information Alistair.
For Slackware the latest package was 9.7-staging so I had to compile my own version of wine and make a package out of it.
I tried the URL mentioned in the report from archive.org to download "Windower Portable" but the sha1sum didn't match what was originally reported.
I therefore then turned to Austin's link of Affinity Designer 1.8.2 with the following specifications and created a fresh prefix, installed .net in it:
bash-5.1$ sha1sum affinity-designer-1.8.2.exe 00cdf703a24cb8b98e7d2c8afc8cf66bccbb57ff affinity-designer-1.8.2.exe bash-5.1$ wine --version wine-9.15-449-g164992ecbef (Staging)
"winetricks -q dotnet472" took quite a long time to install and it would be a good idea to speed up installation up if possible.
Anyway, I ran my wine 9.15-staging with the affinity-designer-1.8.2.exe file but still couldn't run the installer.
The good news is, that I didn't get a backtrace either: An image popped up "Exeption: Image Loading failed".
Hope this helps a little. Maik