Issue 178155
Summary [lldb-dap] Crash on startup on Windows
Labels new issue
Assignees
Reporter DrSergei
    I tried to build latest lldb and lldb-dap on Windows. LLDB works fine, but lldb-dap crashes after startup without messages.

Build command:
```
cmake -GNinja -DCMAKE_BUILD_TYPE=Debug -DLLDB_EXPORT_ALL_SYMBOLS=On -DCMAKE_C_COMPILER="cl.exe" -DCMAKE_CXX_COMPILER="cl.exe" -DCMAKE_C_FLAGS=" /MT" -DCMAKE_CXX_FLAGS=" /MT" -DCMAKE_INSTALL_PREFIX=install -DCMAKE_EXPORT_COMPILE_COMMANDS=On -DLLVM_ENABLE_PROJECTS="clang;lld;lldb" -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_SYSTEM_PROCESSOR=x86_64 -DCLANG_ENABLE_LIBXML2=Off -DLLDB_ENABLE_LIBXML2=Off -DLLDB_ENABLE_PYTHON=Off -DLLVM_ENABLE_ZLIB=Off -DLLVM_ENABLE_ZSTD=Off -DLLDB_ENABLE_LZMA=Off -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded -DLLVM_WINDOWS_PREFER_FORWARD_SLASH=Off ../llvm
ninja lldb lldb-dap lldb-server
```

Running lldb-dap under lldb (from the same build):
```
PS D:\projects\llvm-project\build-nopython-debug\bin> ./lldb.exe ./lldb-dap.exe
(lldb) target create "./lldb-dap.exe"
Current executable set to 'D:\projects\llvm-project\build-nopython-debug\bin\lldb-dap.exe' (x86_64).
(lldb) run
Process 18764 launched: 'D:\projects\llvm-project\build-nopython-debug\bin\lldb-dap.exe' (x86_64)
Process 18764 stopped
* thread #1, stop reason = Exception 0xc0000409 encountered at address 0x7ff87112de18
    frame #0: 0x00007ff87112de18 liblldb.dll`_invoke_watson(_expression_=<unavailable>, function_name=<unavailable>, file_name=<unavailable>, line_number=<unavailable>, reserved=<unavailable>) at invalid_parameter.cpp:237

(lldb) error: no auto repeat
(lldb) bt
* thread #1, stop reason = Exception 0xc0000409 encountered at address 0x7ff87112de18
  * frame #0: 0x00007ff87112de18 liblldb.dll`_invoke_watson(_expression_=<unavailable>, function_name=<unavailable>, file_name=<unavailable>, line_number=<unavailable>, reserved=<unavailable>) at invalid_parameter.cpp:237
    frame #1: 0x00007ff87112dd67 liblldb.dll`_invalid_parameter_internal(_expression_=0x0000000000000000, function_name=0x0000000000000000, file_name=0x0000000000000000, line_number=1798886096, reserved=<unavailable>, ptd=<unavailable>) at invalid_parameter.cpp:113
    frame #2: 0x00007ff87112dc2a liblldb.dll`_invalid_parameter(_expression_=<unavailable>, function_name=<unavailable>, file_name=<unavailable>, line_number=<unavailable>, reserved=<unavailable>) at invalid_parameter.cpp:125
    frame #3: 0x00007ff87112ddb5 liblldb.dll`_invalid_parameter_noinfo at invalid_parameter.cpp:130
    frame #4: 0x00007ff871163930 liblldb.dll`_get_osfhandle(fh=<unavailable>) at osfinfo.cpp:264
    frame #5: 0x00007ff85fda12f1 liblldb.dll`lldb_private::NativeFile::NativeFile(this=0x0000021917c311d0, fd=3, options=eOpenOptionWriteOnly) at File.cpp:291
    frame #6: 0x00007ff66e4da81a lldb-dap.exe`void std::_Construct_in_place<class lldb_private::NativeFile, int &, enum lldb_private::File::OpenOptions, enum lldb_private::NativeFile::TransferOwnership>(_Obj=0x0000021917c311d0, <_Args_0>=0x000000b06b38e004, <_Args_1>=0x000000b06b38f7fc, <_Args_2>=0x000000b06b38f7f8) at xutility:506
    frame #7: 0x00007ff66e4d74c0 lldb-dap.exe`std::_Ref_count_obj2<class lldb_private::NativeFile>::_Ref_count_obj2<class lldb_private::NativeFile><int &, enum lldb_private::File::OpenOptions, enum lldb_private::NativeFile::TransferOwnership>(this=0x0000021917c311c0, <_Args_0>=0x000000b06b38e004, <_Args_1>=0x000000b06b38f7fc) at memory:2092
 frame #8: 0x00007ff66e4e0c3b lldb-dap.exe`class std::shared_ptr<class lldb_private::NativeFile> std::make_shared<class lldb_private::NativeFile, int &, enum lldb_private::File::OpenOptions, enum lldb_private::NativeFile::TransferOwnership>(<_Args_0>=0x000000b06b38e004, <_Args_1>=0x000000b06b38f7fc, <_Args_2>=0x000000b06b38f7f8) at memory:2903
 frame #9: 0x00007ff66e4d4854 lldb-dap.exe`main(argc=1, argv=0x0000021917b6ec60) at lldb-dap.cpp:735
    frame #10: 0x00007ff66e90d580 lldb-dap.exe`invoke_main at exe_common.inl:288 [inlined]
 frame #11: 0x00007ff66e90d55e lldb-dap.exe`__scrt_common_main_seh at exe_common.inl:288
    frame #12: 0x00007ff99a21e8d7 kernel32.dll`BaseThreadInitThunk + 23
    frame #13: 0x00007ff99af2c53c ntdll.dll`RtlUserThreadStart + 44
(lldb) exit
Quitting LLDB will kill one or more processes. Do you really want to proceed: [Y/n] y
```

CC: @charles-zablit 
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to