https://bugs.winehq.org/show_bug.cgi?id=37548
Bug ID: 37548 Summary: .NET applications using native .NET Frameworks fail to load, reporting 'CLR error: 80004005. The program will now terminate.' ('RtlAddVectoredContinueHandler' is a stub) Product: Wine Version: 1.7.30 Hardware: x86 OS: Linux Status: NEW Severity: normal Priority: P2 Component: ntdll Assignee: wine-bugs@winehq.org Reporter: focht@gmx.net Distribution: ---
Hello folks,
since the addition of vectored continue handlers (http://source.winehq.org/git/wine.git/commitdiff/4c0ceacee0413031f129d2e62be...), .NET apps using MS .NET Frameworks fail to load.
Example: 'KeePass Password Safe' (.NET 2.0 based)
Download: http://sourceforge.net/projects/keepass/files/KeePass 2.x/2.28/KeePass-2.28-Setup.exe
Prerequisite: 'winetricks -q dotnet20'
--- snip --- $ pwd /home/focht/.wine/drive_c/Program Files/KeePass Password Safe 2 ... $ WINEDEBUG=+tid,+seh,+relay wine ./KeePass.exe >>log.txt 2>&1 ... 002a:Call KERNEL32.GetModuleHandleW(79e7fcf4 L"kernel32.dll") ret=79ed0a64 002a:Ret KERNEL32.GetModuleHandleW() retval=7b810000 ret=79ed0a64 002a:Call KERNEL32.GetProcAddress(7b810000,79ed0ac8 "AddVectoredContinueHandler") ret=79ed0a79 002a:Ret KERNEL32.GetProcAddress() retval=7bc22b3c ret=79ed0a79 002a:Call KERNEL32.GetProcAddress(7b810000,79ed0aa8 "RemoveVectoredContinueHandler") ret=79ed0a86 002a:Ret KERNEL32.GetProcAddress() retval=7bc24324 ret=79ed0a86 002a:Call ntdll.RtlAddVectoredContinueHandler(00000001,7a05baae) ret=7a05e131 002a:fixme:seh:RtlAddVectoredContinueHandler 1 0x7a05baae stub 002a:Ret ntdll.RtlAddVectoredContinueHandler() retval=00000000 ret=7a05e131 ... 002a:Call msvcr80._CxxThrowException(0033fc70,79f9acc4) ret=79f97365 002a:Call KERNEL32.RaiseException(e06d7363,00000001,00000003,0033fbb4) ret=7e94e191 002a:trace:seh:raise_exception code=e06d7363 flags=1 addr=0x7b83af87 ip=7b83af87 tid=002a 002a:trace:seh:raise_exception info[0]=19930520 002a:trace:seh:raise_exception info[1]=0033fc70 002a:trace:seh:raise_exception info[2]=79f9acc4 002a:trace:seh:raise_exception eax=7b826e65 ebx=7b8be000 ecx=79f9acc4 edx=0033fb10 esi=0033fbb0 edi=0033fb70 002a:trace:seh:raise_exception ebp=0033fb48 esp=0033fae4 cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00000283 002a:trace:seh:call_stack_handlers calling handler at 0x79f9ab98 code=e06d7363 flags=1 002a:trace:seh:call_stack_handlers handler at 0x79f9ab98 returned 1 002a:trace:seh:call_stack_handlers calling handler at 0x79f93fe6 code=e06d7363 flags=1 .... 002a:trace:seh:call_stack_handlers handler at 0x79f93fe6 returned 1 002a:trace:seh:call_stack_handlers calling handler at 0x7a2ee06a code=e06d7363 flags=1 002a:trace:seh:cxx_frame_handler handling C++ exception rec 0x33faf0 frame 0x33fccc trylevel 4 descr 0x7a2ee090 nested_frame (nil) 002a:trace:seh:dump_exception_type flags 0 destr (nil) handler (nil) type info 0x79f9acd4 002a:trace:seh:dump_exception_type 0: flags 1 type 0x7a38fdf0 {vtable=0x79f9a3b0 name=.PAVEEMessageException@@ ()} offsets 0,-1,0 size 4 copy ctor (nil) 002a:trace:seh:dump_exception_type 1: flags 1 type 0x7a38fdb8 {vtable=0x79f9a3b0 name=.PAVEEException@@ ()} offsets 0,-1,0 size 4 copy ctor (nil) 002a:trace:seh:dump_exception_type 2: flags 1 type 0x7a38fdd4 {vtable=0x79f9a3b0 name=.PAVCLRException@@ ()} offsets 0,-1,0 size 4 copy ctor (nil) 002a:trace:seh:dump_exception_type 3: flags 1 type 0x7a38f788 {vtable=0x79f9a3b0 name=.PAVException@@ ()} offsets 0,-1,0 size 4 copy ctor (nil) 002a:trace:seh:dump_exception_type 4: flags 1 type 0x7a38f7ac {vtable=0x79f9a3b0 name=.PAX ()} offsets 0,-1,0 size 4 copy ctor (nil) ... ... 002a:Call user32.MessageBoxW(00010020,0033fab4 L"CLR error: 80004005.\n The program will now terminate.",0033f484 L"KeePass.exe - Fatal error",00001010) ret=7a127ae5 ... --- snip ---
$ sha1sum KeePass-2.28-Setup.exe cdcdb6f86112d2a7a5b7094b7c49a30fdb2d280c KeePass-2.28-Setup.exe
$ du -sh KeePass-2.28-Setup.exe 2.5M KeePass-2.28-Setup.exe
$ wine --version wine-1.7.30-181-gffd3135
Regards