cloudbase-init(openstackservice.exe) probabilistic kill the explorer.exe at the booting of the windows server VM
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
cloudbase-init |
New
|
Undecided
|
Unassigned |
Bug Description
cloudbase-
OS version:
windows server 2012 R2 datacenter
CPU mode:
Intel(R) Xeon(R) Gold 6151 CPU @ 3.00GHz 3.00GHz
CPU and RAM info for VM:
16vCPUs & 64GB
Reproduce Step:
1、create a private image with the 3dsmax software installed in the windows server 2012 R2 datacenter
2、configure the auto winlogon registry with a password.
2、create 200 VMs at the same time with this private image using the cloudbase-init to inject hostname and the same winlogon registry password.
Results:
1、see some windows has been blank desktop when i connect the VM with noVNC session.
2、use the procdupm.exe to collect the dump for the explorer.exe and openstackservic
You can download the dump from the OBS, cloud you help to analyze and resolve ASAP, THX.
https:/
https:/
Contact Microsoft engineer help to debug as following, cloud you help to analyze and resolve ASAP, THX.
1、explorer.EXE's exit is not its own cause, it should be terminated by other process. Check out this dump and find that the problem occurs during the boot start phase.
Debug session time: Tue Nov 13 08:39:08.000 2018 (UTC + 8:00)
System Uptime: 0 days 0:00:48.630
Process Uptime: 0 days 0:00:39.000
2、Debug from the explorer.exe dump file: Explorer.EXE performs its own operation and is then logged to exit by the tool, which itself does not execute the ExitProcess function.
0:000> KL MultipleObjects +0xa WaitForMultiple ObjectsEx+ 0xe1 WaitForMultiple Objects+ 0xf WorkerThread+ 0x68 BaseThreadInitT hunk+0x22 readStart+ 0x34
# Child-SP RetAddr Call Site
00 00000000`11eaf978 00007ffa`77ad13ed ntdll!ZwWaitFor
01 00000000`11eaf980 00007ffa`7819106f KERNELBASE!
02 00000000`11eafc60 00007ffa`69da2048 kernel32!
03 00000000`11eafca0 00007ffa`781913d2 msiltcfg!
04 00000000`11eafd20 00007ffa`7a5b54f4 kernel32!
05 00000000`11eafd50 00000000`00000000 ntdll!RtlUserTh
3、Debug from the OpenStackServic e.exe dump file: Explorer.EXE is actually being closed by the openstackservic e.EXE.
From the following callstack, we see that Openstackservice called the terminateprocess function to kill the explorer.Exe.
0:000> !mex.t SingleObject+ 0xa SilentProcessEx it+0x89cb0 TerminateProces s+0x1a =====》OpenStack Service call TerminateProcess to kill explorer.exe e+0x163c e+0x15d6 e+0x15d6 e+0x15d6 e+0x15d6 e+0x1716 e+0x19e9 ScDispatcherLoo p+0x5ec StartServiceCtr lDispatcherW+ 0x50 e+0x1177 e+0x24cc BaseThreadInitT hunk+0x22 readStart+ 0x34
DbgID ThreadID User Kernel
0 45c (0n1116) 0s 0s
# Child-SP Return Call Site Source
0 000000681253a4d8 00007ffa7a641fe0 ntdll!ZwWaitFor
1 000000681253a4e0 00007ffa77af2e7e ntdll!RtlReport
2 000000681253b080 00007ff69955163c KERNELBASE!
3 000000681253b0b0 00007ff6995515d6 OpenStackServic
4 000000681253b330 00007ff6995515d6 OpenStackServic
5 000000681253b5b0 00007ff6995515d6 OpenStackServic
6 000000681253b830 00007ff6995515d6 OpenStackServic
7 000000681253bab0 00007ff699551716 OpenStackServic
8 000000681253bd30 00007ff6995519e9 OpenStackServic
9 000000681253bda0 00007ffa7a56a3d2 OpenStackServic
a 000000681253bde0 00007ffa7a545ff9 sechost!
b 000000681253bef0 00007ff699551177 sechost!
c 000000681253bf30 00007ff6995524cc OpenStackServic
d 000000681253fcf0 00007ffa781913d2 OpenStackServic
e 000000681253fd30 00007ffa7a5b54f4 kernel32!
f 000000681253fd60 0000000000000000 ntdll!RtlUserTh
4、View the call stack, the terminated process has a PID of 0x78c.And 0x78c is our explorer.EXE process.
stack(s) with 3 threads displayed (3 Total threads) Sessions[ 0].Processes[ 1168].Threads[ 1116].Stack. Frames[ 1].SwitchTo( );dv /t /v Sessions[ 0].Processes[ 1168].Threads[ 1116].Stack. Frames[ 1].SwitchTo( )
0:000> dx Debugger.
Debugger.
<unavailable> void * ExitingProcessIn = <value unavailable>
@r14d unsigned long ExitStatus = 1
@ebx unsigned long ExitingProcessId = 0x78c
0:000> !mex.p
Name Ses PID PEB ...