lldb crash while single-stepping remote target

Hi, been seeing an issue very frequently while single-stepping a remote multithreaded iOS target. Host is OS X. The crash is in ProcessGDBRemote::WillPublicStop, close to NULL. I downloaded the latest source from git and compiled a debug version. Same scenario crashed in assertion in GetItemAtIndex, idx < GetSize(). The issue appears to be a race between (ProcessGDBRemote.cpp):

const size_t n = thread_infos->GetSize();
for (size_t i = 0; i < n; ++i) {
StructuredData::Dictionary *thread_dict =
thread_infos->GetItemAtIndex(i)->GetAsDictionary();

For testing, I added:

std::lock_guardstd::recursive_mutex guard(m_thread_list_real.GetMutex());

To first line of ProcessGDBRemote::WillPublicStop. Seemed to resolve my issue, but have not tested extensively.

Best regards,

Braden