[Bug 43472] R-Link 2 Toolbox crashes on startup (Wine's 'packager.dll' is preferred over native, causing failure to load app provided library with same name)
wine-bugs at winehq.org
wine-bugs at winehq.org
Wed Aug 2 19:32:23 CDT 2017
https://bugs.winehq.org/show_bug.cgi?id=43472
Anastasius Focht <focht at gmx.net> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |download
Ever confirmed|0 |1
CC| |focht at gmx.net
Summary|R-Link 2 Toolbox crashes on |R-Link 2 Toolbox crashes on
|startup |startup (Wine's
| |'packager.dll' is preferred
| |over native, causing
| |failure to load app
| |provided library with same
| |name)
URL| |https://rcs-rlmanager.aw.at
| |os.net/archives/win/RLink2T
| |oolbox-latest.exe
Status|UNCONFIRMED |NEW
--- Comment #2 from Anastasius Focht <focht at gmx.net> ---
Hello folks,
confirming.
Relevant part of trace log.
--- snip ---
$ pwd
/home/focht/.wine/drive_c/users/focht/Local Settings/Application Data/R-Link 2
Toolbox
$ WINEDEBUG=+tid,+seh,+relay,+loaddll,+module wine ./R-Link\ 2\ Toolbox.exe
>>log.txt 2>&1
...
00b8:Call KERNEL32.GetCommandLineW() ret=004021a9
00b8:Ret KERNEL32.GetCommandLineW() retval=00115968 ret=004021a9
00b8:Call shell32.CommandLineToArgvW(00115968 L"\"C:\\users\\focht\\Local
Settings\\Application Data\\R-Link 2 Toolbox\\R-Link 2 Toolbox.exe\"",0033fd88)
ret=004021b0
...
00b8:Ret shell32.CommandLineToArgvW() retval=00136948 ret=004021b0
00b8:Call KERNEL32.LoadLibraryW(004031f0 L"packager.dll") ret=004021c1
00b8:trace:module:load_dll looking for L"packager.dll" in
L"C:\\users\\focht\\Local Settings\\Application Data\\R-Link 2
Toolbox;.;C:\\windows\\system32;C:\\windows\\system;C:\\windows;C:\\windows\\system32;C:\\windows;C:\\windows\\system32\\wbem"
...
00b8:trace:module:get_load_order looking for L"C:\\users\\focht\\Local
Settings\\Application Data\\R-Link 2 Toolbox\\packager.dll"
00b8:trace:module:get_load_order got hardcoded default for
L"C:\\users\\focht\\Local Settings\\Application Data\\R-Link 2
Toolbox\\packager.dll"
00b8:trace:module:load_builtin_dll Trying built-in L"C:\\users\\focht\\Local
Settings\\Application Data\\R-Link 2 Toolbox\\packager.dll"
...
00b8:warn:module:load_builtin_dll failed to load .so lib for builtin
L"C:\\users\\focht\\Local Settings\\Application Data\\R-Link 2
Toolbox\\packager.dll": /home/focht/.wine/dosdevices/c:/users/focht/Local
Settings/Application Data/R-Link 2 Toolbox/packager.dll: invalid ELF header
00b8:trace:module:load_builtin_dll Trying built-in L"packager.dll"
...
00b8:trace:module:load_builtin_callback loaded packager.dll 0x136c60 0x7e2d0000
00b8:trace:loaddll:load_builtin_dll Loaded
L"C:\\windows\\system32\\packager.dll" at 0x7e2d0000: builtin
00b8:Call PE DLL (proc=0x7e2e24c9,module=0x7e2d0000
L"packager.dll",reason=WINE_PREATTACH,res=(nil))
00b8:Ret PE DLL (proc=0x7e2e24c9,module=0x7e2d0000
L"packager.dll",reason=WINE_PREATTACH,res=(nil)) retval=1
00b8:trace:module:load_dll Loaded module L"C:\\users\\focht\\Local
Settings\\Application Data\\R-Link 2 Toolbox\\packager.dll" (builtin) at
0x7e2d0000
00b8:trace:module:process_attach (L"packager.dll",(nil)) - START
00b8:Call PE DLL (proc=0x7e2e24c9,module=0x7e2d0000
L"packager.dll",reason=PROCESS_ATTACH,res=(nil))
00b8:Call KERNEL32.DisableThreadLibraryCalls(7e2d0000) ret=7e2e24b4
00b8:Ret KERNEL32.DisableThreadLibraryCalls() retval=00000001 ret=7e2e24b4
00b8:Ret PE DLL (proc=0x7e2e24c9,module=0x7e2d0000
L"packager.dll",reason=PROCESS_ATTACH,res=(nil)) retval=1
00b8:trace:module:process_attach (L"packager.dll",(nil)) - END
00b8:Ret KERNEL32.LoadLibraryW() retval=7e2d0000 ret=004021c1
00b8:Call KERNEL32.GetProcAddress(7e2d0000,00403224 "start_launcher")
ret=004022e8
00b8:Ret KERNEL32.GetProcAddress() retval=00000000 ret=004022e8
00b8:Call KERNEL32.GetProcAddress(7e2d0000,00403234 "stop_launcher")
ret=004022f2
00b8:Ret KERNEL32.GetProcAddress() retval=00000000 ret=004022f2
00b8:trace:seh:raise_exception code=c0000005 flags=0 addr=(nil) ip=00000000
tid=00b8
00b8:trace:seh:raise_exception info[0]=00000008
00b8:trace:seh:raise_exception info[1]=00000000
00b8:trace:seh:raise_exception eax=00000000 ebx=00000001 ecx=0041162c
edx=0000007f esi=00136948 edi=00000000
00b8:trace:seh:raise_exception ebp=7e2d0000 esp=0033fd6c cs=0023 ds=002b
es=002b fs=0063 gs=006b flags=00010202
00b8:trace:seh:call_stack_handlers calling handler at 0x4027e9 code=c0000005
flags=0
00b8:Call
msvcr120._except_handler4_common(0040400c,0040244a,0033fd14,0033fe30,0033fa48,0033f8fc)
ret=00402807
00b8:trace:seh:_except_handler4_common exception c0000005 flags=0 at (nil)
handler=0x4027e9 0x33fa48 0x33f8fc cookie=773ce092 scope table=0x4035d8
cookies=-2/0,-52/0
00b8:trace:seh:_except_handler4_common level 0 prev -2 filter 0x402721
00b8:Call msvcr120._XcptFilter(c0000005,0033f7a4) ret=00402732
00b8:trace:seh:_XcptFilter (c0000005,0x33f7a4)
00b8:Ret msvcr120._XcptFilter() retval=00000000 ret=00402732
00b8:trace:seh:_except_handler4_common filter returned CONTINUE_SEARCH
00b8:trace:seh:_except_handler4_common reached -2, returning
ExceptionContinueSearch
00b8:Ret msvcr120._except_handler4_common() retval=00000001 ret=00402807
00b8:trace:seh:call_stack_handlers handler at 0x4027e9 returned 1
00b8:trace:seh:call_stack_handlers calling handler at 0x7bcad785 code=c0000005
flags=0
00b8:Call KERNEL32.UnhandledExceptionFilter(0033f864) ret=7bcad7c0
wine: Unhandled page fault on execute access to 0x00000000 at address (nil)
(thread 00b8), starting debugger...
...
Backtrace:
=>0 0x00000000 (0x7e2d0000)
1 0x00000003 (0x00905a4d)
0x00000000: -- no code accessible --
Modules:
Module Address Debug info Name (40 modules)
PE 400000- 408000 Deferred r-link 2 toolbox
ELF 7b400000-7b7f0000 Deferred kernel32<elf>
\-PE 7b420000-7b7f0000 \ kernel32
ELF 7bc00000-7bd09000 Deferred ntdll<elf>
\-PE 7bc30000-7bd09000 \ ntdll
ELF 7c000000-7c004000 Deferred <wine-loader>
ELF 7e2ce000-7e2e7000 Deferred packager<elf>
\-PE 7e2d0000-7e2e7000 \ packager
ELF 7e2e7000-7e30c000 Deferred imm32<elf>
\-PE 7e2f0000-7e30c000 \ imm32
...
Threads:
process tid prio (all id:s are in hex)
...
000000b7 (D) C:\users\focht\Local Settings\Application Data\R-Link 2
Toolbox\R-Link 2 Toolbox.exe
000000b8 0 <==
--- snip ---
The app ships a library named 'packager.dll' in its install directory.
--- snip ---
$ pwd
/home/focht/.wine/drive_c/users/focht/Local Settings/Application Data/R-Link 2
Toolbox
$ ls -1sh
total 3.6M
0 app
448K msvcp120.dll
756K msvcr100.dll
952K msvcr120.dll
208K packager.dll
24K R-Link 2 Toolbox.exe
8.0K R-Link 2 Toolbox.ico
0 runtime
44K unins000.dat
1.2M unins000.exe
--- snip ---
Wine provides a builtin 'packager.dll' which is currently a stub for
Microsoft's Windows OLE Package Manager (Object Packager 2 component).
The builtin library is preferred by default over any native version (app
provided one).
The symbol lookup fails because the library has an entirely different meaning
-> different exports.
You can work around by:
--- snip ---
$ WINEDLLOVERRIDES=packager=n wine ./R-Link\ 2\ Toolbox.exe
--- snip ---
or setting the override permanently in registry using 'winecfg'.
Wine should prefer native over builtin (DLL_WINE_PREATTACH -> FALSE) for this
component.
https://source.winehq.org/git/wine.git/blob/HEAD:/dlls/packager/packager_main.c#l673
--- snip ---
673 BOOL WINAPI DllMain(HINSTANCE instance, DWORD reason, void *reserved)
674 {
675 TRACE("(%p, %u, %p)\n", instance, reason, reserved);
676
677 switch(reason){
678 case DLL_PROCESS_ATTACH:
679 g_instance = instance;
680 DisableThreadLibraryCalls(instance);
681 break;
682 }
683
684 return TRUE;
685 }
--- snip ---
$ sha1sum RLink2Toolbox-latest.exe
de7a9b3d62047d3cb4161b7e9a842269434b1762 RLink2Toolbox-latest.exe
$ du -sh RLink2Toolbox-latest.exe
48M RLink2Toolbox-latest.exe
$ wine --version
wine-2.13-94-g5d9a4c4dbd
Regards
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
More information about the wine-bugs
mailing list