microsoft / microsoft/CLRInstrumentationEngine
CLRIE appears to be incompatible with 1 or more MS Exchange services (services crash)
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 102
- Forks
- 52
- Avg merge
- 13h 11m
- Merged PRs (30d)
- 6
Description
OS: windows server 2016 or 2019
Microsoft Exchange Server version: 2016 or 2019, e.g. Cumulative Update 9
Process that I profiled: MSExchangeHMHost.exe but other MSEchange*.exe services are crashing too
.NET Framework version = 4.0.30319 but I don't think this matters
No other profilers are loaded as you can see from this message, meaning that the CLRIE profiler is the only thing loaded and it's not configured to instrument anything. The mere presence of the CLRIE profiler is enough to cause a crash.
No instrumentation method configs found to load in process 18028l
(466c.2090): Break instruction exception - code 80000003 (first chance)
*** WARNING: Unable to verify checksum for C:\Program Files\Microsoft CLR Instrumentation Engine\1.0.36\Instrumentation64\MicrosoftInstrumentationEngine_x64.dll
MicrosoftInstrumentationEngine_x64!GetInstrumentationEngineLogger+0x458e8:
00007fff`eba1e298 cc int 3
Here is an interesting observation: if you set MicrosoftInstrumentationEngine_DebugWait to 1 and are able to attach to the service swiftly from windbg.exe then when you say (g)o to windbg the service appears to run as expected, no crashes.
Please take a look. I'd imagine that on azure users may want to gather metrics for MS Exchange.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the crash with Microsoft CLR Instrumentation Engine 1.0.36 against MSExchangeHMHost.exe on Windows Server 2016 or 2019, using the reported Exchange versions and an otherwise unconfigured CLRIE profiler. Compare normal startup with MicrosoftInstrumentationEngine_DebugWait set to 1 and debugger continuation; done means Exchange services no longer crash when the profiler is merely present.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- devtools, operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100