[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