I just did a clean build (debug) on Linux, and I noticed that the LLDB tests seem to consistently get stuck:
– Testing: 1002 tests, 12 threads –
99% [==========================================================================================================================================-] ETA: 00:00:01
lldb-Suite :: types/TestIntegerTypes.py
At this point there are a bunch of llvm-lit processes waiting and two suspicious LLDB unit tests:
ProcessGdbRemoteTests --gtest_filter=GDBRemoteCommunicationClientTest.GetMemoryRegionInfo
ProcessGdbRemoteTests --gtest_filter=GDBRemoteCommunicationClientTest.GetMemoryRegionInfoInvalidResponse
I took a quick look and they both seem to blocked on communicating with the remote:
thread #2, name = ‘ProcessGdbRemot’, stop reason = signal SIGSTOP
frame #0: 0x00007f2d216e4383 libc.so.6`__GI_select + 51
frame #1: 0x000056464a7afd6c ProcessGdbRemoteTests`SelectHelper::Select(this=0x00007f2d1eb07910) at SelectHelper.cpp:224
frame #2: 0x0000564647c24745 ProcessGdbRemoteTests`lldb_private::ConnectionFileDescriptor::BytesAvailable(this=0x000056464d563800, timeout=0x00007f2d1eb09f40, error_ptr=0x00007f2d1eb07dd0) at ConnectionFileDescriptorPosix.cpp:586
frame #3: 0x0000564647c23e58 ProcessGdbRemoteTests`lldb_private::ConnectionFileDescriptor::Read(this=0x000056464d563800, dst=0x00007f2d1eb07e00, dst_len=8192, timeout=0x00007f2d1eb09f40, status=0x00007f2d1eb07dcc, error_ptr=0x00007f2d1eb07dd0) at ConnectionFileDescriptorPosix.cpp:390
frame #4: 0x0000564647afc2ca ProcessGdbRemoteTests`lldb_private::Communication::ReadFromConnection(this=0x000056464d53e580, dst=0x00007f2d1eb07e00, dst_len=8192, timeout=0x00007f2d1eb09f40, status=0x00007f2d1eb07dcc, error_ptr=0x00007f2d1eb07dd0) at Communication.cpp:286
frame #5: 0x0000564647afbad6 ProcessGdbRemoteTests`lldb_private::Communication::Read(this=0x000056464d53e580, dst=0x00007f2d1eb07e00, dst_len=8192, timeout=0x00007f2d1eb09f40, status=0x00007f2d1eb07dcc, error_ptr=0x00007f2d1eb07dd0) at Communication.cpp:169
frame #6: 0x0000564647c3bf6a ProcessGdbRemoteTests`lldb_private::process_gdb_remote::GDBRemoteCommunication::WaitForPacketNoLock(this=0x000056464d53e580, packet=0x00007f2d1eb0a0e0, timeout=Timeout<std::ratio<1, 1000000> > @ 0x00007f2d1eb09f40, sync_on_timeout=true) at GDBRemoteCommunication.cpp:351
frame #7: 0x0000564647c3bca5 ProcessGdbRemoteTests`lldb_private::process_gdb_remote::GDBRemoteCommunication::ReadPacket(this=0x000056464d53e580, response=0x00007f2d1eb0a0e0, timeout=Timeout<std::ratio<1, 1000000> > @ 0x00007f2d1eb09f90, sync_on_timeout=true) at GDBRemoteCommunication.cpp:301
frame #8: 0x0000564647c39c72 ProcessGdbRemoteTests`lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponseNoLock(this=0x000056464d53e580, payload=(Data = “qSupported:xmlRegisters=i386,arm,mips”, Length = 37), response=0x00007f2d1eb0a0e0) at GDBRemoteClientBase.cpp:212
frame #9: 0x0000564647c39a23 ProcessGdbRemoteTests`lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(this=0x000056464d53e580, payload=(Data = “qSupported:xmlRegisters=i386,arm,mips”, Length = 37), response=0x00007f2d1eb0a0e0, send_async=false) at GDBRemoteClientBase.cpp:176
frame #10: 0x0000564647c44e0a ProcessGdbRemoteTests`lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetRemoteQSupported(this=0x000056464d53e580) at GDBRemoteCommunicationClient.cpp:370
frame #11: 0x0000564647c4427b ProcessGdbRemoteTests`lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetQXferMemoryMapReadSupported(this=0x000056464d53e580) at GDBRemoteCommunicationClient.cpp:200
frame #12: 0x0000564647c4c661 ProcessGdbRemoteTests`lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::LoadQXferMemoryMap(this=0x000056464d53e580) at GDBRemoteCommunicationClient.cpp:1609
frame #13: 0x0000564647c4bb4e ProcessGdbRemoteTests`lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetQXferMemoryMapRegionInfo(this=0x000056464d53e580, addr=16384, region=0x00007f2d1eb0a6c0) at GDBRemoteCommunicationClient.cpp:1583
frame #14: 0x0000564647c4b95d ProcessGdbRemoteTests`lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetMemoryRegionInfo(this=0x000056464d53e580, addr=16384, region_info=0x00007ffd8b1a8870) at GDBRemoteCommunicationClient.cpp:1558
frame #15: 0x000056464797ee25 ProcessGdbRemoteTests`operator(__closure=0x000056464d5636a8) at GDBRemoteCommunicationClientTest.cpp:339
frame #16: 0x000056464798a9d6 ProcessGdbRemoteTests`std::__invoke_impl<lldb_private::Status, GDBRemoteCommunicationClientTest_GetMemoryRegionInfoInvalidResponse_Test::TestBody()::<lambda()> >((null)=__invoke_other @ 0x00007f2d1eb0a910, __f=0x000056464d5636a8)> &&) at invoke.h:60
frame #17: 0x000056464798613c ProcessGdbRemoteTests`std::__invoke<GDBRemoteCommunicationClientTest_GetMemoryRegionInfoInvalidResponse_Test::TestBody()::<lambda()> >(__fn=0x000056464d5636a8)> &&) at invoke.h:96
frame #18: 0x00005646479c1750 ProcessGdbRemoteTests`std:
:_Invoker<std::tuple<GDBRemoteCommunicationClientTest_GetMemoryRegionInfoInvalidResponse_Test::TestBody()::<lambda()> > >::_M_invoke<0>(this=0x000056464d5636a8, (null)=_Index_tuple<0> @ 0x00007f2d1eb0a980) const at thread:234
…
Any of this ring a bell?
Thanks!