mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +01:00
Auto merge of #11530 - jdm:sigsegv, r=metajack
Obtain backtraces automatically from segfaults <!-- Please describe your changes on the following line: --> This enables more meaningful output from observing hard crashes outside of GDB through the judicious use of a SIGSEGV signal handler. --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: --> - [X] `./mach build -d` does not report any errors - [X] `./mach test-tidy` does not report any errors - [X] These changes fix #9371 (github issue number if applicable). - [X] There are tests for these changes OR <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11530) <!-- Reviewable:end -->
This commit is contained in:
commit
2c4c2d8779
10 changed files with 83 additions and 1 deletions
|
@ -571,6 +571,15 @@ impl TestBindingMethods for TestBinding {
|
|||
fn FuncControlledAttributeEnabled(&self) -> bool { false }
|
||||
fn FuncControlledMethodDisabled(&self) {}
|
||||
fn FuncControlledMethodEnabled(&self) {}
|
||||
|
||||
#[allow(unsafe_code)]
|
||||
fn CrashHard(&self) {
|
||||
static READ_ONLY_VALUE: i32 = 0;
|
||||
unsafe {
|
||||
let p: *mut u32 = &READ_ONLY_VALUE as *const _ as *mut _;
|
||||
ptr::write_volatile(p, 0xbaadc0de);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl TestBinding {
|
||||
|
|
|
@ -456,3 +456,8 @@ interface TestBinding {
|
|||
[Func="TestBinding::condition_satisfied"]
|
||||
const unsigned short funcControlledConstEnabled = 0;
|
||||
};
|
||||
|
||||
partial interface TestBinding {
|
||||
[Pref="dom.testable_crash.enabled"]
|
||||
void crashHard();
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue