You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It looks like system libraries are not present in minidumps I generate on macOS. As test case, I ran the diskwriter example from the minidumper crate, and then examined its output with minidump-stackwalk --dump:
However, otool -L shows several other libraries linked to it, which I would expect to be present:
../../crash-handling/target/debug/examples/diskwrite:
/usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1311.100.3)
/usr/lib/libresolv.9.dylib (compatibility version 1.0.0, current version 1.0.0)
Concretely, this prevents stack walking from handling frames inside of libSystem properly.
This may be related to some linker shenanigans starting on Big Sur:
New in macOS Big Sur 11.0.1, the system ships with a built-in dynamic linker cache of all system-provided libraries. As part of this change, copies of dynamic libraries are no longer present on the filesystem. Code that attempts to check for dynamic library presence by looking for a file at a path or enumerating a directory will fail. Instead, check for library presence by attempting to dlopen() the path, which will correctly check for the library in the cache. (62986286)
Thanks for the report! I thought maybe I had messed up handling those shenanigans as well which is why I added a test https://github.com/rust-minidump/minidump-writer/blob/main/tests/task_dumper.rs to validate against otool output, it turns out this was instead a mistake in the retrieval of the module's file path from the process memory, working on a fix now.
It looks like system libraries are not present in minidumps I generate on macOS. As test case, I ran the diskwriter example from the minidumper crate, and then examined its output with
minidump-stackwalk --dump
:However,
otool -L
shows several other libraries linked to it, which I would expect to be present:Concretely, this prevents stack walking from handling frames inside of libSystem properly.
This may be related to some linker shenanigans starting on Big Sur:
https://developer.apple.com/documentation/macos-release-notes/macos-big-sur-11_0_1-release-notes
The text was updated successfully, but these errors were encountered: