Rollup merge of #146335 - arielb1:dont-dump-core, r=nnethercote

disable core dumps for panic-uninitialized-zeroed

That test causes a large amount of crashes. If a system has a /proc/sys/kernel/core_pattern that uploads core dumps enabled, it will take a long time to complete. Set dumpable to 0 to avoid that.

Before:
```
$ time ./panic-uninitialized-zeroed

real    0m47.457s
user    0m0.023s
sys     0m0.021s
```

After:
```
$ ./panic-uninitialized-zeroed

real    0m0.029s
user    0m0.019s
sys     0m0.010s
```
This commit is contained in:
Stuart Cook 2025-09-11 14:06:27 +10:00 committed by GitHub
commit cc51a7efeb
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -5,9 +5,10 @@
//@ [strict]compile-flags: -Zstrict-init-checks
//@ needs-subprocess
//@ ignore-backends: gcc
//@ edition:2024
#![allow(deprecated, invalid_value)]
#![feature(never_type)]
#![feature(never_type, rustc_private)]
use std::{
mem::{self, MaybeUninit, ManuallyDrop},
@ -15,6 +16,9 @@ use std::{
num,
};
#[cfg(target_os = "linux")]
extern crate libc;
#[allow(dead_code)]
struct Foo {
x: u8,
@ -108,6 +112,17 @@ fn test_panic_msg_only_if_strict<T>(op: impl (FnOnce() -> T) + 'static, msg: &st
fn main() {
unsafe {
#[cfg(target_os = "linux")]
{
// This test causes a large amount of crashes. If a system
// has a /proc/sys/kernel/core_pattern that uploads core dumps enabled,
// it will take a long time to complete. Set dumpable to 0 to avoid that.
if libc::prctl(libc::PR_SET_DUMPABLE, 0) < 0 {
let err = std::io::Error::last_os_error();
panic!("failed to disable core dumps {err:?}");
}
}
// Uninhabited types
test_panic_msg(
|| mem::uninitialized::<!>(),