Skip to content

Releases: rust-minidump/rust-minidump

Version 0.21.1 (2024-03-01)

01 Mar 07:32
Compare
Choose a tag to compare

Release Notes

  • Fixed a small regression in the stack walker when dealing with malformed
    minidumps

Install minidump-stackwalk 0.21.1

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/rust-minidump/rust-minidump/releases/download/v0.21.1/minidump-stackwalk-installer.sh | sh

Download minidump-stackwalk 0.21.1

File Platform Checksum
minidump-stackwalk-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
minidump-stackwalk-x86_64-apple-darwin.tar.xz Intel macOS checksum
minidump-stackwalk-x86_64-pc-windows-msvc.zip x64 Windows checksum
minidump-stackwalk-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum
minidump-stackwalk-x86_64-unknown-linux-musl.tar.xz x64 MUSL Linux checksum

Version 0.21.0 (2024-02-28)

28 Feb 18:06
Compare
Choose a tag to compare

Release Notes

  • Native debug information is now read via framehop and wholesym instead of
    symbolic, this provides significant speedups, reduced memory usage and more
    flexibility (the stack walker can be built with unwinding support while
    omitting symbolication for example)
  • Added support for the MINIDUMP_THREAD_INFO_LIST stream
  • Version numbers are now printed out for ELF files if available
  • Symbol files can be passed directly instead of relying on the Breakpad
    directory structure, assuming they have the correct debug ID and file name
  • Removed the dependency on the chrono crate
  • Various cleanups and speed-ups to the stack walker

Install minidump-stackwalk 0.21.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/rust-minidump/rust-minidump/releases/download/v0.21.0/minidump-stackwalk-installer.sh | sh

Download minidump-stackwalk 0.21.0

File Platform Checksum
minidump-stackwalk-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
minidump-stackwalk-x86_64-apple-darwin.tar.xz Intel macOS checksum
minidump-stackwalk-x86_64-pc-windows-msvc.zip x64 Windows checksum
minidump-stackwalk-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum
minidump-stackwalk-x86_64-unknown-linux-musl.tar.xz x64 MUSL Linux checksum

Version 0.20.0 (2024-01-31)

31 Jan 20:12
Compare
Choose a tag to compare

Release Notes

  • Fixed several issues when printing error codes on Windows, Linux and macOS
  • Fixed the debug id of modules looked up via code info, these now report the
    correct debug id for the module
  • The dump_syms option was removed, support for stack-walking and
    symbolication using native debug information is mature enough that we don't
    need it anymore
  • The minidump crate doesn't force its dependents to use the same version of
    memmap2 that it's using
  • Updated several dependencies to remove old crates and duplications

Install minidump-stackwalk 0.20.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/rust-minidump/rust-minidump/releases/download/v0.20.0/minidump-stackwalk-installer.sh | sh

Download minidump-stackwalk 0.20.0

File Platform Checksum
minidump-stackwalk-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
minidump-stackwalk-x86_64-apple-darwin.tar.xz Intel macOS checksum
minidump-stackwalk-x86_64-pc-windows-msvc.zip x64 Windows checksum
minidump-stackwalk-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum
minidump-stackwalk-x86_64-unknown-linux-musl.tar.xz x64 MUSL Linux checksum

Version 0.19.1 (2023-11-02)

02 Nov 21:58
Compare
Choose a tag to compare

Release Notes

  • Fixed an issue that prevent the GitHub integration from automatically
    generating a new release.
  • Updated all dependencies to address some mild security issues in some of the
    dependent crates.

Install minidump-stackwalk 0.19.1

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/rust-minidump/rust-minidump/releases/download/v0.19.1/minidump-stackwalk-installer.sh | sh

Download minidump-stackwalk 0.19.1

File Platform Checksum
minidump-stackwalk-aarch64-apple-darwin.tar.xz macOS Apple Silicon checksum
minidump-stackwalk-x86_64-apple-darwin.tar.xz macOS Intel checksum
minidump-stackwalk-x86_64-pc-windows-msvc.zip Windows x64 checksum
minidump-stackwalk-x86_64-unknown-linux-gnu.tar.xz Linux x64 checksum

Version 0.18.0 (2023-09-18)

18 Sep 10:11
Compare
Choose a tag to compare

