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
On commit ebbee33, running cargo fuzz run process oom (attached below in a .zip file) will infinitely loop in the following while statement, pushing more stuff to the frames vec until you eventually OOM.
Bailing out if you ever see a frame twice sounds smart.
Are instruction pointers always monotonically increasing/decreasing? If so, we can do this perfectly accurately in O(1) per frame by just checking that the instruction pointer is always increasing or decreasing by at least 1 byte per frame.
The text was updated successfully, but these errors were encountered:
(Arm leaf functions can genuinely not use the stack at all because the link register creates a buffer of one call where you don't even need to push a return pointer, so the unwinder needs to allow forward progress to not occur for the top of the stack, but after that it needs to be strict again)
On commit ebbee33, running
cargo fuzz run process oom
(attached below in a .zip file) will infinitely loop in the followingwhile
statement, pushing more stuff to theframes
vec until you eventually OOM.https://github.com/luser/rust-minidump/blob/a32419975ba6f190081a148f04a41fc42aa4eb26/minidump-processor/src/stackwalker/mod.rs#L174-L193
oom.zip
Bailing out if you ever see a frame twice sounds smart.
Are instruction pointers always monotonically increasing/decreasing? If so, we can do this perfectly accurately in O(1) per frame by just checking that the instruction pointer is always increasing or decreasing by at least 1 byte per frame.
The text was updated successfully, but these errors were encountered: