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

Capturing an additional minidump as a error/non-crash event #823

Open
1 task
trzeciak opened this issue Mar 27, 2023 · 2 comments
Open
1 task

Capturing an additional minidump as a error/non-crash event #823

trzeciak opened this issue Mar 27, 2023 · 2 comments

Comments

@trzeciak
Copy link

trzeciak commented Mar 27, 2023

Description

When capturing a additional/intentional minidump that is not a crash,
the event on sentry dashboard is reported that 💀 Unhandled.
I expect the reported event to be flagged as an error / no-crash.

  • This unhandled events generated false positive alarm.
  • It is useful to record additional/intentional minidump (with stack traces) during debugging unexpected lags in native application.

I upload minidump with few additional variables via rest API using bash-curl outside of main process.
Example additional sentry.json file:

{
  "event_id": "ac2db...",
  "extra": {
    "logs_link": "http://log-service.local;start=2023-03-27T10:00:00+00:00",
    "ram_usage": "Free RAM 127 MB, available RAM 3.0 GB of total 3.9 GB"
  },
  "level": "error",
  "release": "myapp_12345",
  "tags": {
    "dump_type": "ERROR",
    "environment": "https://api-service.local/"
  },
  "timestamp": "2023-03-27T10:00:00",
  "transaction": "ERROR",
  "user": {
    "id": ""
  }
}

I tried adding fields in root json and in sub-json "tags" but no effect:

  "handled": true,
  "level": "warning",

It would be great if the 💀 Unhandled event flag would be overridden in this case by setting some flags in the sentry.json fields.

Or maybe it's possible to overwrite, but I'm using wrong fields in json?

When does the problem happen

  • When capturing a minidump that is not a crash

Environment

  • OS: linux (x86_64 and arm64)
  • Compiler: clang
  • SDK: Breakpad-minidump
  • sentry-native: not used, upload events via rest API

Steps To Reproduce

  • record minidump on linux
  • create supplementary sentry json
  • upload both via curl
  • see reported event as 'crash'
@supervacuus
Copy link
Collaborator

This must be solved at the boundary between the Native SDK and the relay service. Relay creates a placeholder object for each minidump it processes.

As part of that processing, it initializes the handled-flag in the exception mechanism of that placeholder to false (since all minidumps are considered unhandled exceptions in the API sense because they are typically only generated when a crash occurred).

Also, the exceptions already present in the event (for whatever reason) are cleared.

@jan-auer, can you state whether this could be added to the ingestion? I think this is also essentially the ask in this issue: #268, right? Thx!

@trzeciak
Copy link
Author

trzeciak commented Mar 27, 2023

Ooh.. now I understand xD thanks for the good explanation!

And yes, now I understand that I should open an issue on the server side :/.
The problem is similar to #268.

For me probably the solution would be allow to override the handled flag from the event (instead of always init with false) aka level.

BTW: I'm not sure if the level works correctly (get level from the event if exist) because I set the level to warning, but the event (with the minidump) always has a level:Fatal.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Needs Discussion
Development

No branches or pull requests

3 participants