In linux dotnet-sos causes crash with latests LLVM releases (ex 21.1.0)
Los mantenedores suelen responder en 1 día
@hoyosjs ya está trabajando en esto.
Desde el 16/9/2025.
Evaluación
Este issue todavía no se ha evaluado.
Descripción
Description
I was trying to debug with vscode lldb-dap extensions which imposes a recent version of LLVM.
The dotnet-sos causes lldb-dap and lldb to crash very early.
Minimal repro
Here is the minimal reproduction for versions LLVM-20.1.1-Linux-X64 and LLVM-21.1.0-Linux-X64:
- start lldb
- load the libsosplugin
- setup ms symbols server
What occurs:
Pure virtual call crash
What is expected:
Not crashing and being able to use sos and lldb.
Example reproduction in a Ubuntu 22.04.3 LTS WSL image with LLVM 21.1.0:
# /usr/local/LLVM-21.1.0-Linux-X64/bin/lldb
(lldb) plugin load /root/.dotnet/sos/libsosplugin.so
(lldb) setsymbolserver -ms
libc++abi: Pure virtual function called!
LLDB diagnostics will be written to /tmp/diagnostics-3c21b5
Please include the directory content when filing a bug report
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: /usr/local/LLVM-21.1.0-Linux-X64/bin/lldb
#0 0x00005595426ebe77 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/local/LLVM-21.1.0-Linux-X64/bin/lldb+0x79e77)
#1 0x00005595426ec8fb SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
#2 0x00007faef0f5f520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
#3 0x00007faef103b88d syscall (/lib/x86_64-linux-gnu/libc.so.6+0x11e88d)
#4 0x00007faef8055806 SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
#5 0x00007faef0f5f520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
#6 0x00007faef0fb39fc pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x969fc)
#7 0x00007faef0f5f476 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x42476)
#8 0x00007faef0f457f3 abort (/lib/x86_64-linux-gnu/libc.so.6+0x287f3)
#9 0x00007faef7685b36 (/usr/local/LLVM-21.1.0-Linux-X64/bin/../lib/liblldb.so.21.1+0x6221b36)
#10 0x00007faef76859df (/usr/local/LLVM-21.1.0-Linux-X64/bin/../lib/liblldb.so.21.1+0x62219df)
#11 0x00007faef79fba1d lldb_private::CommandInterpreter::ResolveCommandImpl(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>&, lldb_private::CommandReturnObject&) CommandInterpreter.cpp:0:0
#12 0x00007faef7a0a7a3 lldb_private::CommandInterpreter::HandleCommand(char const*, lldb_private::LazyBool, lldb_private::CommandReturnObject&, bool) CommandInterpreter.cpp:0:0
#13 0x00007faef7a11183 lldb_private::CommandInterpreter::IOHandlerInputComplete(lldb_private::IOHandler&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>&) CommandInterpreter.cpp:0:0
#14 0x00007faef7962735 lldb_private::IOHandlerEditline::Run() IOHandler.cpp:0:0
#15 0x00007faef793a87b lldb_private::Debugger::RunIOHandlers() Debugger.cpp:0:0
#16 0x00007faef7a130de lldb_private::CommandInterpreter::RunCommandInterpreter(lldb_private::CommandInterpreterRunOptions&) CommandInterpreter.cpp:0:0
#17 0x00007faef771b56b lldb::SBDebugger::RunCommandInterpreter(bool, bool) (/usr/local/LLVM-21.1.0-Linux-X64/bin/../lib/liblldb.so.21.1+0x62b756b)
#18 0x00005595426df09b main (/usr/local/LLVM-21.1.0-Linux-X64/bin/lldb+0x6d09b)
#19 0x00007faef0f46d90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#20 0x00007faef0f46e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#21 0x00005595426b7e75 _start (/usr/local/LLVM-21.1.0-Linux-X64/bin/lldb+0x45e75)
Aborted (core dumped)
Configuration
dotnet os information:
Runtime Environment:
OS Name: ubuntu
OS Version: 22.04
OS Platform: Linux
RID: linux-x64
Base Path: /root/.dotnet/sdk/8.0.204/
This was run on a WSL image on windows 11 (intel 64 bits).
Regression?
It work with LLVM 19.3 but LLDBP-dap extension does not (no vscode IDE debugging).
Other information
- Lenguaje dominante
- C++
- Estrellas
- 1.3k
- Forks
- 407
- Merge medio
- 21 h 5 min
- PR fusionados (30 d)
- 78
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Sin guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de dotnet/diagnostics
-
Fix StackAndOtherTests.script line number verification for .NET 11 and Windows x64Quizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
dotnet/diagnostics#5884 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
dotnet/diagnostics#6225 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
dotnet/diagnostics#6213 ·
Los mantenedores suelen responder en 1 día
-
Isolate SOS hosting from other debugger extensions that use managed codePosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abiertobug
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
dotnet/diagnostics#6207 ·
Los mantenedores suelen responder en 1 día
-
Known Build Error
Dificultad 4/5 3-5 días Aptitud para principiantes 49/100
dotnet/diagnostics#6190 ·
Los mantenedores suelen responder en 1 día
Todos los issues de dotnet/diagnostics
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
AutoHotkey/AutoHotkey#380 ·
-
documentation
Dificultad 1/5 1-3 horas Aptitud para principiantes 84/100
Los mantenedores suelen responder en 1 día
-
Lua File: add readWhole()Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 69/100
grumpycoders/pcsx-redux#2667 ·
-
GCC 15.2: -Wcast-qual warning - cast discards const qualifier from pointer target type (H5trace.c)Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 73/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
google/tensorstore#305 ·