[Bug 44469] New: Windows 10 DISM pkgmgr.exe crashes due to multiple api-ms-win-crt-private-l1-1-0.dll._o__xxx stubs /forwards to 'ucrtbase' missing ( added with Windows 10 Version 1507 OS build 10586)

wine-bugs at winehq.org wine-bugs at winehq.org
Sat Feb 3 06:57:06 CST 2018


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

            Bug ID: 44469
           Summary: Windows 10 DISM pkgmgr.exe crashes due to multiple
                    api-ms-win-crt-private-l1-1-0.dll._o__xxx
                    stubs/forwards to 'ucrtbase' missing (added with
                    Windows 10 Version 1507 OS build 10586)
           Product: Wine
           Version: 3.1
          Hardware: x86
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: api-ms-win-*
          Assignee: wine-bugs at winehq.org
          Reporter: focht at gmx.net
      Distribution: ---

Hello folks,

continuation of bug 44430

Steps to reproduce

--- snip ---
# clean WINEPREFIX

$ winetricks -q dotnet452 corefonts
$ winetricks -q win10

$ wine adksetup.exe /features OptionId.DeploymentTools

$ pwd
/home/focht/.wine/drive_c/Program Files/Windows Kits/10/Assessment and
Deployment Kit/Deployment Tools/x86/DISM

$ wine ./pkgmgr.exe 
...
wine: Call from 0x7bc62a40 to unimplemented function
api-ms-win-crt-private-l1-1-0.dll._o__set_app_type, aborting
wine: Call from 0x7bc62a40 to unimplemented function
api-ms-win-crt-private-l1-1-0.dll._o__seh_filter_exe, aborting
--- snip ---

The unresolved imports:

--- snip ---
$  WINEDEBUG=warn+module wine ./pkgmgr.exe 
01e4:warn:module:import_dll No implementation for
api-ms-win-crt-private-l1-1-0.dll._o__exit imported from L"C:\\Program
Files\\Windows Kits\\10\\Assessment and Deployment Kit\\Deployment
Tools\\x86\\DISM\\pkgmgr.exe", setting to 0x340000
01e4:warn:module:import_dll No implementation for
api-ms-win-crt-private-l1-1-0.dll._o__get_initial_wide_environment imported
from L"C:\\Program Files\\Windows Kits\\10\\Assessment and Deployment
Kit\\Deployment Tools\\x86\\DISM\\pkgmgr.exe", setting to 0x34000f
01e4:warn:module:import_dll No implementation for
api-ms-win-crt-private-l1-1-0.dll._o__initialize_wide_environment imported from
L"C:\\Program Files\\Windows Kits\\10\\Assessment and Deployment
Kit\\Deployment Tools\\x86\\DISM\\pkgmgr.exe", setting to 0x34001e
01e4:warn:module:import_dll No implementation for
api-ms-win-crt-private-l1-1-0.dll._o__seh_filter_exe imported from
L"C:\\Program Files\\Windows Kits\\10\\Assessment and Deployment
Kit\\Deployment Tools\\x86\\DISM\\pkgmgr.exe", setting to 0x34002d
01e4:warn:module:import_dll No implementation for
api-ms-win-crt-private-l1-1-0.dll._o__set_app_type imported from L"C:\\Program
Files\\Windows Kits\\10\\Assessment and Deployment Kit\\Deployment
Tools\\x86\\DISM\\pkgmgr.exe", setting to 0x34003c
01e4:warn:module:import_dll No implementation for
api-ms-win-crt-private-l1-1-0.dll._o__set_fmode imported from L"C:\\Program
Files\\Windows Kits\\10\\Assessment and Deployment Kit\\Deployment
Tools\\x86\\DISM\\pkgmgr.exe", setting to 0x34004b
01e4:warn:module:import_dll No implementation for
api-ms-win-crt-private-l1-1-0.dll._o_exit imported from L"C:\\Program
Files\\Windows Kits\\10\\Assessment and Deployment Kit\\Deployment
Tools\\x86\\DISM\\pkgmgr.exe", setting to 0x34005a
01e4:warn:module:import_dll No implementation for
api-ms-win-crt-private-l1-1-0.dll._o__crt_atexit imported from L"C:\\Program
Files\\Windows Kits\\10\\Assessment and Deployment Kit\\Deployment
Tools\\x86\\DISM\\pkgmgr.exe", setting to 0x340069
01e4:warn:module:import_dll No implementation for
api-ms-win-crt-private-l1-1-0.dll._o__controlfp_s imported from L"C:\\Program
Files\\Windows Kits\\10\\Assessment and Deployment Kit\\Deployment
Tools\\x86\\DISM\\pkgmgr.exe", setting to 0x340078
01e4:warn:module:import_dll No implementation for
api-ms-win-crt-private-l1-1-0.dll._o__configthreadlocale imported from
L"C:\\Program Files\\Windows Kits\\10\\Assessment and Deployment
Kit\\Deployment Tools\\x86\\DISM\\pkgmgr.exe", setting to 0x340087
01e4:warn:module:import_dll No implementation for
api-ms-win-crt-private-l1-1-0.dll._o__cexit imported from L"C:\\Program
Files\\Windows Kits\\10\\Assessment and Deployment Kit\\Deployment
Tools\\x86\\DISM\\pkgmgr.exe", setting to 0x340096
--- snip ---

api-ms-win-crt-private-l1-1-0.dll._o__cexit
api-ms-win-crt-private-l1-1-0.dll._o__configthreadlocale
api-ms-win-crt-private-l1-1-0.dll._o__controlfp_s
api-ms-win-crt-private-l1-1-0.dll._o__crt_atexit
api-ms-win-crt-private-l1-1-0.dll._o_exit
api-ms-win-crt-private-l1-1-0.dll._o__exit
api-ms-win-crt-private-l1-1-0.dll._o__get_initial_wide_environment
api-ms-win-crt-private-l1-1-0.dll._o__initialize_wide_environment
api-ms-win-crt-private-l1-1-0.dll._o__seh_filter_exe
api-ms-win-crt-private-l1-1-0.dll._o__set_app_type
api-ms-win-crt-private-l1-1-0.dll._o__set_fmode

It's unfortunate that the initial commit which adds
'api-ms-win-crt-private-l1-1-0.dll' doesn't tell which exact Windows version
*and* build and/or Windows SDK version was used to generate the export list.

https://source.winehq.org/git/wine.git/commitdiff/a3e183572a7621635025fed02c2ca771b203fbdf

Also no Bugzilla ticket found related to the addition:

https://bugs.winehq.org/buglist.cgi?bug_status=bug_status%3DCLOSED&f1=cf_fixedby_sha1sum&j_top=OR&list_id=573795&o1=equals&product=Wine&query_format=advanced&v1=a3e183572a7621635025fed02c2ca771b203fbdf

After some archaeology I found it mentioned in the mailing list: 

https://www.winehq.org/pipermail/wine-patches/2015-August/

https://www.winehq.org/pipermail/wine-patches/2015-August/141297.html ("[PATCH
v2 01/22] ucrtbase: Add the new universal CRT DLL.")
...
https://www.winehq.org/pipermail/wine-patches/2015-August/141306.html ("[PATCH
v2 16/22] api-ms-win-crt-private-l1-1-0: Add stub dll.")

--- quote ---
...
Since MSVC 2015/Windows 10, the C runtime has now been split into two
parts, ucrtbase, which is the generic C runtime which is now considered
a system component (in Windows 10, and as an extra installed runtime
component for older Windows version), and vcruntimeX which is specific
to the compiler version.

This uses the msvcrt implementation, just like the earlier msvcr* DLLs.

Functions with names that existed in msvcr120 are hooked up so far.
---
This is updated, based on ucrtbase.dll from Windows 10 RTM.
---
--- quote ---

https://technet.microsoft.com/en-us/en-en/windows/release-info.aspx

Windows 10 RTM -> Version 1507 (RTM) -> my guess it's OS build 10240.16xxx
where the initial dump information was generated from.

https://www.opendll.com/index.php?file-download=api-ms-win-crt-private-l1-1-0.dll&arch=32bit&version=10.0.10586.212&dsc=ApiSet%20Stub%20DLL

-> 10.0.10586.212 shows these imports/exports so it's likely the API set was
updated in Windows 10 Version 1511 (OS build 10586)

That's why I like have tickets (preferably with exact information on origin)
when new (stub) dlls are added to avoid wasting time for this kind of research.

$ sha1sum adksetup.exe 
92892e71b083fc46c907b657c300ffc32608d223  adksetup.exe

$ du -sh adksetup.exe 
1.7M    adksetup.exe

$ wine --version
wine-3.0-180-g85635db0ea

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