[Bug 46101] Multiple ARM64 apps from Windows 10 SDK (10.0.17763.x) crash on unimplemented function api-ms-win-core-libraryloader-l1-2-1.dll.GetModuleHandleW

wine-bugs at winehq.org wine-bugs at winehq.org
Fri Nov 23 12:52:30 CST 2018


https://bugs.winehq.org/show_bug.cgi?id=46101

--- Comment #7 from Anastasius Focht <focht at gmx.net> ---
Hello folks,

thanks, the app runs now.

--- snip ---
$ pwd
/home/focht/projects/woa-winrt/win10sdk-install/Windows
Kits/10/bin/10.0.17763.0/arm64

$ WINEDEBUG=+seh,+loaddll,+process wine64 ./DeployUtil.exe
...
0009:trace:loaddll:load_native_dll Loaded
L"Z:\\home\\focht\\projects\\woa-winrt\\win10sdk-install\\Windows
Kits\\10\\bin\\10.0.17763.0\\arm64\\DeployUtil.exe" at 0x140000000: native
0009:trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\msvcrt.dll"
at 0x7f8fa20000: builtin
0009:trace:loaddll:load_builtin_dll Loaded
L"C:\\windows\\system32\\api-ms-win-core-file-l1-2-2.dll" at 0x7f8f8e0000:
builtin
0009:trace:loaddll:load_builtin_dll Loaded
L"C:\\windows\\system32\\api-ms-win-core-errorhandling-l1-1-3.dll" at
0x7f8f8c0000: builtin
0009:trace:loaddll:load_builtin_dll Loaded
L"C:\\windows\\system32\\api-ms-win-core-winrt-l1-1-0.dll" at 0x7f8f8a0000:
builtin
0009:trace:loaddll:load_builtin_dll Loaded
L"C:\\windows\\system32\\advapi32.dll" at 0x7f8f7d0000: builtin
0009:trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\gdi32.dll"
at 0x7f8f190000: builtin
0009:trace:loaddll:load_builtin_dll Loaded
L"C:\\windows\\system32\\version.dll" at 0x7f8f150000: builtin
0009:trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\user32.dll"
at 0x7f8f360000: builtin
0009:trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\rpcrt4.dll"
at 0x7f8f0a0000: builtin
0009:trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\ole32.dll"
at 0x7f8f610000: builtin
0009:trace:loaddll:load_builtin_dll Loaded
L"C:\\windows\\system32\\combase.dll" at 0x7f8f870000: builtin
0009:trace:loaddll:load_builtin_dll Loaded
L"C:\\windows\\system32\\api-ms-win-core-com-l1-1-1.dll" at 0x7f8f070000:
builtin
0009:trace:loaddll:load_builtin_dll Loaded
L"C:\\windows\\system32\\api-ms-win-core-winrt-string-l1-1-1.dll" at
0x7f8f050000: builtin
0009:trace:loaddll:load_builtin_dll Loaded
L"C:\\windows\\system32\\oleaut32.dll" at 0x7f8eeb0000: builtin
0009:trace:loaddll:load_builtin_dll Loaded
L"C:\\windows\\system32\\api-ms-win-core-handle-l1-1-0.dll" at 0x7f8ee70000:
builtin
0009:trace:loaddll:load_builtin_dll Loaded
L"C:\\windows\\system32\\api-ms-win-core-synch-l1-2-1.dll" at 0x7f8ee50000:
builtin
0009:trace:loaddll:load_builtin_dll Loaded
L"C:\\windows\\system32\\api-ms-win-core-winrt-error-l1-1-1.dll" at
0x7f8ee30000: builtin
0009:trace:loaddll:load_builtin_dll Loaded
L"C:\\windows\\system32\\api-ms-win-core-libraryloader-l1-2-1.dll" at
0x7f8ee00000: builtin
0009:trace:loaddll:load_builtin_dll Loaded
L"C:\\windows\\system32\\api-ms-win-core-rtlsupport-l1-2-0.dll" at
0x7f8ede0000: builtin
0009:trace:loaddll:load_builtin_dll Loaded
L"C:\\windows\\system32\\api-ms-win-core-processthreads-l1-1-3.dll" at
0x7f8edc0000: builtin
0009:trace:loaddll:load_builtin_dll Loaded
L"C:\\windows\\system32\\shlwapi.dll" at 0x7f8e240000: builtin
0009:trace:loaddll:load_builtin_dll Loaded
L"C:\\windows\\system32\\shell32.dll" at 0x7f8e2e0000: builtin
0009:trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\mpr.dll" at
0x7f8e130000: builtin
0009:trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\ws2_32.dll"
at 0x7f8e0e0000: builtin
0009:trace:loaddll:load_builtin_dll Loaded
L"C:\\windows\\system32\\wininet.dll" at 0x7f8e190000: builtin
0009:trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\urlmon.dll"
at 0x7f8ecf0000: builtin
0009:trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\imm32.dll"
at 0x7f8df10000: builtin
0009:trace:process:NtQueryInformationProcess
(0xffffffffffffffff,0x0000000c,0x22e378,0x00000004,(nil))
...
--- snip ---

