Yeah! Technical Post! — I been so busy with life, my technical posts seem to have gotten lost in some void. I encounter lots of fun stuff in my line of work. But never get a) time or b) forget to blog about it. Hope this helps someone else, it was a weird issue.
My client Report Builder (link) is crashing on launch with the following error.
Faulting application name: MSReportBuilder.exe, version: 15.0.1473.0, time stamp: 0x5d661239
Faulting module name: KERNELBASE.dll, version: 10.0.17134.1184, time stamp: 0xda43ec6b
Exception code: 0xe0434352
He tried reinstalling .NET, running repairs, uninstalling, and reinstalling Report Builder with no luck. Of course, he searches for the error on Dr. Google with no luck. I looked at an internal knowledge base with no chance either. Both us were searching for mistakes with the report builder, but the actual error was somewhere else. So when I search for expectation only, 0xe0434352. I found a Microsoft forum post (ref); this was a general expectation. So we had no idea what was wrong.
I asked him to capture the Process Monitor trace and send me a copy. He also sent me a screenshot from the event viewer.
This event verified this was an unhandled an expectation. The first thought here was that .NET needs to be fixed. But I went searching in the Process Monitor when it crashed and started doing a backward trace to see which XML was being read before the crash.
Looking at the Process Monitor, I found the XML file that is being loaded.
Reviewing this, I found the XML file (or rather config file). I tracked it backwords from the point I saw the first symbol file being loaded (PDB). I had the client send me the file when I opened it, I only saw the following.
Not to state the obvious, but that should not be the content here. We deleted the file, restarted the Report Builder, which rebuild the user.config file. Report Builder started successfully.
I took this file and did some more testing with WinDbg. Found the real expectation, it aligns with the event viewer log.
(5350.3ca4): CLR exception - code e0434352 (!!! second chance !!!) CLR exception type: System.Xml.XmlException "Root element is missing." eax=006fecc8 ebx=00000005 ecx=00000005 edx=00000000 esi=006fed88 edi=00000001 eip=774235d2 esp=006fecc8 ebp=006fed20 iopl=0 nv up ei pl nz ac po nc cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00000212 KERNELBASE!RaiseException+0x62: 774235d2 8b4c2454 mov ecx,dword ptr [esp+54h] ss:002b:006fed1c=d4b56f77
Report Builder was crashing, trying to read the user.config file, which for some reason, had corrupted. After deleting the file, the report builder recreated the file and started successfully.