From 6088387b6f07ebddb692db981b942ba25503bb06 Mon Sep 17 00:00:00 2001 From: Vitah Lin Date: Tue, 3 Mar 2026 09:33:52 +0800 Subject: [PATCH] Capture and report server crash after RESTORE in corrupt-dump-fuzzer test (#14836) ## Problem In `corrupt-dump-fuzzer.tcl`, after a successful `RESTORE` with a corrupted payload, the test did a bare `r ping` to check whether the server was still alive: If the server crashed at this point, the uncaught exception would **silently terminate the entire test** without printing the payload that caused the crash, making the issue extremely hard to reproduce and debug. ## Fix Wrap `r ping` with catch to ensure failures trigger the same reporting and restart logic as `RESTORE`. This ensures offending payloads are logged for reproduction. --- tests/integration/corrupt-dump-fuzzer.tcl | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tests/integration/corrupt-dump-fuzzer.tcl b/tests/integration/corrupt-dump-fuzzer.tcl index 5c7c9923a..a6d911324 100644 --- a/tests/integration/corrupt-dump-fuzzer.tcl +++ b/tests/integration/corrupt-dump-fuzzer.tcl @@ -145,7 +145,13 @@ foreach sanitize_dump {no yes} { } } } else { - r ping ;# an attempt to check if the server didn't terminate (this will throw an error that will terminate the tests) + # an attempt to check if the server didn't terminate (this will throw an error that will terminate the tests) + if { [catch { r ping } err] } { + set msg "Server crashed after RESTORE with payload: $printable_dump" + write_log_line 0 $msg + puts $msg + error $err + } } set print_commands false