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
{{ message }}
Repository navigation
Consider treating a lot of hard errors around information gathering as soft errors #223
Firefox Bug 1245570 shows that we might be, perhaps, a bit over-reacting to how we handle a failure to obtain the floating point register values.
Currently, if we fail to obtain both the general-purpose registers and the floating-point registers as part of writing the ThreadListStream entry, we bomb out with a hard error here, which then also causes us to give up on writing the minidump altogether here.
This issue is to investigate and discuss whether we can have a bit more chill when it comes to error handling for either or both of these steps. Perhaps we can still push forward writing the ThreadListStream even if we can't read some of the registers... Or maybe we can't, but maybe we should not treat a failure to write the ThreadListStream as a total loss for writing the minidump.
More generally, we currently bomb out if we fail to write a lot of different streams: ModuleListStream, MemoryListStream, ExceptionStream, etc -- The list goes on. It might be worth taking inventory of all the stuff written in MinidumpWriter::write_dump() and differentiating "if we can't write this stream, the whole minidump is worthless and we might as well not send it" versus "we could still do useful things with a minidump that lacks this stream".
changed the title [-]Consider reacting less intensely when writing[/-][+]Consider reacting less intensely when writing `ThreadListStream` (and possibly other streams)[/+]on Aug 25, 2026
changed the title [-]Consider reacting less intensely when writing `ThreadListStream` (and possibly other streams)[/-][+]Consider reacting less intensely when failing to write `ThreadListStream` (and possibly other streams)[/+]on Aug 25, 2026
@schopin-mozilla made a good point -- At the very least, we should always send the Soft Errors stream, and the soft error stream should ideally even contain any hard error that stopped us from gathering information in the rest of the minidump.
So even if we hit a hard error that makes the minidump completely useless otherwise, we still have the soft errors and hard error that caused us to stop trying to make a useful minidump.
changed the title [-]Consider reacting less intensely when failing to write `ThreadListStream` (and possibly other streams)[/-][+]Consider treating a lot of hard errors around information gathering as soft errors[/+]on Aug 26, 2026
Activity
[-]Consider reacting less intensely when writing[/-][+]Consider reacting less intensely when writing `ThreadListStream` (and possibly other streams)[/+][-]Consider reacting less intensely when writing `ThreadListStream` (and possibly other streams)[/-][+]Consider reacting less intensely when failing to write `ThreadListStream` (and possibly other streams)[/+]marti4d commentedon Aug 26, 2026
@schopin-mozilla made a good point -- At the very least, we should always send the Soft Errors stream, and the soft error stream should ideally even contain any hard error that stopped us from gathering information in the rest of the minidump.
So even if we hit a hard error that makes the minidump completely useless otherwise, we still have the soft errors and hard error that caused us to stop trying to make a useful minidump.
[-]Consider reacting less intensely when failing to write `ThreadListStream` (and possibly other streams)[/-][+]Consider treating a lot of hard errors around information gathering as soft errors[/+]