[lldb-dev] LLDB tests getting stuck on GDBRemoteCommunicationClientTest.GetMemoryRegionInfo ?

Leonard Mosescu via lldb-dev lldb-dev at lists.llvm.org
Thu Apr 26 14:58:18 PDT 2018


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::thread::_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!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20180426/60c56ddb/attachment.html>


More information about the lldb-dev mailing list