@Martin

--- quote ---
When looking at the import libraries from Win SDK 10.0.17763.0, the mincore.lib
and onecore_apiset.lib files (at least arm64 and x64, I didn't check the
others) contain references to this function in
api-ms-win-core-libraryloader-l1-2-1.dll, so if linking against any of these
import libraries, you'll end up needing this function in exactly this apiset
DLL. (It doesn't seem to be listed on the Microsoft Docs page over all APIs
present in all Windows 10 versions however.)
--- quote ---

Indeed the info there is kinda inconsistent:

https://docs.microsoft.com/en-us/windows/desktop/apiindex/umbrella-lib-onecoreuap#apis-from-api-ms-win-core-libraryloader-l1-2-1dll

Dumping the relevant import descriptor across all Win10 SDK import libs:

--- snip ---
$  pwd
/home/focht/projects/woa-winrt/win10sdk-install/Windows Kits/10

$ grep -ralZ FindResourceW --include \*.lib | xargs -r0i bash -c "echo \"{}\"
&& winedump -j import \"{}\" | egrep \(\" :
FindResourceW\"\|\"__imp_FindResourceW\"\) -B6 -A4"

Lib/10.0.17763.0/um/x64/mincore.lib
   eb3b6 SizeofResource
   eb3b6 __imp_SizeofResource
   eb43e __IMPORT_DESCRIPTOR_api-ms-win-core-libraryloader-l1-2-1
   eb6f4 __NULL_IMPORT_DESCRIPTOR
   eb866 api-ms-win-core-libraryloader-l1-2-1_NULL_THUNK_DATA
   eba10 FindResourceW
   eba10 __imp_FindResourceW
   eba98 LoadLibraryA
   eba98 __imp_LoadLibraryA
   ebb1e LoadLibraryW
   ebb1e __imp_LoadLibraryW
--
     941 __imp_FindNextFileA
     98b __imp_FindNextFileNameW
     942 __imp_FindNextFileW
     98c __imp_FindNextStreamW
     943 __imp_FindNextVolumeW
     9e6 __imp_FindResourceExW
     9fe __imp_FindResourceW
     9e7 __imp_FindStringOrdinal
     944 __imp_FindVolumeClose
     922 __imp_FlsAlloc
     923 __imp_FlsFree
--

  Version      : 0
  Machine      : 8664 (AMD64)
  TimeDateStamp: FFFFFFFF Sun Feb  7 07:28:15 2106
  SizeOfData   : 00000037
  DLL name     : api-ms-win-core-libraryloader-l1-2-1.dll
  Symbol name  : FindResourceW
  Type         : code
  Name type    : name
  Hint         : 10

Lib/10.0.17763.0/um/arm64/mincore.lib
   eafc0 SizeofResource
   eafc0 __imp_SizeofResource
   eb048 __IMPORT_DESCRIPTOR_api-ms-win-core-libraryloader-l1-2-1
   eb2fe __NULL_IMPORT_DESCRIPTOR
   eb470 api-ms-win-core-libraryloader-l1-2-1_NULL_THUNK_DATA
   eb61a FindResourceW
   eb61a __imp_FindResourceW
   eb6a2 LoadLibraryA
   eb6a2 __imp_LoadLibraryA
   eb728 LoadLibraryW
   eb728 __imp_LoadLibraryW
