Hi folks

I've synced with the head of the tree this morning and rebuilt and I'm seeing 
another assertion failure impacting my 32-bit linux experience. Running my test 
app looks like this:

$ lldb hello
Current executable set to 'hello' (i386).
(lldb) log enable linux ptrace
(lldb) run
operation ptrace(PTRACE_SETOPTIONS, 8832, (nil), 0x58, 0)=0 called from file 
/home/mg11/src/heracles2/llvm/tools/lldb/source/Plugins/Process/Linux/ProcessMonitor.cpp
 line 1456
operation ptrace(PTRACE_TRACEME, 0, (nil), (nil), 0)=0 called from file 
/home/mg11/src/heracles2/llvm/tools/lldb/source/Plugins/Process/Linux/ProcessMonitor.cpp
 line 1196
Process 8832 launching
operation ptrace(PTRACE_PEEKDATA, 8832, 0x8048340, (nil), 0)=895EED31 called 
from file 
/home/mg11/src/heracles2/llvm/tools/lldb/source/Plugins/Process/Linux/ProcessMonitor.cpp
 line 245
operation ptrace(PTRACE_PEEKDATA, 8832, 0x8048340, (nil), 0)=895EED31 called 
from file 
/home/mg11/src/heracles2/llvm/tools/lldb/source/Plugins/Process/Linux/ProcessMonitor.cpp
 line 245
operation ptrace(PTRACE_POKEDATA, 8832, 0x8048340, 0x895eedcc, 0)=0 called from 
file 
/home/mg11/src/heracles2/llvm/tools/lldb/source/Plugins/Process/Linux/ProcessMonitor.cpp
 line 319
operation ptrace(PTRACE_PEEKDATA, 8832, 0x8048340, (nil), 0)=895EEDCC called 
from file 
/home/mg11/src/heracles2/llvm/tools/lldb/source/Plugins/Process/Linux/ProcessMonitor.cpp
 line 245
operation ptrace(PTRACE_POKEUSER, 8832, 0x2a8, 0xffffffff, 0)=FFFFFFFF called 
from file 
/home/mg11/src/heracles2/llvm/tools/lldb/source/Plugins/Process/Linux/ProcessMonitor.cpp
 line 543
operation ptrace() failed; errno=5 (<unknown>)
lldb: /home/mg11/src/heracles2/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIXProcessMonitor_x86.cpp:511: virtual bool RegisterContextPOSIXProcessMonitor_x86_64::IsWatchpointHit(uint32_t): Assertion `false && "Could not initialize watchpoint registers"' failed.
Aborted (core dumped)

The source of the failure is now:

bool
RegisterContextPOSIXProcessMonitor_x86_64::IsWatchpointHit(uint32_t hw_index)
{
    bool is_hit = false;

    if (m_watchpoints_initialized == false)
    {
        // Reset the debug status and debug control registers
        RegisterValue zero_bits = RegisterValue(uint64_t(0));
        if (!WriteRegister(m_reg_info.first_dr + 6, zero_bits) || 
!WriteRegister(m_reg_info.first_dr + 7, zero_bits))
-->            assert(false && "Could not initialize watchpoint registers");

I'll re-sync and build, just to rule out my wimpy build environment, then start 
digging again...

Matt




Member of the CSR plc group of companies. CSR plc registered in England and 
Wales, registered number 4187346, registered office Churchill House, Cambridge 
Business Park, Cowley Road, Cambridge, CB4 0WZ, United Kingdom
More information can be found at www.csr.com. Keep up to date with CSR on our 
technical blog, www.csr.com/blog, CSR people blog, www.csr.com/people, YouTube, 
www.youtube.com/user/CSRplc, Facebook, 
www.facebook.com/pages/CSR/191038434253534, or follow us on Twitter at 
www.twitter.com/CSR_plc.
New for 2014, you can now access the wide range of products powered by aptX at 
www.aptx.com.
_______________________________________________
lldb-dev mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev

Reply via email to