Skip to content

Errors thrown in globalEventProcessors are silently ignored #2212

@mogelbrod

Description

@mogelbrod

Package + Version

@sentry/[email protected]

Description

Errors thrown in global event processors are picked up by the Sentry lib, initiating another error capture which in turn calls the same global event processor that will throw an error once more. This repeats for an unknown number of times (until the stack overflows perhaps?). The issue is that there's no trace of the original error, nor any subsequent errors thrown by the faulty global event processor. Sentry is obviously unable to send the error upstream, but nothing is logged either.

Discovering that a faulty global event processor was preventing any of our errors from being reported took some time, so it would be great if the SDK could detect and log these errors automatically. Until then I recommend wrapping the processing code in a try/catch block and manually log errors:

Sentry.addGlobalEventProcessor(event => {
  try {
    event.missingProperty.assignment = true
  } catch (err) {
    console.error('sentry global event processor threw error', err)
  }
  return event
})

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions