[Bug 39863] New: Microsoft .NET Runtime Optimization Service 2.x terminates prematurely due to failure to hook up registry notifier ('RegNotifyChangeKeyValue' must treat NTSTATUS 'STATUS_PENDING' as success)
wine-bugs at winehq.org
wine-bugs at winehq.org
Sun Dec 27 08:00:50 CST 2015
https://bugs.winehq.org/show_bug.cgi?id=39863
Bug ID: 39863
Summary: Microsoft .NET Runtime Optimization Service 2.x
terminates prematurely due to failure to hook up
registry notifier ('RegNotifyChangeKeyValue' must
treat NTSTATUS 'STATUS_PENDING' as success)
Product: Wine
Version: 1.9.0
Hardware: x86-64
OS: Linux
Status: NEW
Severity: normal
Priority: P2
Component: advapi32
Assignee: wine-bugs at winehq.org
Reporter: focht at gmx.net
Distribution: ---
Hello folks,
as the summary says.
Encountered when installing/running .NET Framework 2.0 Service packs.
Prefix bootstrapping yields:
--- snip ---
$ wineboot
fixme:service:scmdatabase_autostart_services Auto-start service
L"clr_optimization_v2.0.50727_32" failed to start: 1053
--- snip ---
Relevant part of trace log:
--- snip ---
$ WINEDEBUG=+pid,+tid,+seh,+relay,+service,+reg,+ntdll,+server wineboot
>>log.txt 2>&1
...
0012:001a:trace:service:service_control_dispatcher got request 1 for service
L"clr_optimization_v2.0.50727_32"
...
0012:001a:trace:service:service_handle_start L"clr_optimization_v2.0.50727_32"
argsize 32
...
0012:001b:Call
ntdll.NtCreateKey(0094e18c,0002001f,0094e1f8,00000000,0094e1e8,00000000,00000000)
ret=7ec6f1f1
0012:001b:trace:reg:NtCreateKey
(0x14,L"SOFTWARE\\Microsoft\\.NetFramework\\v2.0.50727\\NGENService\\ListenedState",(null),0,2001f,0x94e18c)
0012:001b:trace:reg:NtCreateKey <- 0x7c
0012:001b:Ret ntdll.NtCreateKey() retval=00000000 ret=7ec6f1f1
...
0012:001b:Call KERNEL32.CreateEventW(00000000,00000001,00000000,00000000)
ret=6405c356
...
0012:001b:Ret KERNEL32.CreateEventW() retval=00000070 ret=6405c356
...
0012:001b:Call KERNEL32.ResetEvent(00000070) ret=6405a7bf
...
0012:001b:Ret KERNEL32.ResetEvent() retval=00000001 ret=6405a7bf
0012:001b:Call advapi32.RegOpenKeyExW(0000007c,6405137c
L"",00000000,00020019,0094e4fc) ret=64075e45
...
0012:001b:Ret advapi32.RegOpenKeyExW() retval=00000000 ret=64075e45
0012:001b:Call advapi32.RegQueryValueExW(00000084,64051a1c
L"RootstoreDirty",00000000,0094e4f8,0094e4e4,0094e4e0) ret=64076316
0012:001b:trace:reg:RegQueryValueExW
(0x84,L"RootstoreDirty",(nil),0x94e4f8,0x94e4e4,0x94e4e0=4)
...
0012:001b:Ret advapi32.RegQueryValueExW() retval=00000000 ret=64076316
...
0012:001b:Call
advapi32.RegNotifyChangeKeyValue(0000007c,00000000,00000004,00000070,00000001)
ret=6405a808
0012:001b:trace:reg:RegNotifyChangeKeyValue (0x7c,0,4,0x70,1)
0012:001b:Call
ntdll.NtNotifyChangeKey(0000007c,00000070,00000000,00000000,0094e48c,00000004,00000000,00000000,00000000,00000001)
ret=7ec73ed8
0012:001b:trace:reg:NtNotifyChangeMultipleKeys
(0x7c,0,(nil),0x70,(nil),(nil),0x94e48c,0x00000004,
0x00000001,(nil),0x00000000,0x00000000)
...
001b: set_registry_notification( hkey=007c, event=0070, subtree=0,
filter=00000004 )
001b: set_registry_notification() = PENDING
...
0012:001b:Ret ntdll.NtNotifyChangeKey() retval=00000103 ret=7ec73ed8
0012:001b:Call ntdll.RtlNtStatusToDosError(00000103) ret=7ec73ef8
0012:001b:Ret ntdll.RtlNtStatusToDosError() retval=000003e5 ret=7ec73ef8
0012:001b:Ret advapi32.RegNotifyChangeKeyValue() retval=000003e5 ret=6405a808
...
0012:001b:Call msvcr80._vsnwprintf_s(0094e2f0,00000079,ffffffff,64051d50
L"ResetDirtyRootStore(): Failed to hook up registry notifier\n",0094e50c)
ret=640721b7
...
0012:001b:Call msvcr80._vsnwprintf_s(0094e2f8,00000075,ffffffff,64052a10
L"InitController(): Failed to register root store notifier\n",0094e514)
ret=640721b7
...
0012:001b:Call msvcr80._vsnwprintf_s(0094e2f0,00000043,ffffffff,640522a8
L"ShutdownController(): Completed\n",0094e50c) ret=640721b7
...
0012:001b:Call msvcr80._vsnwprintf_s(0094e2f8,00000037,ffffffff,6405296c
L"InitController(): Failed\nr",0094e514) ret=640721b7
...
0012:001b:Call KERNEL32.TerminateProcess(ffffffff,00000001) ret=64067d49
0012:001b:Call ntdll.NtTerminateProcess(ffffffff,00000001) ret=7b86c228
0012: *process killed*
--- snip ---
Source:
http://source.winehq.org/git/wine.git/blob/723146ca6d3953ed0465e189ab8ead1d9cbce4bd:/dlls/advapi32/registry.c#l2700
--- snip ---
2700 LSTATUS WINAPI RegNotifyChangeKeyValue( HKEY hkey, BOOL fWatchSubTree,
2701 DWORD fdwNotifyFilter, HANDLE hEvent,
2702 BOOL fAsync )
2703 {
2704 NTSTATUS status;
2705 IO_STATUS_BLOCK iosb;
2706
2707 hkey = get_special_root_hkey( hkey, 0 );
2708 if (!hkey) return ERROR_INVALID_HANDLE;
2709
2710 TRACE("(%p,%i,%d,%p,%i)\n", hkey, fWatchSubTree, fdwNotifyFilter,
2711 hEvent, fAsync);
2712
2713 status = NtNotifyChangeKey( hkey, hEvent, NULL, NULL, &iosb,
2714 fdwNotifyFilter, fWatchSubTree, NULL, 0,
2715 fAsync);
2716
2717 if (status && status != STATUS_TIMEOUT)
2718 return RtlNtStatusToDosError( status );
2719
2720 return ERROR_SUCCESS;
2721 }
--- snip ---
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