Skip to content
Snippets Groups Projects
Commit 208ea397 authored by M. Sirringhaus's avatar M. Sirringhaus
Browse files

Bug 1766759 - Use PID when populating the LinuxDsoDebug stream. r=gsvelto

parent 27e70e07
Branches
Tags
No related merge requests found
......@@ -7,10 +7,10 @@ git = "https://github.com/smol-rs/async-task"
replace-with = "vendored-sources"
rev = "f6488e35beccb26eb6e85847b02aa78a42cd3d0e"
[source."https://github.com/msirringhaus/minidump_writer_linux.git"]
git = "https://github.com/msirringhaus/minidump_writer_linux.git"
[source."https://github.com/rust-minidump/minidump-writer.git"]
git = "https://github.com/rust-minidump/minidump-writer.git"
replace-with = "vendored-sources"
rev = "029ac0d54b237f27dc7d8d4e51bc0fb076e5e852"
rev = "75ada456c92a429704691a85e1cb42fef8cafc0d"
[source."https://github.com/mozilla/neqo"]
git = "https://github.com/mozilla/neqo"
......
......@@ -3155,7 +3155,7 @@ dependencies = [
[[package]]
name = "minidump_writer_linux"
version = "0.1.0"
source = "git+https://github.com/msirringhaus/minidump_writer_linux.git?rev=029ac0d54b237f27dc7d8d4e51bc0fb076e5e852#029ac0d54b237f27dc7d8d4e51bc0fb076e5e852"
source = "git+https://github.com/rust-minidump/minidump-writer.git?rev=75ada456c92a429704691a85e1cb42fef8cafc0d#75ada456c92a429704691a85e1cb42fef8cafc0d"
dependencies = [
"byteorder",
"goblin",
......
......@@ -112,7 +112,7 @@ fog = { path = "toolkit/components/glean/api" }
libudev-sys = { path = "dom/webauthn/libudev-sys" }
packed_simd = { package = "packed_simd_2", git = "https://github.com/hsivonen/packed_simd", rev="c149d0a519bf878567c7630096737669ec2ff15f" }
midir = { git = "https://github.com/mozilla/midir.git", rev = "4c11f0ffb5d6a10de4aff40a7b81218b33b94e6f" }
minidump_writer_linux = { git = "https://github.com/msirringhaus/minidump_writer_linux.git", rev = "029ac0d54b237f27dc7d8d4e51bc0fb076e5e852" }
minidump_writer_linux = { git = "https://github.com/rust-minidump/minidump-writer.git", rev = "75ada456c92a429704691a85e1cb42fef8cafc0d" }
# Patch mio 0.6 to use winapi 0.3 and miow 0.3, getting rid of winapi 0.2.
# There is not going to be new version of mio 0.6, mio now being >= 0.7.11.
......
{"files":{"Cargo.toml":"4dd86de185a791494eaeb77c6355f052eec8ff5a21e4659fe688c23c54adf544","LICENSE":"1ecdd8e8977af83c07c5f97bec87b47d27059b7ea323ca3160fbfa2314f5d99c","src/android.rs":"70f79d68e0b2a5afcd13788d3c11df094750b83995a03c8100484f20c295a1fb","src/app_memory.rs":"909676c916c0ffaa3a813632c162f5b1207f8502408b6b3bab48a5f842948c71","src/auxv_reader.rs":"b8817a185fe8fb7a2b9624cce3cfd51aad43d7c59fc15b3337808398bf372795","src/bin/test.rs":"4172d3e8ad10b8cbde4632e0248b012eb59de55f68a3e1a69a52d8cc61c9b01a","src/crash_context/crash_context_aarch64.rs":"ce477360b5d16f11814b195fb12c461183bd06fd08cdd14e76c9c2bdcbaccd47","src/crash_context/crash_context_arm.rs":"6e2f1db21b93fadfa034a5246c70687d6654a40627f1ecf849511cf480a96bad","src/crash_context/crash_context_mips.rs":"430669c21f03cefd479e46265dc3c4d3495acaf8b01da09dc0b0e4168306b508","src/crash_context/crash_context_x86.rs":"136a1b0f8107986505df95a1a5423f352ae3ea383e25335e60c6242acdff34da","src/crash_context/crash_context_x86_64.rs":"8fb5f86944ec5a02bc6a7dba4ef698d088686de2cf5fb0a6014592ae394c2e47","src/crash_context/mod.rs":"2b61fad8c0cab1a2496db36977bd0b8e664b095bc51e25f9645ac90f3322e9ef","src/dso_debug.rs":"3697ade2a6982663cb888521119eedfa1613b750f26e65cd41d8a4c706001e93","src/dumper_cpu_info/cpu_info_arm.rs":"61671737bb2187f92423fbfb6f0f04ecaa86937121868d9c545648a0e7d4be05","src/dumper_cpu_info/cpu_info_x86_mips.rs":"e8523a022a1f2c98c40f00fc18286ed6f4b9b7a7d1ef993638979c581c2b6af8","src/dumper_cpu_info/mod.rs":"5322108f35021cf03d61ccb4c54a2b4875dfdff774a4297148925d76525d125c","src/errors.rs":"05f689858847467bcc1afcd91dc483d3307331d3d1dad46f199a6583a8ae641f","src/lib.rs":"d475c9a464370348e0b5f0d8c97923e09b11d476b9da9d3c4cfb4d393e2505a1","src/linux_ptrace_dumper.rs":"368721d40c415a1b86dc147a63c74537e99e22df4fecc2e63f3969e9090dcc7c","src/maps_reader.rs":"d322d0509340e2c9246feb3e2bff0ad21d866c4c64d2287269c16bf413f89240","src/minidump_cpu/minidump_cpu_aarch64.rs":"18524f8a3a3d3eda7d0fafb1c168ff06dee1886da0f4278f3c2a54147ef79bc9","src/minidump_cpu/minidump_cpu_amd64.rs":"c4b3cef86ea53864c026d7c598d8a7f59ca6b1ad7e881f94ce34f39dd6b72e33","src/minidump_cpu/minidump_cpu_arm.rs":"bfbcbf280da47d715189f76c8d9749cb2808d7730bb1fe906a21b42a16c3b044","src/minidump_cpu/minidump_cpu_mips.rs":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","src/minidump_cpu/minidump_cpu_ppc.rs":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","src/minidump_cpu/minidump_cpu_ppc64.rs":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","src/minidump_cpu/minidump_cpu_sparc.rs":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","src/minidump_cpu/minidump_cpu_x86.rs":"3dcb2aa4264d76f0727b9750ffce0032738bea97be95fde92089a9d11926c63c","src/minidump_cpu/mod.rs":"50e8df5e294e9d162c97dacb9448bba0ffc1e4bf992f8a2b9cc718f12b92a370","src/minidump_format.rs":"53c385e743297f6a0abf9463b517ede5f094136c4712a4c5e5fa3d948be67171","src/minidump_writer.rs":"b4ac20e56e3ba393640375b85cc5f271a131633beb444b1205ba1efe95635fc4","src/sections/app_memory.rs":"6fb616e0aa495fd5d9a487231750ac3c2ffa275802adf0f7e60c7666f5e14a60","src/sections/exception_stream.rs":"5c49b80b5acf3694c0c2e275b083ae8f544ed7ba7b8d417303706bfaadf3419e","src/sections/mappings.rs":"1c82bc330344556afd469326ff0d04b17c387e1f863820fd252de95dfcb90d8b","src/sections/memory_list_stream.rs":"02e678bd28de10e854d673ccefeb574067e64bdaefda5212a8161ea194280a7d","src/sections/mod.rs":"c75612b0fc7d632dc1d33961d5c4b0df42a7c25e0ed3e4af4586e0efe7f0ae48","src/sections/systeminfo_stream.rs":"d481a86c6aa86a32378bb3d60b6f7f09fd57155dfa728d0dfa50aa17ef72c836","src/sections/thread_list_stream.rs":"8e0ca140e292804aa32686c0c65ac6803b22f7b853006ca3124b2fcee19cb2f5","src/sections/thread_names_stream.rs":"aed2ef7c0107092f79069dcde3322b99fc1a31b0ae51f8b011ed0aa4f8ba3b9c","src/thread_info/mod.rs":"ae6256f358bd371a573723d88a61ccc77c31fbe216bc2a086a848611099ca841","src/thread_info/thread_info_aarch64.rs":"6e443b2401c651d7607df251015566e7e6183a7522594d51da210a4594d62434","src/thread_info/thread_info_arm.rs":"95b15496cdaa833bec80d3acb53093b38aef535030ab483fdcdef4a2cda52c61","src/thread_info/thread_info_mips.rs":"332d7888bb08a36d3b77023a4a0385193a07b1c6c5bf0e91aacb5d948ba8b903","src/thread_info/thread_info_x86.rs":"fbde8930f8d277d58faa34d90ddf6f27d6438cd5a3c017df4f878897f6f84eca","tests/common/mod.rs":"9d063d7729840bf11c5769b6984ecd6c6d36a3284e55d6cea1b65f832aa4f57f","tests/minidump_writer.rs":"e6e381b1b4cd5cfcea93375a236c2a45f655ea25f5afa4053ee1e108a002c516","tests/ptrace_dumper.rs":"987be63e12f2d82d6e0ccd09234761ff0b6544341e4201a1b4a56fa5c64dbc2f"},"package":null}
\ No newline at end of file
{"files":{"Cargo.toml":"4dd86de185a791494eaeb77c6355f052eec8ff5a21e4659fe688c23c54adf544","LICENSE":"1ecdd8e8977af83c07c5f97bec87b47d27059b7ea323ca3160fbfa2314f5d99c","src/android.rs":"70f79d68e0b2a5afcd13788d3c11df094750b83995a03c8100484f20c295a1fb","src/app_memory.rs":"909676c916c0ffaa3a813632c162f5b1207f8502408b6b3bab48a5f842948c71","src/auxv_reader.rs":"b8817a185fe8fb7a2b9624cce3cfd51aad43d7c59fc15b3337808398bf372795","src/bin/test.rs":"4172d3e8ad10b8cbde4632e0248b012eb59de55f68a3e1a69a52d8cc61c9b01a","src/crash_context/crash_context_aarch64.rs":"ce477360b5d16f11814b195fb12c461183bd06fd08cdd14e76c9c2bdcbaccd47","src/crash_context/crash_context_arm.rs":"6e2f1db21b93fadfa034a5246c70687d6654a40627f1ecf849511cf480a96bad","src/crash_context/crash_context_mips.rs":"430669c21f03cefd479e46265dc3c4d3495acaf8b01da09dc0b0e4168306b508","src/crash_context/crash_context_x86.rs":"136a1b0f8107986505df95a1a5423f352ae3ea383e25335e60c6242acdff34da","src/crash_context/crash_context_x86_64.rs":"8fb5f86944ec5a02bc6a7dba4ef698d088686de2cf5fb0a6014592ae394c2e47","src/crash_context/mod.rs":"2b61fad8c0cab1a2496db36977bd0b8e664b095bc51e25f9645ac90f3322e9ef","src/dso_debug.rs":"3697ade2a6982663cb888521119eedfa1613b750f26e65cd41d8a4c706001e93","src/dumper_cpu_info/cpu_info_arm.rs":"61671737bb2187f92423fbfb6f0f04ecaa86937121868d9c545648a0e7d4be05","src/dumper_cpu_info/cpu_info_x86_mips.rs":"e8523a022a1f2c98c40f00fc18286ed6f4b9b7a7d1ef993638979c581c2b6af8","src/dumper_cpu_info/mod.rs":"5322108f35021cf03d61ccb4c54a2b4875dfdff774a4297148925d76525d125c","src/errors.rs":"32ae3d73e9f4c87db0554f826f6e49bdfa713eb3aac03c3a5979dbcdf173d900","src/lib.rs":"d475c9a464370348e0b5f0d8c97923e09b11d476b9da9d3c4cfb4d393e2505a1","src/linux_ptrace_dumper.rs":"116a78042deba651708484196fc9d1e4a1ec1cccf82b9321dd8b0a18e48de35c","src/maps_reader.rs":"d322d0509340e2c9246feb3e2bff0ad21d866c4c64d2287269c16bf413f89240","src/minidump_cpu/minidump_cpu_aarch64.rs":"18524f8a3a3d3eda7d0fafb1c168ff06dee1886da0f4278f3c2a54147ef79bc9","src/minidump_cpu/minidump_cpu_amd64.rs":"c4b3cef86ea53864c026d7c598d8a7f59ca6b1ad7e881f94ce34f39dd6b72e33","src/minidump_cpu/minidump_cpu_arm.rs":"bfbcbf280da47d715189f76c8d9749cb2808d7730bb1fe906a21b42a16c3b044","src/minidump_cpu/minidump_cpu_mips.rs":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","src/minidump_cpu/minidump_cpu_ppc.rs":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","src/minidump_cpu/minidump_cpu_ppc64.rs":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","src/minidump_cpu/minidump_cpu_sparc.rs":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","src/minidump_cpu/minidump_cpu_x86.rs":"3dcb2aa4264d76f0727b9750ffce0032738bea97be95fde92089a9d11926c63c","src/minidump_cpu/mod.rs":"50e8df5e294e9d162c97dacb9448bba0ffc1e4bf992f8a2b9cc718f12b92a370","src/minidump_format.rs":"53c385e743297f6a0abf9463b517ede5f094136c4712a4c5e5fa3d948be67171","src/minidump_writer.rs":"816912d37329396da310579ee864ce932781b1c22e4966461c947a0521600eed","src/sections/app_memory.rs":"6fb616e0aa495fd5d9a487231750ac3c2ffa275802adf0f7e60c7666f5e14a60","src/sections/exception_stream.rs":"5c49b80b5acf3694c0c2e275b083ae8f544ed7ba7b8d417303706bfaadf3419e","src/sections/mappings.rs":"1c82bc330344556afd469326ff0d04b17c387e1f863820fd252de95dfcb90d8b","src/sections/memory_list_stream.rs":"02e678bd28de10e854d673ccefeb574067e64bdaefda5212a8161ea194280a7d","src/sections/mod.rs":"c75612b0fc7d632dc1d33961d5c4b0df42a7c25e0ed3e4af4586e0efe7f0ae48","src/sections/systeminfo_stream.rs":"d481a86c6aa86a32378bb3d60b6f7f09fd57155dfa728d0dfa50aa17ef72c836","src/sections/thread_list_stream.rs":"8e0ca140e292804aa32686c0c65ac6803b22f7b853006ca3124b2fcee19cb2f5","src/sections/thread_names_stream.rs":"aed2ef7c0107092f79069dcde3322b99fc1a31b0ae51f8b011ed0aa4f8ba3b9c","src/thread_info/mod.rs":"ae6256f358bd371a573723d88a61ccc77c31fbe216bc2a086a848611099ca841","src/thread_info/thread_info_aarch64.rs":"6e443b2401c651d7607df251015566e7e6183a7522594d51da210a4594d62434","src/thread_info/thread_info_arm.rs":"95b15496cdaa833bec80d3acb53093b38aef535030ab483fdcdef4a2cda52c61","src/thread_info/thread_info_mips.rs":"332d7888bb08a36d3b77023a4a0385193a07b1c6c5bf0e91aacb5d948ba8b903","src/thread_info/thread_info_x86.rs":"fbde8930f8d277d58faa34d90ddf6f27d6438cd5a3c017df4f878897f6f84eca","tests/common/mod.rs":"9d063d7729840bf11c5769b6984ecd6c6d36a3284e55d6cea1b65f832aa4f57f","tests/minidump_writer.rs":"e6e381b1b4cd5cfcea93375a236c2a45f655ea25f5afa4053ee1e108a002c516","tests/ptrace_dumper.rs":"987be63e12f2d82d6e0ccd09234761ff0b6544341e4201a1b4a56fa5c64dbc2f"},"package":null}
\ No newline at end of file
......@@ -102,8 +102,8 @@ pub enum DumperError {
CopyFromProcessError(Pid, usize, usize, usize, #[source] nix::Error),
#[error("Skipped thread {0} due to it being part of the seccomp sandbox's trusted code")]
DetachSkippedThread(Pid),
#[error("No threads left to suspend")]
SuspendNoThreadsLeft,
#[error("No threads left to suspend out of {0}")]
SuspendNoThreadsLeft(usize),
#[error("No mapping for stack pointer found")]
NoStackPointerMapping,
#[error("Failed slice conversion")]
......
......@@ -154,6 +154,7 @@ impl LinuxPtraceDumper {
}
pub fn suspend_threads(&mut self) -> Result<(), DumperError> {
let threads_count = self.threads.len();
// Iterate over all threads and try to suspend them.
// If the thread either disappeared before we could attach to it, or if
// it was part of the seccomp sandbox's trusted code, it is OK to
......@@ -161,7 +162,7 @@ impl LinuxPtraceDumper {
self.threads.retain(|x| Self::suspend_thread(x.tid).is_ok());
if self.threads.is_empty() {
Err(DumperError::SuspendNoThreadsLeft)
Err(DumperError::SuspendNoThreadsLeft(threads_count))
} else {
self.threads_suspended = true;
Ok(())
......
......@@ -395,7 +395,7 @@ impl MinidumpWriter {
// Write section to file
dir_section.write_to_file(buffer, Some(dirent))?;
let dirent = dso_debug::write_dso_debug_stream(buffer, self.blamed_thread, &dumper.auxv)
let dirent = dso_debug::write_dso_debug_stream(buffer, self.process_id, &dumper.auxv)
.unwrap_or_default();
// Write section to file
dir_section.write_to_file(buffer, Some(dirent))?;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment