Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make the signal handler exit immediately #22259

Merged
merged 2 commits into from
Feb 1, 2019
Merged

Conversation

jdm
Copy link
Member

@jdm jdm commented Nov 23, 2018

This addresses #22240 by immediately exiting, rather than sometimes triggering a SIGBUS by aborting that can be caught recursively.



This change is Reviewable

@highfive
Copy link

Heads up! This PR modifies the following files:

  • @paulrouget: ports/servo/non_android_main.rs, ports/servo/Cargo.toml

@highfive highfive added the S-awaiting-review There is new code that needs to be reviewed. label Nov 23, 2018
@Manishearth
Copy link
Member

@bors-servo r+

@bors-servo
Copy link
Contributor

📌 Commit 84ae607 has been approved by Manishearth

@highfive highfive added S-awaiting-merge The PR is in the process of compiling and running tests on the automated CI. and removed S-awaiting-review There is new code that needs to be reviewed. labels Nov 24, 2018
@bors-servo
Copy link
Contributor

⌛ Testing commit 84ae607 with merge 72e9753...

bors-servo pushed a commit that referenced this pull request Nov 24, 2018
Make the signal handler exit immediately

This addresses #22240 by immediately exiting, rather than sometimes triggering a SIGBUS by aborting that can be caught recursively.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #22240
- [x] There are tests for these changes

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22259)
<!-- Reviewable:end -->
@bors-servo
Copy link
Contributor

💔 Test failed - windows-msvc-dev

@highfive highfive added S-tests-failed The changes caused existing tests to fail. and removed S-awaiting-merge The PR is in the process of compiling and running tests on the automated CI. labels Nov 24, 2018
@CYBAI
Copy link
Member

CYBAI commented Nov 26, 2018

error[E0432]: unresolved imports `libc::pid_t`, `libc::kill`
 --> C:\buildbot\.cargo\registry\src\github.com-1ecc6299db9ec823\sig-1.0.0\src\ffi.rs:8:16
  |
8 | pub use libc::{pid_t, c_int, getpid, kill};
  |                ^^^^^                 ^^^^ no `kill` in the root
  |                |
  |                no `pid_t` in the root

error[E0432]: unresolved imports `libc::sigaction`, `libc::sighandler_t`, `libc::sigfillset`
  --> C:\buildbot\.cargo\registry\src\github.com-1ecc6299db9ec823\sig-1.0.0\src\lib.rs:27:12
   |
27 | use libc::{sigaction, sighandler_t, sigfillset};
   |            ^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^ no `sigfillset` in the root
   |            |          |
   |            |          no `sighandler_t` in the root
   |            no `sigaction` in the root

error: aborting due to 2 previous errors

@highfive highfive added S-awaiting-review There is new code that needs to be reviewed. and removed S-tests-failed The changes caused existing tests to fail. labels Nov 26, 2018
@jdm
Copy link
Member Author

jdm commented Nov 26, 2018

@bors-servo r=Manishearth

@bors-servo
Copy link
Contributor

📌 Commit 89ee79a has been approved by Manishearth

@highfive highfive added S-awaiting-merge The PR is in the process of compiling and running tests on the automated CI. and removed S-awaiting-review There is new code that needs to be reviewed. labels Nov 26, 2018
@bors-servo
Copy link
Contributor

⌛ Testing commit 89ee79a with merge eb44615...

bors-servo pushed a commit that referenced this pull request Nov 26, 2018
Make the signal handler exit immediately

This addresses #22240 by immediately exiting, rather than sometimes triggering a SIGBUS by aborting that can be caught recursively.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #22240
- [x] There are tests for these changes

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22259)
<!-- Reviewable:end -->
@bors-servo
Copy link
Contributor

💔 Test failed - linux-rel-wpt

@highfive highfive added S-tests-failed The changes caused existing tests to fail. and removed S-awaiting-merge The PR is in the process of compiling and running tests on the automated CI. labels Nov 26, 2018
@CYBAI
Copy link
Member

CYBAI commented Nov 27, 2018

In linux-rel-wpt:

error: unused `#[macro_use]` import
 --> ports/servo/non_android_main.rs:6:30
  |
6 | #[cfg(feature = "unstable")] #[macro_use] extern crate sig;
  |                              ^^^^^^^^^^^^
  |
  = note: `-D unused-imports` implied by `-D warnings`

error: unused import: `libc::_exit`
  --> ports/servo/non_android_main.rs:16:5
   |
