[Bug 45449] New: Add diagnostic 'mscoree.dll.CorGetSvc' stub (NGEN client) to hint at broken Microsoft .NET Frameworks installation ( Wine-Mono not uninstalled and 'mscoree.dll' placeholders not removed prior install)
wine-bugs at winehq.org
wine-bugs at winehq.org
Fri Jul 13 17:39:35 CDT 2018
https://bugs.winehq.org/show_bug.cgi?id=45449
Bug ID: 45449
Summary: Add diagnostic 'mscoree.dll.CorGetSvc' stub (NGEN
client) to hint at broken Microsoft .NET Frameworks
installation (Wine-Mono not uninstalled and
'mscoree.dll' placeholders not removed prior install)
Product: Wine
Version: 3.12
Hardware: x86-64
OS: Linux
Status: NEW
Severity: normal
Priority: P2
Component: mscoree
Assignee: wine-bugs at winehq.org
Reporter: focht at gmx.net
Distribution: ---
Hello folks,
continuation of bug 45333 (diagnostics for the NGEN server side).
The client side 'ngen.exe' calls unimplemented 'mscoree.dll.CorGetSvc'.
NOTE: MSI (CA) server is currently broken/regressed for 64-bit WINEPREFIXes, so
a broken .NET installation can't be tested there.
Prepare a broken 32-bit WINEPREFIX:
--- snip ---
$ wineserver -k
$ rm -rf .wine
$ export WINEARCH=win32
$ wineboot
$ wine uninstaller --list
{BB9BDB97-C247-4F20-B710-8B6765F67105}|||Wine Gecko (32-bit)
{E45D8920-A758-4088-B6C6-31DBB276992E}|||Wine Mono
$ wine uninstaller --remove {E45D8920-A758-4088-B6C6-31DBB276992E}
# to be really sure 'mscoree.dll' won't get updated -> keeps Wine's placeholder
$ winetricks win7
# run .NET 4.0 installer without 'winetricks'
$ wine ./dotNetFx40_Full_x86_x64.exe
...
# really check if placeholder is still there
$ winedump .wine/drive_c/windows/system32/mscoree.dll
Contents of .wine/drive_c/windows/system32/mscoree.dll: 5236 bytes
*** This is a Wine fake DLL ***
File Header
Machine: 014C (i386)
Number of Sections: 3
TimeDateStamp: 00000000 (Thu Jan 1 01:00:00 1970) offset 104
PointerToSymbolTable: 00000000
NumberOfSymbols: 00000000
SizeOfOptionalHeader: 00E0
Characteristics: 2022
EXECUTABLE_IMAGE
LARGE_ADDRESS_AWARE
DLL
...
--- snip ---
Test by trigger .NET GAC update:
--- snip ---
$ wine "c:\\windows\\Microsoft.NET\\Framework\\v4.0.30319\\ngen.exe" update
0012:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub
0012:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub
0016:fixme:service:svcctl_ChangeServiceConfig2W SERVICE_CONFIG_FAILURE_ACTIONS
not implemented: period 86400 msg (null) cmd (null)
0019:fixme:process:SetProcessShutdownParameters (00000380, 00000000): partial
stub.
0019:err:winediag:CorIsLatestSvc If this function is called, it is likely the
result of a broken .NET installation
0019:fixme:advapi:RegisterEventSourceW ((null),L".NET Runtime Optimization
Service"): stub
0019:fixme:advapi:ReportEventW
(0xcafe4242,0x0001,0x0000,0x0000044f,(nil),0x0001,0x00000000,0x76f9d0,(nil)):
stub
0019:err:eventlog:ReportEventW L".NET Runtime Optimization Service
(clr_optimization_v4.0.30319_32) - Tried to start a service that wasn't the
latest version of CLR Optimization service. Will shutdown\n"
0019:fixme:advapi:DeregisterEventSource (0xcafe4242) stub
0009:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub
0009:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub
wine: Call from 0x7b447132 to unimplemented function mscoree.dll.CorGetSvc,
aborting
Unknown exception
--- snip ---
That one is actually documented:
https://github.com/dotnet/coreclr/blob/master/src/inc/mscorsvc.idl#L21
--- snip ---
#pragma midl_echo("STDAPI CorGetSvc(IUnknown **pIUnknown);")
--- snip ---
With a stub added, returning default 'CLR_E_SHIM_RUNTIMEEXPORT':
--- snip ---
0009:Call mscoree.CorGetSvc(0033f9f8) ret=1000df20
0009:fixme:mscoree:CorGetSvc stub(0x33f9f8)!
0009:Ret mscoree.CorGetSvc() retval=80131701 ret=1000df20
0009:Call KERNEL32.GetLastError() ret=1000f4c7
0009:Ret KERNEL32.GetLastError() retval=000000b7 ret=1000f4c7
...
0009:Call KERNEL32.GetLastError() ret=1000f417
0009:Ret KERNEL32.GetLastError() retval=000000b7 ret=1000f417
...
0009:Call KERNEL32.RaiseException(e06d7363,00000001,00000003,0033f9a4)
ret=79084c0f
0009:trace:seh:raise_exception code=e06d7363 flags=1 addr=0x7b446fe6
ip=7b446fe6 tid=0009
0009:trace:seh:raise_exception info[0]=19930520
0009:trace:seh:raise_exception info[1]=0033f9e4
0009:trace:seh:raise_exception info[2]=1001a760
0009:trace:seh:raise_exception eax=7b4356b1 ebx=00000000 ecx=00000000
edx=0033f990 esi=0033f990 edi=0033f950
0009:trace:seh:raise_exception ebp=0033f928 esp=0033f8c4 cs=330023 ds=33002b
es=f7bc002b fs=f7bc0063 gs=f7bc006b flags=00000212
0009:trace:seh:call_stack_handlers calling handler at 0x10018276 code=e06d7363
flags=1
...
Failed to find a required export in the runtime. (Exception from HRESULT:
0x80131701)
...
--- snip ---
$ wine --version
wine-3.12-110-g414fe80aeb
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