microsoft / microsoft/CLRInstrumentationEngine

CLRIE appears to be incompatible with 1 or more MS Exchange services (services crash)

Open
#399 8 comments 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.