16 | use libc::_exit;
   |     ^^^^^^^^^^^

error: aborting due to 2 previous errors

In windows-msvc-dev:

error[E0463]: can't find crate for `sig`
 --> ports\servo\non_android_main.rs:6:43
  |
6 | #[cfg(feature = "unstable")] #[macro_use] extern crate sig;
  |                                           ^^^^^^^^^^^^^^^^^ can't find crate

error: aborting due to previous error

@highfive highfive added S-awaiting-review There is new code that needs to be reviewed. and removed S-tests-failed The changes caused existing tests to fail. labels Nov 27, 2018
@jdm
Copy link
Member Author

jdm commented Nov 27, 2018

@bors-servo r=Manishearth

@highfive highfive added the S-awaiting-review There is new code that needs to be reviewed. label Feb 1, 2019
@jdm
Copy link
Member Author

jdm commented Feb 1, 2019

@bors-servo r=Manishearth

@bors-servo
Copy link
Contributor

📌 Commit 708031c has been approved by Manishearth

@highfive highfive added S-awaiting-merge The PR is in the process of compiling and running tests on the automated CI. and removed S-awaiting-review There is new code that needs to be reviewed. S-needs-rebase There are merge conflict errors. labels Feb 1, 2019
@bors-servo
Copy link
Contributor

⌛ Testing commit 708031c with merge cd5c0dc...

bors-servo pushed a commit that referenced this pull request Feb 1, 2019
Make the signal handler exit immediately

This addresses #22240 by immediately exiting, rather than sometimes triggering a SIGBUS by aborting that can be caught recursively.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #22240
- [x] There are tests for these changes

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22259)
<!-- Reviewable:end -->
@bors-servo
Copy link
Contributor

💔 Test failed - linux-rel-css

@highfive highfive added S-tests-failed The changes caused existing tests to fail. and removed S-awaiting-merge The PR is in the process of compiling and running tests on the automated CI. labels Feb 1, 2019
@CYBAI
Copy link
Member

CYBAI commented Feb 1, 2019

💔 Test failed - linux-rel-css

Failed at shell__5 'bash ./etc/ci/lockfile_changed.sh' failed

diff --git a/Cargo.lock b/Cargo.lock
index 600c3cd..58f8b71 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -3640,7 +3640,7 @@ dependencies = [
  "glutin 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "keyboard-types 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
  "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
  "libservo 0.0.1",
  "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
  "osmesa-src 0.1.0 (git+https://github.com/servo/osmesa-src)",
@@ -3924,7 +3924,7 @@ name = "sig"
 version = "1.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
 ]

@highfive highfive added S-awaiting-review There is new code that needs to be reviewed. and removed S-tests-failed The changes caused existing tests to fail. labels Feb 1, 2019
@jdm
Copy link
Member Author

jdm commented Feb 1, 2019

@bors-servo r+
The dangers of rebasing old code.

@bors-servo
Copy link
Contributor

📌 Commit 342b9ef has been approved by jdm

@highfive highfive assigned jdm and unassigned Manishearth Feb 1, 2019
@highfive highfive added S-awaiting-merge The PR is in the process of compiling and running tests on the automated CI. and removed S-awaiting-review There is new code that needs to be reviewed. labels Feb 1, 2019
@bors-servo
Copy link
Contributor

⌛ Testing commit 342b9ef with merge 4a6b911...

bors-servo pushed a commit that referenced this pull request Feb 1, 2019
Make the signal handler exit immediately

This addresses #22240 by immediately exiting, rather than sometimes triggering a SIGBUS by aborting that can be caught recursively.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #22240
- [x] There are tests for these changes

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22259)
<!-- Reviewable:end -->
@bors-servo
Copy link
Contributor

☀️ Test successful - android-mac, arm32, arm64, linux-rel-css, linux-rel-wpt, mac-rel-css1, mac-rel-css2, mac-rel-wpt1, mac-rel-wpt2, mac-rel-wpt3, mac-rel-wpt4, magicleap, status-taskcluster
Approved by: jdm
Pushing 4a6b911 to master...

@bors-servo bors-servo merged commit 342b9ef into servo:master Feb 1, 2019
@highfive highfive removed the S-awaiting-merge The PR is in the process of compiling and running tests on the automated CI. label Feb 1, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Crash handler invoking intrinsics::abort sometimes causes recursive crash handling to occur
6 participants