Release Notes

  • Add support for the MozMacosBootargsStream minidump stream which captures
    information holding macOS kernel boot arguments.
  • Always use the code file for unwinding on Windows when using native debug
    information. Previously the stack walker could use the PDB file which does
    not contain unwinding information in 64-bit builds.
  • Populate the process ID field on Linux, this displays the PID of the crashed
    process.
  • Expose the MINIDUMP_MEMORY_INFO fields in the public API.
  • Disable bit-flip detection on 64-bit ARM minidumps since it's prone to
    false positives.

Download minidump-stackwalk 0.18.0

File Platform Checksum
minidump-stackwalk-aarch64-apple-darwin.tar.xz macOS Apple Silicon checksum
minidump-stackwalk-x86_64-apple-darwin.tar.xz macOS Intel checksum
minidump-stackwalk-x86_64-pc-windows-msvc.zip Windows x64 checksum
minidump-stackwalk-x86_64-unknown-linux-gnu.tar.xz Linux x64 checksum

v0.17.0

17 May 09:29
Compare
Choose a tag to compare
  • Stack-walking using native debug information was somewhat buggy, after more
    thorough testing it should be now on-par with breakpad symbol file-based
    stack-walking.

New minidump-unwind crate

The stack walking machinery has been extracted from the minidump-processor
crate and put in a separate one. This crate has significantly less dependencies
than the minidump-processor crate which makes it easier to vendor it in
projects that only care about stack walking.

Guard-page detection

While analyzing a crash minidump-stackwalk will check if the crashing address
hit a potential guard page. Guard pages are usually introduced by the memory
allocator around larger allocation and have no permissions set. If the crash
address hit one of these pages the memory_accesses filed in the JSON output
will contain the is_likely_guard_page: true field.

v0.16.0

05 Apr 10:36
Compare
Choose a tag to compare
  • Make all minidump-common::format structs writable with scroll.
  • Don't fail reading the entire module list if one module has an invalid size.
  • All crates now explicitly include the MIT license
  • The stack walker will now fetch the CPU microcode value from the evil JSON
    payload when it's not present in the minidump
  • CPU microcode value in the JSON output changed types from u32 to hexstring
  • Crashes with jmp/call/ret instruction to non-canonical addresses now show the
    real address we jumped to instead of 0x0000000000000000 or 0xffffffffffffffff
  • Updated several dependencies further decreasing the total number of crates
    it depends upon.

NULL-pointer crash detection

The minidump-processor crate will use the disassembly of the current
instruction to check whether the crash involved a NULL-pointer access. Crashes
caused by accessing NULL pointers often exhibit near-NULL address making it less
clear what the underlying problem was. When using minidump-stackwalk the JSON
output will contain an adjusted_address field holding the reason for the
adjustment (null-pointer) as well as the offest from NULL.

Potential bit-flip detection

The minidump-processor crate contains new logic that detects crashes that have
been potentially caused by a bit-flip in the user's machine memory. This
detection is driven by a heuristic as it is impossible to completely tell apart
software crashes from ones induced by flaky hardware. The tests we conducted on
real crash data showed this heuristic to be very effective in telling apart such
crashes. When using minidump-stackwalk this information will be added to the
JSON output under the possible_bit_flips field.

Stack walking using native debug information

The stack walker now supports using native debug information available on the
host in addition to Breakpad .sym files. This functionality is enabled by
passing the --use-local-debuginfo flag to minidump-stackwalk when processing
a crash.

v0.15.2

07 Dec 12:09
Compare
Choose a tag to compare
  • Updated the num-range crate, further reducing the number of dependencies
    required when vendoring this crate

v0.15.1

06 Dec 09:10
Compare
Choose a tag to compare
  • Updated yaxpeax for improved performance when disassembling instructions
  • Removed the tracing crate from the dependencies of the minidump-common crate

v0.15.0

30 Nov 08:45
Compare
Choose a tag to compare
  • More Windows errors are now handled correctly
  • Small improvements when handling macOS exceptions
  • Hexadecimal values are now printed with consistent width and prefixes
  • Several crates were updated
  • Fixed some links in the documentation

Support for instruction disassembly

The stackwalker is now capable of disassembling the crashing instruction,
printing it out as well as its memory operands. This functionality is used to
improve crash analysis: we implemented the ability to extract the real crashing
address for global protection fault exceptions on x86-64. These were usually
the result of an access to a non-canonical memory location and were reported as
either 0x0000000000000000 or 0xffffffffffffffff depending on the platform,
irrespective of the actual address.