Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Process Exception even without matching Thread #830

Open
Swatinem opened this issue Apr 26, 2023 · 1 comment
Open

Process Exception even without matching Thread #830

Swatinem opened this issue Apr 26, 2023 · 1 comment

Comments

@Swatinem
Copy link
Collaborator

I have a minidump that is extremely stripped down, and probably not very useful, it only has the following info:

  • System Info
  • A full module list
  • An empty memory list, so no stack memory available for unwinding whatsoever
  • An exception stream / entry
  • A thread list with a single thread, however that thread does not match the exception.

The problem with this minidump is that the exception info is not being used when processing. As the processor is iterating over all the threads, and the single thread in the minidump does not match the thread_id of the exception:

let context = if crashing_thread_id.or(self.requesting_thread_id) == Some(id) {
requesting_thread = Some(i);
exception_context.as_deref().or(thread_context.as_deref())

The exception is thus discarded and not being processed.

Apart from the fact that due to missing any kind of memory regions, unwinding itself is impossible, however the customer still wants to see at least the exception context symbolicated.

@gabrielesvelto
Copy link
Collaborator

Sounds like a worthy improvement. Not doing unwinding because the thread's stack memory region is missing is something we already run into (in stack overflows on Linux for example) and we still print the exception and context correctly, so it's worth doing this too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants