<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">Did you try to revert the commits which
introduced that ?<br>
Did it fix the freeze ?<br>
<br>
Thanks<br>
S<br>
<br>
On 11/12/2013 16:42, Xavier de Gaye wrote:<br>
</div>
<blockquote cite="mid:52A887FD.5030402@gmail.com" type="cite">This
has been commited at r196830 and fixes the build but there is
still
<br>
an issue on linux with r196787.
<br>
<br>
When lldb is built on linux at r196786 (the previous revision)
with the
<br>
attached sin_len.patch (to fix temporarily the issue
<br>
<a class="moz-txt-link-freetext" href="http://llvm.org/bugs/show_bug.cgi?id=18210">http://llvm.org/bugs/show_bug.cgi?id=18210</a> so as to allow the
build),
<br>
then lldb stops correctly at main in the following simple test:
<br>
breakpoint set --name main
<br>
run
<br>
<br>
When lldb is built on linux at r196787 with the sin_len.patch and
with
<br>
the changes made in r196830 applied (same as the patch proposed in
the
<br>
OP), the above simple test fails and lldb is stuck in a futex
syscall.
<br>
<br>
Xavier
<br>
<br>
<br>
On 12/10/2013 10:00 PM, Greg Clayton wrote:
<br>
> Looks good.
<br>
>
<br>
> On Dec 9, 2013, at 1:54 PM, Xavier de Gaye wrote:
<br>
>
<br>
>> The following patch fixes this.
<br>
>>
<br>
>> Xavier
<br>
>>
<br>
>>
<br>
>> diff --git
a/tools/lldb/source/Plugins/Process/Linux/LinuxThread.cpp
b/tools/lldb/source/Plugins/Process/Linux/LinuxThread.cpp
<br>
>> ---
a/tools/lldb/source/Plugins/Process/Linux/LinuxThread.cpp
<br>
>> +++
b/tools/lldb/source/Plugins/Process/Linux/LinuxThread.cpp
<br>
>> @@ -12,6 +12,10 @@
<br>
>> // Other libraries and framework includes
<br>
>> // Project includes
<br>
>> #include "LinuxThread.h"
<br>
>> +#include "lldb/Core/State.h"
<br>
>> +#include "ProcessPOSIX.h"
<br>
>> +#include "ProcessMonitor.h"
<br>
>> +#include "ProcessPOSIXLog.h"
<br>
>>
<br>
>> using namespace lldb;
<br>
>> using namespace lldb_private;
<br>
>> diff --git
a/tools/lldb/source/Plugins/Process/Linux/LinuxThread.h
b/tools/lldb/source/Plugins/Process/Linux/LinuxThread.h
<br>
>> ---
a/tools/lldb/source/Plugins/Process/Linux/LinuxThread.h
<br>
>> +++
b/tools/lldb/source/Plugins/Process/Linux/LinuxThread.h
<br>
>> @@ -33,7 +33,7 @@
<br>
>>
<br>
>> // POSIXThread overrides
<br>
>> virtual bool
<br>
>> - LinuxThread::Resume();
<br>
>> + Resume();
<br>
>>
<br>
>> virtual void
<br>
>> RefreshStateAfterStop();
<br>
>> diff --git
a/tools/lldb/source/Plugins/Process/Linux/ProcessLinux.cpp
b/tools/lldb/source/Plugins/Process/Linux/ProcessLinux.cpp
<br>
>> ---
a/tools/lldb/source/Plugins/Process/Linux/ProcessLinux.cpp
<br>
>> +++
b/tools/lldb/source/Plugins/Process/Linux/ProcessLinux.cpp
<br>
>> @@ -182,7 +182,7 @@
<br>
>> uint32_t thread_count =
m_thread_list.GetSize(false);
<br>
>> for (uint32_t i = 0; i < thread_count; ++i)
<br>
>> {
<br>
>> - POSIXThread *thread =
static_cast<POSIXThread*>(
<br>
>> + LinuxThread *thread =
static_cast<LinuxThread*>(
<br>
>> m_thread_list.GetThreadAtIndex(i,
false).get());
<br>
>> did_resume = thread->Resume() || did_resume;
<br>
>> }
<br>
>> diff --git
a/tools/lldb/source/Plugins/Process/Linux/ProcessLinux.h
b/tools/lldb/source/Plugins/Process/Linux/ProcessLinux.h
<br>
>> ---
a/tools/lldb/source/Plugins/Process/Linux/ProcessLinux.h
<br>
>> +++
b/tools/lldb/source/Plugins/Process/Linux/ProcessLinux.h
<br>
>> @@ -60,6 +60,9 @@
<br>
>> virtual bool
<br>
>> UpdateThreadList(lldb_private::ThreadList
&old_thread_list, lldb_private::ThreadList
&new_thread_list);
<br>
>>
<br>
>> + virtual lldb_private::Error
<br>
>> + DoResume();
<br>
>> +
<br>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
lldb-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:lldb-dev@cs.uiuc.edu">lldb-dev@cs.uiuc.edu</a>
<a class="moz-txt-link-freetext" href="http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev">http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev</a>
</pre>
</blockquote>
<br>
</body>
</html>