[lldb-dev] Freeze in lldb [Re: [PATCH][Linux] compilation fails on linux after revision 196787]
Sylvestre Ledru
sylvestre at debian.org
Wed Dec 11 08:10:43 PST 2013
Did you try to revert the commits which introduced that ?
Did it fix the freeze ?
Thanks
S
On 11/12/2013 16:42, Xavier de Gaye wrote:
> This has been commited at r196830 and fixes the build but there is still
> an issue on linux with r196787.
>
> When lldb is built on linux at r196786 (the previous revision) with the
> attached sin_len.patch (to fix temporarily the issue
> http://llvm.org/bugs/show_bug.cgi?id=18210 so as to allow the build),
> then lldb stops correctly at main in the following simple test:
> breakpoint set --name main
> run
>
> When lldb is built on linux at r196787 with the sin_len.patch and with
> the changes made in r196830 applied (same as the patch proposed in the
> OP), the above simple test fails and lldb is stuck in a futex syscall.
>
> Xavier
>
>
> On 12/10/2013 10:00 PM, Greg Clayton wrote:
> > Looks good.
> >
> > On Dec 9, 2013, at 1:54 PM, Xavier de Gaye wrote:
> >
> >> The following patch fixes this.
> >>
> >> Xavier
> >>
> >>
> >> diff --git
> a/tools/lldb/source/Plugins/Process/Linux/LinuxThread.cpp
> b/tools/lldb/source/Plugins/Process/Linux/LinuxThread.cpp
> >> --- a/tools/lldb/source/Plugins/Process/Linux/LinuxThread.cpp
> >> +++ b/tools/lldb/source/Plugins/Process/Linux/LinuxThread.cpp
> >> @@ -12,6 +12,10 @@
> >> // Other libraries and framework includes
> >> // Project includes
> >> #include "LinuxThread.h"
> >> +#include "lldb/Core/State.h"
> >> +#include "ProcessPOSIX.h"
> >> +#include "ProcessMonitor.h"
> >> +#include "ProcessPOSIXLog.h"
> >>
> >> using namespace lldb;
> >> using namespace lldb_private;
> >> diff --git a/tools/lldb/source/Plugins/Process/Linux/LinuxThread.h
> b/tools/lldb/source/Plugins/Process/Linux/LinuxThread.h
> >> --- a/tools/lldb/source/Plugins/Process/Linux/LinuxThread.h
> >> +++ b/tools/lldb/source/Plugins/Process/Linux/LinuxThread.h
> >> @@ -33,7 +33,7 @@
> >>
> >> // POSIXThread overrides
> >> virtual bool
> >> - LinuxThread::Resume();
> >> + Resume();
> >>
> >> virtual void
> >> RefreshStateAfterStop();
> >> diff --git
> a/tools/lldb/source/Plugins/Process/Linux/ProcessLinux.cpp
> b/tools/lldb/source/Plugins/Process/Linux/ProcessLinux.cpp
> >> --- a/tools/lldb/source/Plugins/Process/Linux/ProcessLinux.cpp
> >> +++ b/tools/lldb/source/Plugins/Process/Linux/ProcessLinux.cpp
> >> @@ -182,7 +182,7 @@
> >> uint32_t thread_count = m_thread_list.GetSize(false);
> >> for (uint32_t i = 0; i < thread_count; ++i)
> >> {
> >> - POSIXThread *thread = static_cast<POSIXThread*>(
> >> + LinuxThread *thread = static_cast<LinuxThread*>(
> >> m_thread_list.GetThreadAtIndex(i, false).get());
> >> did_resume = thread->Resume() || did_resume;
> >> }
> >> diff --git a/tools/lldb/source/Plugins/Process/Linux/ProcessLinux.h
> b/tools/lldb/source/Plugins/Process/Linux/ProcessLinux.h
> >> --- a/tools/lldb/source/Plugins/Process/Linux/ProcessLinux.h
> >> +++ b/tools/lldb/source/Plugins/Process/Linux/ProcessLinux.h
> >> @@ -60,6 +60,9 @@
> >> virtual bool
> >> UpdateThreadList(lldb_private::ThreadList &old_thread_list,
> lldb_private::ThreadList &new_thread_list);
> >>
> >> + virtual lldb_private::Error
> >> + DoResume();
> >> +
>
>
> _______________________________________________
> lldb-dev mailing list
> lldb-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20131211/ec94eb1a/attachment.html>
More information about the lldb-dev
mailing list