UnhandledRejection - Non-Error promise rejection captured with value

I’m getting tons of errors from from what appears to be a recursive call generating a lot of errors from one unhandled exception:

In the stack there is an “exception” and then a lot of “sentry.event”. Why does sentry not catch the error also? One time into sentry would be enough. Is this a sentry bug?

There is no info about the originating problem. I read in the docs that there would be information about the cause in the additional data but I don’t see any. I have no clue what’s causing this

Any help is appreciated!

4 Likes

All these events have the same datetime, which means that one error is generating a ton of events:

1 Like

I’ll chip in as we’re having exactly same issue.

It’s pretty difficult to narrow down the root of the problem as there’s virtually no information about the script that is causing it (whether it’s external or our own). Not to mention all the quota that it’s consuming.

Link

Link2

2 Likes

The same problem without a clue what is happening. First Seen 2 months ago

1 Like

Hey there,
I’m experiencing exactly the same issue, although the error value is slightly different:

Same as you, I guess this is thrown by some third party library we use, but sadly there’s no extra information here.

The behavior is exactly the same: Lots of sentry.event calls, followed by an exception at the end.

This is happening in both Sentry 5.17.0 and 5.30.0 (having exactly the same issue in two different apps).

Any other clue rather than just ignoring these from the Sentry SDK?

2 Likes

This started when we did yesterdays release. That release contained the following updates:

  • @sentry/browser 6.7.1
  • gsap 3.7.0
  • typescript 4.3.3

are you guys using any of these in your builds?

1 Like

We are the experiencing the same errors since Jun 17, 2021 4:28:06 AM UTC with @sentry/browser 6.4.1.

We suspect that this error is coming only from Microsoft Outlook SafeLink crawlers from ip addresses such as 40.94.103.* and 40.94.104.*. If you check the ip addresses that cause the error from https://who.is/ does it only say Microsoft Corporation (MSFT)?

1 Like

Started Jun 17, 2021 12:32:24 PM UTC

some sample ip’s are:
20.98.124.235 / 40.94.226.3
all Microsoft Corporation (MSFT)

1 Like

@carltrine so it’s probably the SafeLink crawler that is not fully supporting js. It would be nice if Sentry could filter out these bots, since it is impossible to replicate these errors.

1 Like

Thanks for the information

1 Like

I’m using @sentry/browser but versions 5.17.0 and 5.30.0 (not 6.7.1).

Also, I guess the best choice is to filter these out for now?

We’re also hitting the same errors and our counts are way off, we were at <100 error events a day and now suddenly we are at 5K a day

Having the same issue:

  • interesting part: before 16.06.21 we had error:

UnhandledRejection: Non-Error promise rejection captured with value:

  • after 16.06.21 it did not occur anymore but became replaced by more verbose:

UnhandledRejection: Non-Error promise rejection captured with value: Object Not Found Matching Id:2

  • PS: none of client side libraries were updated during this time frame

Problem continues with @sentry/browser 6.7.1. All of the errors I have checked are coming from Microsoft ip addresses and to urls that are only available from emails our system has sent, so they are probably just Outlook Safe Link scanning for malicious websites.

Got this response from Sentry support:
These types of events are caused when a rejection is raised with a non-error object, from which we cannot extract much information. These can be filtered using the ignoreErrors option:

Sentry.init({
    dsn:__MY_DSN__,
      ignoreErrors:[
       "Non-Error exception captured",
       "Non-Error promise rejection captured"
      ]
    })
1 Like

Just also to link this here, we are going to make the Dedupe integration default for browser again which solves this problem.

Docs for reference

These events can be filtered with ignoreErrors: Filtering for JavaScript | Sentry Documentation

Sentry.init({
  ignoreErrors: [
    "Non-Error promise rejection captured"
]
});

Also, the dedupe integration can be used to avoid future repeating event flooding: Pluggable Integrations for JavaScript | Sentry Documentation

Ths issue is not only to filter the errors, but that it seems that Sentry is going into an infinite loop/endless recursion and generating a multitude of errors. I don’t mind ignoring one error, I can also filter them, but Sentry has to fix this mechanism that gets activated.

It looks like the error might be coming from an embedded chromium app based on this matching error string in the CefSharp project. A Microsoft email checker might make sense.