Bug 1899139 - Log more information when doing in-process minidump generation on Linux! r=KrisWright

This should help us debug some intermittent scenarios we encounter on
automation. We don't care about the additional logspam because this code will
soon be replaced by the out-of-process generator, so it's a temporary stop-gap
solution.

Differential Revision: https://phabricator.services.mozilla.com/D211741
This commit is contained in:
Gabriele Svelto 2024-05-29 08:24:30 +00:00
parent 47f5be42e4
commit c921e3920c

View file

@ -579,6 +579,13 @@ bool ExceptionHandler::GenerateDump(
fdes[0] = fdes[1] = -1;
}
static const char attempt_msg[] = "ExceptionHandler::GenerateDump attempting "
"to generate:";
logger::write(attempt_msg, sizeof(attempt_msg));
logger::write(minidump_descriptor_.path(),
my_strlen(minidump_descriptor_.path()));
logger::write("\n", 1);
const pid_t child = sys_clone(
ThreadEntry, stack, CLONE_FS | CLONE_UNTRACED, &thread_arg, NULL, NULL,
NULL);
@ -623,6 +630,19 @@ bool ExceptionHandler::GenerateDump(
}
bool success = r != -1 && WIFEXITED(status) && WEXITSTATUS(status) == 0;
static const char generate_msg[] = "ExceptionHandler::GenerateDump minidump "
"generation ";
static const char success_msg[] = "succeeded\n";
static const char fail_msg[] = "succeeded\n";
logger::write(generate_msg, sizeof(generate_msg));
if (success) {
logger::write(success_msg, sizeof(success_msg));
} else {
logger::write(fail_msg, sizeof(fail_msg));
}
if (callback_)
success =
callback_(minidump_descriptor_, callback_context_, addr_info, success);