[Bug 15258] New: lldb asserts on Linux in ProcessMonitor::GetCrashReasonForSIGSEGV

Bug ID 15258
Summary lldb asserts on Linux in ProcessMonitor::GetCrashReasonForSIGSEGV
Product lldb
Version unspecified
Hardware PC
OS Linux
Status NEW
Severity normal
Priority P
Component All Bugs
Assignee lldb-dev@cs.uiuc.edu
Reporter daniel.malea@intel.com
Classification Unclassified

In the testcase TestExprDoesntBlock.py, the inferior sometimes (but not always)
receives a SIGSEGV during expression evaluation. The siginfo structure that
LLDB gets from the kernel has an invalid si_code value (128 == SI_KERNEL).

According to siginfo docs, si_code == SI_KERNEL means that the signal was sent
by the kernel -- but not because a protected or otherwise invalid address was
accessed. Most likely this is happening because of some ptrace() mis-use
somewhere.

While it would be trivial to handle SI_KERNEL and add an appropriate
exit-description string to ProcessMessage.[h|cpp] we want to find out why
SI_KERNEL is being sent to this test case, and why it is not happening always.

Skipping the test case until someone else has time to look at it further.

Todd Fiala changed bug 15258

What | Removed | Added |

  • | - | - |
    Status | NEW | RESOLVED |
    CC | | tfiala@google.com |
    Resolution | — | FIXED |

Comment # 5 on bug 15258 from Todd Fiala

Tested against top of tree lldb svn r202448.  Ran TestExprDoesntBlock.py 10
times in a row, succeeded on Ubuntu 12.04 LTS x86_64, lldb built with gcc 4.8.2
and July 2013 libedit.

Enabled with r202456.

Todd Fiala changed bug 15258

What | Removed | Added |

  • | - | - |
    Status | RESOLVED | REOPENED |
    Resolution | FIXED | — |

Comment # 7 on bug 15258 from Todd Fiala

Given comment #6, I'm reopening this.

Vince Harron changed bug 15258

What | Removed | Added |

  • | - | - |
    Status | REOPENED | RESOLVED |
    CC | | vince@nethacker.com |
    Resolution | — | WORKSFORME |

Comment # 8 on bug 15258 from Vince Harron

tested with x86_64 ubuntu 14.04 gcc/clang-3.5