Kevin Gosse 3/16/2021

An unconventional way of investigating a NullReferenceException

Read Original

The article details an investigation into a .NET integration test failing only on ARM64 Linux. Using LLDB, the author traces the crash to a segmentation fault during virtual method dispatch on a null reference, uncovering a missing null check in the runtime's `AdjustContextForVirtualStub` function. It explains how the .NET runtime converts hardware faults to NullReferenceExceptions and the specific native code path that caused the fatal crash, concluding with building a custom CLR fix and an attempt to write a reproducer.

An unconventional way of investigating a NullReferenceException

Comments

No comments yet

Be the first to share your thoughts!

Browser Extension

Get instant access to AllDevBlogs from your browser

Top of the Week