-
Notifications
You must be signed in to change notification settings - Fork 354
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Linux "minidumps" don't have all the metadata necessary to display stack functions #56
Comments
The interfaces to look at are: ICLRMetadataLocator Check out daccess.cpp:~6661 void * |
@mikem8361 do you know of a workaround ? I have broken stack trace like this:
|
The workaround for now is to create a full dump (-u or --full createdump option or setting COMPlus_DbgMiniDumpType=4). |
Ultimately it would be better to wait until issue #1 has been implemented and use the downloader to get the assembly metadata that is missing from a core dump inside the ICLRMetadataLocator implementation in SOS. But until #1 is finished, we could add command to set a search path to look for the matching assemblies in the ICLRMetadataLocator callback. Not sure when this could be scheduled though. |
Issue #dotnet#56 Both Windows and Linux minidumps don't save all the assemblies' metadata which can cause stack traces to display !Unknown. On Windows most debuggers like Windbg and VS can load the module from file for this kind of dumps. On Linux lldb/SOS doesn't load the native modules and really doesn't know anything about the managed assemblies. Add metadata callback to datatarget and it's implementation in SOS.NETCore.
Issue #dotnet#56 Both Windows and Linux minidumps don't save all the assemblies' metadata which can cause stack traces to display !Unknown. On Windows most debuggers like Windbg and VS can load the module from file for this kind of dumps. On Linux lldb/SOS doesn't load the native modules and really doesn't know anything about the managed assemblies. Add metadata callback to datatarget and it's implementation in SOS.NETCore.
Issue #dotnet#56 Both Windows and Linux minidumps don't save all the assemblies' metadata which can cause stack traces to display !Unknown. On Windows most debuggers like Windbg and VS can load the module from file for this kind of dumps. On Linux lldb/SOS doesn't load the native modules and really doesn't know anything about the managed assemblies. Add metadata callback to datatarget and it's implementation in SOS.NETCore.
Issue #dotnet#56 Both Windows and Linux minidumps don't save all the assemblies' metadata which can cause stack traces to display !Unknown. On Windows most debuggers like Windbg and VS can load the module from file for this kind of dumps. On Linux lldb/SOS doesn't load the native modules and really doesn't know anything about the managed assemblies. Add metadata callback to datatarget and it's implementation in SOS.NETCore.
Issue #dotnet#56 Both Windows and Linux minidumps don't save all the assemblies' metadata which can cause stack traces to display !Unknown. On Windows most debuggers like Windbg and VS can load the module from file for this kind of dumps. On Linux lldb/SOS doesn't load the native modules and really doesn't know anything about the managed assemblies. Add metadata callback to datatarget and it's implementation in SOS.NETCore.
Issue #dotnet#56 Both Windows and Linux minidumps don't save all the assemblies' metadata which can cause stack traces to display !Unknown. On Windows most debuggers like Windbg and VS can load the module from file for this kind of dumps. On Linux lldb/SOS doesn't load the native modules and really doesn't know anything about the managed assemblies. Add metadata callback to datatarget and it's implementation in SOS.NETCore.
Issue #dotnet#56 Both Windows and Linux minidumps don't save all the assemblies' metadata which can cause stack traces to display !Unknown. On Windows most debuggers like Windbg and VS can load the module from file for this kind of dumps. On Linux lldb/SOS doesn't load the native modules and really doesn't know anything about the managed assemblies. Add metadata callback to datatarget and it's implementation in SOS.NETCore.
Issue #dotnet#56 Both Windows and Linux minidumps don't save all the assemblies' metadata which can cause stack traces to display !Unknown. On Windows most debuggers like Windbg and VS can load the module from file for this kind of dumps. On Linux lldb/SOS doesn't load the native modules and really doesn't know anything about the managed assemblies. Add metadata callback to datatarget and it's implementation in SOS.NETCore.
Issue #dotnet#56 Both Windows and Linux minidumps don't save all the assemblies' metadata which can cause stack traces to display !Unknown. On Windows most debuggers like Windbg and VS can load the module from file for this kind of dumps. On Linux lldb/SOS doesn't load the native modules and really doesn't know anything about the managed assemblies. Add metadata callback to datatarget and it's implementation in SOS.NETCore.
Issue #dotnet#56 Both Windows and Linux minidumps don't save all the assemblies' metadata which can cause stack traces to display !Unknown. On Windows most debuggers like Windbg and VS can load the module from file for this kind of dumps. On Linux lldb/SOS doesn't load the native modules and really doesn't know anything about the managed assemblies. Add metadata callback to datatarget and it's implementation in SOS.NETCore.
Issue #dotnet#56 Both Windows and Linux minidumps don't save all the assemblies' metadata which can cause stack traces to display !Unknown. On Windows most debuggers like Windbg and VS can load the module from file for this kind of dumps. On Linux lldb/SOS doesn't load the native modules and really doesn't know anything about the managed assemblies. Add metadata callback to datatarget and it's implementation in SOS.NETCore.
Issue #dotnet#56 Both Windows and Linux minidumps don't save all the assemblies' metadata which can cause stack traces to display !Unknown. On Windows most debuggers like Windbg and VS can load the module from file for this kind of dumps. On Linux lldb/SOS doesn't load the native modules and really doesn't know anything about the managed assemblies. Add metadata callback to datatarget and it's implementation in SOS.NETCore.
Issue #dotnet#56 Both Windows and Linux minidumps don't save all the assemblies' metadata which can cause stack traces to display !Unknown. On Windows most debuggers like Windbg and VS can load the module from file for this kind of dumps. On Linux lldb/SOS doesn't load the native modules and really doesn't know anything about the managed assemblies. Add metadata callback to datatarget and it's implementation in SOS.NETCore.
Issue #dotnet#56 Both Windows and Linux minidumps don't save all the assemblies' metadata which can cause stack traces to display !Unknown. On Windows most debuggers like Windbg and VS can load the module from file for this kind of dumps. On Linux lldb/SOS doesn't load the native modules and really doesn't know anything about the managed assemblies. Add metadata callback to datatarget and it's implementation in SOS.NETCore.
Issue #dotnet#56 Both Windows and Linux minidumps don't save all the assemblies' metadata which can cause stack traces to display !Unknown. On Windows most debuggers like Windbg and VS can load the module from file for this kind of dumps. On Linux lldb/SOS doesn't load the native modules and really doesn't know anything about the managed assemblies. Add metadata callback to datatarget and it's implementation in SOS.NETCore.
Issue #dotnet#56 Both Windows and Linux minidumps don't save all the assemblies' metadata which can cause stack traces to display !Unknown. On Windows most debuggers like Windbg and VS can load the module from file for this kind of dumps. On Linux lldb/SOS doesn't load the native modules and really doesn't know anything about the managed assemblies. Add metadata callback to datatarget and it's implementation in SOS.NETCore.
Issue #dotnet#56 Both Windows and Linux minidumps don't save all the assemblies' metadata which can cause stack traces to display !Unknown. On Windows most debuggers like Windbg and VS can load the module from file for this kind of dumps. On Linux lldb/SOS doesn't load the native modules and really doesn't know anything about the managed assemblies. Add metadata callback to datatarget and it's implementation in SOS.NETCore.
Issue #dotnet#56 Both Windows and Linux minidumps don't save all the assemblies' metadata which can cause stack traces to display !Unknown. On Windows most debuggers like Windbg and VS can load the module from file for this kind of dumps. On Linux lldb/SOS doesn't load the native modules and really doesn't know anything about the managed assemblies. Add metadata callback to datatarget and it's implementation in SOS.NETCore.
Issue #dotnet#56 Both Windows and Linux minidumps don't save all the assemblies' metadata which can cause stack traces to display !Unknown. On Windows most debuggers like Windbg and VS can load the module from file for this kind of dumps. On Linux lldb/SOS doesn't load the native modules and really doesn't know anything about the managed assemblies. Add metadata callback to datatarget and it's implementation in SOS.NETCore.
Issue #dotnet#56 Both Windows and Linux minidumps don't save all the assemblies' metadata which can cause stack traces to display !Unknown. On Windows most debuggers like Windbg and VS can load the module from file for this kind of dumps. On Linux lldb/SOS doesn't load the native modules and really doesn't know anything about the managed assemblies. Add metadata callback to datatarget and it's implementation in SOS.NETCore.
Issue #dotnet#56 Both Windows and Linux minidumps don't save all the assemblies' metadata which can cause stack traces to display !Unknown. On Windows most debuggers like Windbg and VS can load the module from file for this kind of dumps. On Linux lldb/SOS doesn't load the native modules and really doesn't know anything about the managed assemblies. Add metadata callback to datatarget and it's implementation in SOS.NETCore.
Issue #dotnet#56 Both Windows and Linux minidumps don't save all the assemblies' metadata which can cause stack traces to display !Unknown. On Windows most debuggers like Windbg and VS can load the module from file for this kind of dumps. On Linux lldb/SOS doesn't load the native modules and really doesn't know anything about the managed assemblies. Add metadata callback to datatarget and it's implementation in SOS.NETCore.
Issue #dotnet#56 Both Windows and Linux minidumps don't save all the assemblies' metadata which can cause stack traces to display !Unknown. On Windows most debuggers like Windbg and VS can load the module from file for this kind of dumps. On Linux lldb/SOS doesn't load the native modules and really doesn't know anything about the managed assemblies. Add metadata callback to datatarget and it's implementation in SOS.NETCore. Add IsMetadataMemory() and the metadata region list. This is because lldb on core dumps returns 0's on missing metadata memory reads instead of an error.
Issue #dotnet#56 Both Windows and Linux minidumps don't save all the assemblies' metadata which can cause stack traces to display !Unknown. On Windows most debuggers like Windbg and VS can load the module from file for this kind of dumps. On Linux lldb/SOS doesn't load the native modules and really doesn't know anything about the managed assemblies. Add metadata callback to datatarget and it's implementation in SOS.NETCore. Add IsMetadataMemory() and the metadata region list. This is because lldb on core dumps returns 0's on missing metadata memory reads instead of an error.
Issue #dotnet#56 Both Windows and Linux minidumps don't save all the assemblies' metadata which can cause stack traces to display !Unknown. On Windows most debuggers like Windbg and VS can load the module from file for this kind of dumps. On Linux lldb/SOS doesn't load the native modules and really doesn't know anything about the managed assemblies. Add metadata callback to datatarget and it's implementation in SOS.NETCore. Add IsMetadataMemory() and the metadata region list. This is because lldb on core dumps returns 0's on missing metadata memory reads instead of an error.
Issue #dotnet#56 Both Windows and Linux minidumps don't save all the assemblies' metadata which can cause stack traces to display !Unknown. On Windows most debuggers like Windbg and VS can load the module from file for this kind of dumps. On Linux lldb/SOS doesn't load the native modules and really doesn't know anything about the managed assemblies. Add metadata callback to datatarget and it's implementation in SOS.NETCore. Add IsMetadataMemory() and the metadata region list. This is because lldb on core dumps returns 0's on missing metadata memory reads instead of an error.
Issue #dotnet#56 Both Windows and Linux minidumps don't save all the assemblies' metadata which can cause stack traces to display !Unknown. On Windows most debuggers like Windbg and VS can load the module from file for this kind of dumps. On Linux lldb/SOS doesn't load the native modules and really doesn't know anything about the managed assemblies. Add metadata callback to datatarget and it's implementation in SOS.NETCore. Add IsMetadataMemory() and the metadata region list. This is because lldb on core dumps returns 0's on missing metadata memory reads instead of an error.
* Fix missing metadata in Linux core dumps. Issue ##56 Both Windows and Linux minidumps don't save all the assemblies' metadata which can cause stack traces to display !Unknown. On Windows most debuggers like Windbg and VS can load the module from file for this kind of dumps. On Linux lldb/SOS doesn't load the native modules and really doesn't know anything about the managed assemblies. Add metadata callback to datatarget and it's implementation in SOS.NETCore. Add IsMetadataMemory() and the metadata region list. This is because lldb on core dumps returns 0's on missing metadata memory reads instead of an error.
Fixed PR #229. |
Both Windows and Linux minidumps don't save all the assemblies' metadata which can cause stack traces to display !Unknown. On Windows most debuggers like Windbg and VS can load the module from file for this kind of dumps. On Linux lldb/SOS doesn't load the native modules and really doesn't know anything about the managed assemblies.
There is an metadata provider interface that could be used to fix this for SOS on Linux.
The text was updated successfully, but these errors were encountered: