https://bugs.winehq.org/show_bug.cgi?id=46903
Bug ID: 46903 Summary: SIMATIC WinCC V15.1 Runtime installer: AdHocSigner.exe tool crashes on unimplemented functions mssign32.dll.SignerSignEx and SignerFreeSignerContext Product: Wine Version: 4.4 Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: mssign32 Assignee: wine-bugs@winehq.org Reporter: focht@gmx.net Distribution: ---
Hello folks,
as it says. Continuation of bug 46899
The tool is temporarily unpacked and run during installation.
--- snip --- Unhandled exception: unimplemented function mssign32.dll.SignerSignEx called in 32-bit code (0x7b44c142). Register dump: CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b EIP:7b44c142 ESP:0032f9d4 EBP:0032fa38 EFLAGS:00000216( - -- I -A-P- ) EAX:7b43a4ad EBX:00401dcf ECX:00000000 EDX:00000000 ESI:00000000 EDI:00405028 ... Backtrace: =>0 0x7b44c142 RaiseException+0x7f() [/home/focht/projects/wine/mainline-src/dlls/kernel32/except.c:85] in kernel32 (0x0032fa38) 1 0x7cabaffa __wine_spec_unimplemented_stub+0x23() [/home/focht/projects/wine/mainline-src/dlls/winecrt0/stub.c:34] in mssign32 (0x0032fa74) 2 0x7cababcd __wine_stub_SignerSignEx+0x28() in mssign32 (0x0032fb10) 3 0x00401e6a EntryPoint+0x564() in adhocsigner (0x0032fb10) 4 0x004017d7 EntryPoint+0xffffffff() in adhocsigner (0x0032fbc4) 5 0x00401aba EntryPoint+0x1b4() in adhocsigner (0x0032fe38) 0x7b44c142 RaiseException+0x7f [/home/focht/projects/wine/mainline-src/dlls/kernel32/except.c:85] in kernel32: addl $12,%esp 85 RtlRaiseException( &record ); Modules: Module Address Debug info Name (77 modules) PE 400000- 408000 Export adhocsigner PE 772b0000-7731c000 Deferred riched20 ELF 7b400000-7b806000 Dwarf kernel32<elf> -PE 7b420000-7b806000 \ kernel32 ELF 7bc00000-7bd1e000 Deferred ntdll<elf> -PE 7bc30000-7bd1e000 \ ntdll ELF 7c000000-7c004000 Deferred <wine-loader> ELF 7caa9000-7cabe000 Dwarf mssign32<elf> -PE 7cab0000-7cabe000 \ mssign32 ELF 7cabe000-7cafe000 Deferred rsaenh<elf> -PE 7cad0000-7cafe000 \ rsaenh ... ELF f7da6000-f7f5e000 Dwarf libwine.so.1 ELF f7f60000-f7f89000 Deferred ld-linux.so.2 ELF f7f8c000-f7f8d000 Deferred [vdso].so Threads: process tid prio (all id:s are in hex) 00000008 Start.exe 00000009 0 ... 0000001f s7oiehsx64.exe 0000004a 0 ... 00000020 0 00000028 S7EpaSRV64x.exe 00000034 0 00000029 0 00000030 TraceConceptX.exe 0000003b 0 ... 00000031 0 ... 0000006f SIA2.exe 000000c8 0 ... 00000070 0 00000146 Setup.exe 00000147 0 ... 0000017e (D) C:\users\focht\Temp{CCC03FDD-3A54-11D6-92A8-00A0245B3AC6}\AdHocSigner.exe 0000017f 0 <== --- snip ---
Application log:
--- snip --- 10:39:07| |StartAppl | ======================== 10:39:07| |StartAppl | BEGIN StartApplAfter... 10:39:07| |StartAppl | ======================== 10:39:07| |StartAppl | ADS_TEMPDIR: C:\users\focht\Temp{CCC03FDD-3A54-11D6-92A8-00A0245B3AC6}\ 10:39:07| |StartAppl | Property TIMEOUT= out of range (1 - 60) 10:39:07| |StartAppl | Appl1= [ADS_TEMPDIR]AdHocSigner.exe 10:39:07| |StartAppl | Condition1 '(VersionNT > 600)' is true 10:39:07| |StartAppl | NoWait1 = 10:39:07| |StartAppl | Application path: C:\users\focht\Temp{CCC03FDD-3A54-11D6-92A8-00A0245B3AC6}\AdHocSigner.exe 10:39:07| |StartAppl | WDir1= [COMMONDIR]PTTouchinput 10:39:07| |StartAppl | Change WorkingDir to: C:\Program Files (x86)\Common Files\Siemens\PTTouchinput 10:39:07| |StartAppl | Application found: C:\users\focht\Temp{CCC03FDD-3A54-11D6-92A8-00A0245B3AC6}\AdHocSigner.exe 10:39:07| |StartAppl | Param1= "C:\Program Files (x86)\Common Files\Siemens\PTTouchinput\TouchInputPC.exe" 10:39:07| |StartAppl | Start Application silent: C:\users\focht\Temp{CCC03FDD-3A54-11D6-92A8-00A0245B3AC6}\AdHocSigner.exe with parameter: "C:\Program Files (x86)\Common Files\Siemens\PTTouchinput\TouchInputPC.exe" 10:39:07| |::LaunchAppGetExitCode | LaunchAppGetExitCode Start 10:39:07| |::LaunchAppGetExitCode | Command: C:\users\focht\Temp{CCC03FDD-3A54-11D6-92A8-00A0245B3AC6}\AdHocSigner.exe 10:39:07| |::LaunchAppGetExitCode | Parameters: "C:\Program Files (x86)\Common Files\Siemens\PTTouchinput\TouchInputPC.exe" 10:39:07| |::LaunchAppGetExitCode | StartDir: C:\Program Files (x86)\Common Files\Siemens\PTTouchinput 10:39:07| |::LaunchAppGetExitCode | Silent: 1 10:39:07| |::LaunchAppGetExitCodeC | call CreateProcess 10:39:07| |::LaunchAppGetExitCodeC | TimeOutWaitingForAppl= 10 minutes 10:39:21| |::LaunchAppGetExitCodeC | WaitForSingleObject ReturnValue= 0 10:39:21| |::LaunchAppGetExitCode | END LaunchAppGetExitCode ReturnValue= -2147483392 10:39:21| |StartAppl | Elapsed time= 14,1 seconds 10:39:21| |StartAppl | Successfully started: C:\users\focht\Temp{CCC03FDD-3A54-11D6-92A8-00A0245B3AC6}\AdHocSigner.exe "C:\Program Files (x86)\Common Files\Siemens\PTTouchinput\TouchInputPC.exe" ReturnValue=-2147483392 10:39:21| | | 10:39:21| |StartAppl | Appl2= 10:39:21| |StartAppl | END StartApplAfter ReturnValue=0 --- snip ---
'Mssign32.dll' seems to be dynamically loaded at runtime.
Two functions are referenced:
* SignerSignEx -> https://docs.microsoft.com/en-us/windows/desktop/seccrypto/signersignex * SignerFreeSignerContext -> https://docs.microsoft.com/en-us/windows/desktop/seccrypto/signerfreesignerc...
Wine source:
https://source.winehq.org/git/wine.git/blob/HEAD:/dlls/mssign32/mssign32.spe...
--- snip --- 25 @ stub SignerFreeSignerContext 26 @ stub SignerSign 27 @ stub SignerSignEx --- snip ---
$ sha1sum SIMATIC_WinCC_Runtime_Advanced_V15_1.exe db1f97bb648b62fa1c5d974d7f2bcb6b4a9fd786 SIMATIC_WinCC_Runtime_Advanced_V15_1.exe
$ du -sh SIMATIC_WinCC_Runtime_Advanced_V15_1.exe 1.3G SIMATIC_WinCC_Runtime_Advanced_V15_1.exe
$ wine --version wine-4.4-188-gc988910cae
Regards
https://bugs.winehq.org/show_bug.cgi?id=46903
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |dotnet, download, Installer URL| |https://support.industry.si | |emens.com/cs/document/10976 | |1576/simatic-wincc-v15-1-ru | |ntime-(tia-portal)?dti=0&lc | |=en-US
https://bugs.winehq.org/show_bug.cgi?id=46903
--- Comment #1 from Gijs Vermeulen gijsvrm@gmail.com --- Created attachment 64082 --> https://bugs.winehq.org/attachment.cgi?id=64082 test patch
Is this enough to make it stop crashing?
https://bugs.winehq.org/show_bug.cgi?id=46903
--- Comment #2 from Anastasius Focht focht@gmx.net --- Hello Gijs,
--- quote --- Is this enough to make it stop crashing? --- quote ---
Yes.
--- snip --- $ WINEDEBUG=+seh,+relay,+mssign wine ./ADHOCSIGNER.EXE ./TouchInputPC.exe
log.txt 2>&1
... 00be:Call KERNEL32.LoadLibraryA(004035f0 "MSSIGN32") ret=00402609 ... 00be:Ret KERNEL32.LoadLibraryA() retval=7c980000 ret=00402609 00be:Call KERNEL32.GetProcAddress(7c980000,004035d8 "SignerFreeSignerContext") ret=0040262a 00be:Ret KERNEL32.GetProcAddress() retval=7c984c28 ret=0040262a 00be:Call KERNEL32.GetProcAddress(7c980000,004035c8 "SignerSignEx") ret=0040262a 00be:Ret KERNEL32.GetProcAddress() retval=7c984c50 ret=0040262a 00be:Call mssign32.SignerSignEx(00000000,0033fac0,0033fad0,0033faa8,00000000,00000000,00000000,00000000,0033fafc) ret=00401e6a 00be:fixme:mssign:SignerSignEx 0 0x33fac0 0x33fad0 0x33faa8 (nil) (null) (nil) (nil) 0x33fad0 stub 00be:Ret mssign32.SignerSignEx() retval=80004001 ret=00401e6a 00be:Call KERNEL32.FormatMessageW(00002500,00403308,00000000,00000000,0033fb9c,00000000,00162df0) ret=00401808 00be:Ret KERNEL32.FormatMessageW() retval=0000001d ret=00401808 ... 00be:Call KERNEL32.FormatMessageA(00000500,004032e8,00000000,00000000,0033faf4,00000000,0033faf0) ret=00401679 00be:Ret KERNEL32.FormatMessageA() retval=0000002a ret=00401679 00be:Call KERNEL32.lstrlenA(00164c00 "[80004001] SignFile "./TouchInputPC.exe"\r\n") ret=00401859 00be:Ret KERNEL32.lstrlenA() retval=0000002a ret=00401859 00be:Call KERNEL32.WriteFile(0000006c,00164c00,0000002a,0033fba4,00000000) ret=0040188d 00be:Ret KERNEL32.WriteFile() retval=00000001 ret=0040188d ... --- snip ---
Regards
https://bugs.winehq.org/show_bug.cgi?id=46903
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |e71bb692f3ea33fee32c6d68946 | |098a5e1d89444 Resolution|--- |FIXED Status|NEW |RESOLVED
--- Comment #3 from Anastasius Focht focht@gmx.net --- Hello folks,
this is fixed by commits:
* https://source.winehq.org/git/wine.git/commitdiff/ec814c107470e6dd63cf33ed2c... ("mssign32: Add SignerSignEx stub.") * https://source.winehq.org/git/wine.git/commitdiff/e71bb692f3ea33fee32c6d6894... ("mssign32: Implement SignerFreeSignerContext.")
Thanks Gijs
$ wine --version wine-4.5-185-g17056908ac
Regards
https://bugs.winehq.org/show_bug.cgi?id=46903
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #4 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 4.6.
https://bugs.winehq.org/show_bug.cgi?id=46903
Michael Stefaniuc mstefani@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |4.0.x
https://bugs.winehq.org/show_bug.cgi?id=46903
Michael Stefaniuc mstefani@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|4.0.x |---
--- Comment #5 from Michael Stefaniuc mstefani@winehq.org --- Removing the 4.0.x milestone from bug fixes included in 4.0.2.
https://bugs.winehq.org/show_bug.cgi?id=46903
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL|https://support.industry.si |https://archive.org/downloa |emens.com/cs/document/10976 |d/simatic-win-cc-runtime-ad |1576/simatic-wincc-v15-1-ru |vanced-v-15-1/SIMATIC_WinCC |ntime-(tia-portal)?dti=0&lc |_Runtime_Advanced_V15_1.exe |=en-US |