Sentry-javascript: SDK bug on iOS Firefox

Created on 1 Aug 2019  ·  22Comments  ·  Source: getsentry/sentry-javascript

https://sentry.io/share/issue/52e170dbb4b84d16a8e92ece8d4978e9/

Package + Version

  • [x] @sentry/browser
  • [ ] @sentry/node
  • [ ] raven-js
  • [ ] raven-node _(raven for node)_
  • [ ] other:

Version:

5.5.0

Description

Please see the attached link. I do not have a reproducible repo. But, I am receiving an error

null is not an object (evaluating 'a.title')

that originates from the SDK itself rather than from my own code. I do have a few places in my code where state.title is used, but none on the affected page shown in the error.

In Progress

Most helpful comment

Has there been any update on this? Also experiencing the same issue.

Thanks in advance!

All 22 comments

I see that the shareable link shows a limited amount of info. Please see dump below for more info.

User Agent

Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_3 like Mac OS X) AppleWebKit/603.3.8 (KHTML, like Gecko) FxiOS/14.0b12646 Mobile/14G60 Safari/603.3.8
--
Firefox iOS 14.0
browser.name
Firefox iOS
device
iPhone
device.family
iPhone
environment
production
handled
yes
level
error
mechanism
instrument
os
iOS 10.3.3
os.name
iOS

@DaddyWarbucks you can post a direct link to the event

I assumed you would not be able to see it for auth reasons, but here it is https://sentry.io/organizations/straightline-ct/issues/1135547765/?project=1500106

I forgot to move an execution note after adding handleEvent block. Fixed: https://github.com/getsentry/sentry-javascript/commit/3bada5d80d267c8da5a34235caf16a966d374811

This error is only shown as Sentrys because of how we wrap internal timing APIs, see:
image

You should be able to dig into the main cause by looking for setTimeout instances in your code that has title access in them.

@kamilogorek we face the same issue with @DaddyWarbucks so does this mean it's fixed and we just need to upgrade to 5.6.3?

@kamilogorek I don't have setTimeout for access *.title to any of my code. Can you please shed more light about this?

@chocnut same question as with previous issue, can you post a link to the event so I can see what's going on in there?

@kamilogorek we can confirm @chocnut 's problem: we get this issue on Firefox iOS with version 5.7.0 as well.
We do not have a setTimeout with access to a title property in our code.

However, the Sentry event indicates that it's handled and that the function is setTimeout ..
(See https://sentry.io/organizations/2rivers-nv/issues/1263831869/events/7f024c4b94ab44ab9b870d6558d27149/ )

Just wanted to confirm that we are seeing this error as well from iOS Firefox users: TypeError: null is not an object (evaluating 'a.title')

The only .title used anywhere in our codebase is from Sass Modules, and those are already compiled out by the time the code gets to production.

Our Sentry project is private, so unfortunately I cannot provide any links, but all of the issues have been from iOS 13, with Firefox 19 & 20. It's easy to reproduce, though--just load the site with the Sentry script on it, and it triggers the error.

I am happy to provide any additional information, so feel free to ping me if I can help in any way. 👍

image

This is a screenshot of the same issue. Only happens in iOS Firefox.

We've started to face this issue as well. Any updates or work-around? Exactly the same logs as shown above, exclusively for FF iOS users.

We are also seeing this issue, also exclusively with Firefox on iOS (and Apple Mail, oddly enough). I'm provided the stack trace which is backed by a source map. It does seem a little different than the one I see above.

image

Considering there are so many independent reports of this, all around iOS, it seems like the issue may be in the sentry SDK?

@chrishoage you are using raven-js which is deprecated I think

Ah, thanks, we'll look into upgrading.

I still find it curious our project is seeing same error on the same platform (iOS Firefox)

Has there been any update on this? Also experiencing the same issue.

Thanks in advance!

Also experiencing the same exact exception TypeError: null is not an object (evaluating 'a.title') when users are accessing our site via firefox on iOS

We are not referencing title anywhere in our codebase so this is either from the SDK or a conflicting library.

Same thing.
Firefox on iOS.

Are you by any chance using the report dialog?
Our SDK internally doesn't do anything with a title attribute, so my first guess is it's a bug in the user report dialog.

I'm having the same issue, but strangely enough, only on a single page. I've checked, and there isn't anywhere in our code referencing title, unless it's an external library doing it. The libraries we are using are:

The issue is occuring using Firefox 21.0 (16918) on an iPhone 13 Pro, running iOS 13.3.1 Developer Beta (17D5044a). I've also tested with both Chrome (version 79.0.3945.73) and Safari on the same device, but wasn't able to reproduce the issue. I'm also unable to reproduce the issue in Firefox 72.0.2 on Windows 10 Pro, version 1903 (build 18362.592).

Rather strangely, I also can't reproduce it in Firefox Focus 8.1.3. It's possible, however, that this is just because Sentry is being blocked by Focus - it's designed to block trackers, so it may just be preventing Sentry from loading, rather than not experiencing the issue.

We are using the report dialogue on different parts of the site, as @HazAT suggested may be the issue, but we don't use it on the affected page, so I don't think it's that.

Link to the Sentry event: https://sentry.io/organizations/ocjc-v1/issues/1447541972/events/5506f883daa742a19d002af4898996c1/

Let me know if there's any more information I can provide that may help!

Sorry, do we have any upload of this? I'm having same issue and It's very frustrated it, don't have any answer or resolution.

Another +1.
Looks like sentry SDK has some compatibility issues with Firefox on iOS 13.3.1.

Screenshot 2020-03-30 at 11 31 03 AM

@kamilogorek @dcramer Enough folks facing this problem here to warrant a deep dive? If this is just some internal issue* and doesn't affect the actual JS on the page then most people here would be happy to ignore this event. Can you (or someone else here) please confirm if that is the case? (sorry I don't have an iOS device with that version to test it myself).

internal issue* = Could be Sentry SDK issue with iOS+Firefox. Or it could simply be Firefox issue on iOS

Our SDK, nor ReportDialog touche title attribute of any object in any way.
There are, however, two open issues at Mozilla's repository that describes this exact issue:

https://github.com/mozilla/fxa/issues/572
https://github.com/mozilla/fxa/issues/2342

My best recommendation for everyone that encountered this issue in larger volume is to filter it out on the client-side. See: https://docs.sentry.io/platforms/javascript/#filter-events--custom-logic

As we know the final error shape/message, it can be done using ignoreErrors config option directly.

Cheers!

Was this page helpful?
0 / 5 - 0 ratings