--
     93d __imp_FindNextFileA
     987 __imp_FindNextFileNameW
     93e __imp_FindNextFileW
     988 __imp_FindNextStreamW
     93f __imp_FindNextVolumeW
     9e2 __imp_FindResourceExW
     9fa __imp_FindResourceW
     9e3 __imp_FindStringOrdinal
     940 __imp_FindVolumeClose
     91e __imp_FlsAlloc
     91f __imp_FlsFree
--

  Version      : 0
  Machine      : AA64 (ARM64)
  TimeDateStamp: FFFFFFFF Sun Feb  7 07:28:15 2106
  SizeOfData   : 00000037
  DLL name     : api-ms-win-core-libraryloader-l1-2-1.dll
  Symbol name  : FindResourceW
  Type         : code
  Name type    : name
  Hint         : 10

Lib/10.0.17763.0/um/x86/mincore.lib
Lib/10.0.17763.0/um/x86/unicows.lib
Lib/10.0.17763.0/um/arm/mincore.lib
   e8f30 SizeofResource
   e8f30 __imp_SizeofResource
   e8fb8 __IMPORT_DESCRIPTOR_api-ms-win-core-libraryloader-l1-2-1
   e926e __NULL_IMPORT_DESCRIPTOR
   e93e0 api-ms-win-core-libraryloader-l1-2-1_NULL_THUNK_DATA
   e9582 FindResourceW
   e9582 __imp_FindResourceW
   e960a LoadLibraryA
   e960a __imp_LoadLibraryA
   e9690 LoadLibraryW
   e9690 __imp_LoadLibraryW
--
     92d __imp_FindNextFileA
     977 __imp_FindNextFileNameW
     92e __imp_FindNextFileW
     978 __imp_FindNextStreamW
     92f __imp_FindNextVolumeW
     9d2 __imp_FindResourceExW
     9ea __imp_FindResourceW
     9d3 __imp_FindStringOrdinal
     930 __imp_FindVolumeClose
     90e __imp_FlsAlloc
     90f __imp_FlsFree
--

  Version      : 0
  Machine      : 1C4 (ARMNT)
  TimeDateStamp: FFFFFFFF Sun Feb  7 07:28:15 2106
  SizeOfData   : 00000037
  DLL name     : api-ms-win-core-libraryloader-l1-2-1.dll
  Symbol name  : FindResourceW
  Type         : code
  Name type    : name
  Hint         : 10

Extension SDKs/WindowsMobile/10.0.17763.0/lib/um/x86/onecoreuap.lib
Extension SDKs/WindowsMobile/10.0.17763.0/lib/um/arm/onecoreuap.lib
   b146c SizeofResource
   b146c __imp_SizeofResource
   b14f4 __IMPORT_DESCRIPTOR_api-ms-win-core-libraryloader-l1-2-1
   b17aa __NULL_IMPORT_DESCRIPTOR
   b191c api-ms-win-core-libraryloader-l1-2-1_NULL_THUNK_DATA
   b1abe FindResourceW
   b1abe __imp_FindResourceW
   b1b46 LoadLibraryA
   b1b46 __imp_LoadLibraryA
   b1bcc LoadLibraryW
   b1bcc __imp_LoadLibraryW
--
     288 __imp_FindNextVolumeMountPointW
     1af __imp_FindNextVolumeW
       5 __imp_FindPackagesByPackageFamily
     289 __imp_FindResourceA
     28a __imp_FindResourceExA
     2d8 __imp_FindResourceExW
     2f0 __imp_FindResourceW
     2d9 __imp_FindStringOrdinal
     1b0 __imp_FindVolumeClose
     28b __imp_FindVolumeMountPointClose
     172 __imp_FlsAlloc
--

  Version      : 0
  Machine      : 1C4 (ARMNT)
  TimeDateStamp: FFFFFFFF Sun Feb  7 07:28:15 2106
  SizeOfData   : 00000037
  DLL name     : api-ms-win-core-libraryloader-l1-2-1.dll
  Symbol name  : FindResourceW
  Type         : code
  Name type    : name
  Hint         : 28
--- snip ---

I guess that could be handled in follow-up patch.

Make sure to include the dll/lib version you generated the .spec file from in
the commit message.

$ wine --version
wine-3.20-280-g6341fa89a6

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