Sentry-javascript: Bug SDK sur iOS Firefox

Créé le 1 août 2019  ·  22Commentaires  ·  Source: getsentry/sentry-javascript

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

Forfait + Version

  • [x] @sentry/browser
  • [ ] @sentry/node
  • [ ] raven-js
  • [ ] raven-node _(corbeau pour nœud)_
  • [ ] autre:

Version:

5.5.0

La description

Veuillez consulter le lien ci-joint. Je n'ai pas de repo reproductible. Mais je reçois une erreur

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

qui provient du SDK lui-même plutôt que de mon propre code. J'ai quelques endroits dans mon code où state.title est utilisé, mais aucun sur la page affectée indiquée dans l'erreur.

In Progress

Commentaire le plus utile

Y a-t-il eu une mise à jour à ce sujet? Connaissant également le même problème.

Merci d'avance!

Tous les 22 commentaires

Je vois que le lien partageable montre une quantité limitée d'informations. Veuillez consulter le vidage ci-dessous pour plus d'informations.

Agent utilisateur

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, vous pouvez publier un lien direct vers l'événement

J'ai supposé que vous ne seriez pas en mesure de le voir pour des raisons d'authentification, mais ici c'est https://sentry.io/organizations/straightline-ct/issues/1135547765/?project=1500106

J'ai oublié de déplacer une note d'exécution après avoir ajouté le bloc handleEvent . Corrigé : https://github.com/getsentry/sentry-javascript/commit/3bada5d80d267c8da5a34235caf16a966d374811

Cette erreur est uniquement affichée en tant que Sentrys en raison de la façon dont nous encapsulons les API de synchronisation internes, voir :
image

Vous devriez pouvoir creuser dans la cause principale en recherchant des instances setTimeout dans votre code qui ont title accès

@kamilogorek, nous sommes confrontés au même problème avec @DaddyWarbucks , cela signifie-t-il donc que c'est corrigé et que nous devons simplement passer à la version 5.6.3 ?

@kamilogorek Je n'ai pas setTimeout pour accéder *.title à aucun de mes codes. Pouvez-vous s'il vous plaît nous éclairer davantage à ce sujet?

@chocnut même question qu'avec le numéro précédent, pouvez-vous publier un lien vers l'événement afin que je puisse voir ce qui s'y passe ?

@kamilogorek nous pouvons confirmer le problème de @chocnut : nous obtenons également ce problème sur Firefox iOS avec la version 5.7.0.
Nous n'avons pas de setTimeout avec accès à une propriété title dans notre code.

Cependant, l'événement Sentry indique qu'il est géré et que la fonction est setTimeout ..
(Voir https://sentry.io/organizations/2rivers-nv/issues/1263831869/events/7f024c4b94ab44ab9b870d6558d27149/ )

Je voulais juste confirmer que nous constatons également cette erreur de la part des utilisateurs iOS de Firefox : TypeError: null is not an object (evaluating 'a.title')

Le seul .title utilisé n'importe où dans notre base de code provient des modules Sass, et ceux-ci sont déjà compilés au moment où le code arrive en production.

Notre projet Sentry est privé, donc je ne peux malheureusement pas fournir de liens, mais tous les problèmes proviennent d'iOS 13, avec Firefox 19 et 20. Il est cependant facile à reproduire - il suffit de charger le site avec le script Sentry dessus, et il déclenche l'erreur.

Je suis heureux de fournir des informations supplémentaires, alors n'hésitez pas à me contacter si je peux vous aider de quelque manière que ce soit. ??

image

Ceci est une capture d'écran du même problème. Ne se produit que dans iOS Firefox.

Nous avons également commencé à faire face à ce problème. Des mises à jour ou une solution de contournement ? Exactement les mêmes journaux que ceux indiqués ci-dessus, exclusivement pour les utilisateurs de FF iOS.

Nous constatons également ce problème, également exclusivement avec Firefox sur iOS (et Apple Mail, assez curieusement). On me fournit la trace de la pile qui est soutenue par une carte source. Il semble un peu différent de celui que je vois ci-dessus.

image

Étant donné qu'il existe de nombreux rapports indépendants à ce sujet, tout autour d'iOS, il semble que le problème puisse provenir du SDK Sentry ?

@chrishoage vous utilisez raven-js qui est obsolète je pense

Ah, merci, nous allons examiner la mise à niveau.

Je trouve toujours curieux que notre projet voit la même erreur sur la même plate-forme (iOS Firefox)

Y a-t-il eu une mise à jour à ce sujet? Connaissant également le même problème.

Merci d'avance!

Connaître également la même exception exacte TypeError: null is not an object (evaluating 'a.title') lorsque les utilisateurs accèdent à notre site via firefox sur iOS

Nous ne référençons title nulle part dans notre base de code, il s'agit donc soit du SDK, soit d'une bibliothèque en conflit.

Même chose.
Firefox sur iOS.

Utilisez-vous par hasard la boîte de dialogue de rapport ?
Notre SDK ne fait rien en interne avec un attribut de titre, donc ma première supposition est qu'il s'agit d'un bogue dans la boîte de dialogue du rapport utilisateur.

J'ai le même problème, mais curieusement, seulement sur une seule page. J'ai vérifié et il n'y a aucun titre de référence dans notre code, à moins que ce ne soit une bibliothèque externe qui le fasse. Les bibliothèques que nous utilisons sont :

Le problème se produit avec Firefox 21.0 (16918) sur un iPhone 13 Pro, exécutant iOS 13.3.1 Developer Beta (17D5044a). J'ai également testé avec Chrome (version 79.0.3945.73) et Safari sur le même appareil, mais je n'ai pas réussi à reproduire le problème. Je ne parviens pas non plus à reproduire le problème dans Firefox 72.0.2 sur Windows 10 Pro, version 1903 (build 18362.592).

Assez étrangement, je ne peux pas non plus le reproduire dans Firefox Focus 8.1.3. Il est possible, cependant, que cela soit simplement dû au fait que Sentry est bloqué par Focus - il est conçu pour bloquer les trackers, il peut donc simplement empêcher Sentry de se charger, plutôt que de ne pas rencontrer le problème.

Nous utilisons le dialogue de rapport sur différentes parties du site, comme @HazAT l'a suggéré, peut-être le problème, mais nous ne l'utilisons pas sur la page affectée, donc je ne pense pas que ce soit ça.

Lien vers l'événement Sentry : https://sentry.io/organizations/ocjc-v1/issues/1447541972/events/5506f883daa742a19d002af4898996c1/

Faites-moi savoir s'il y a plus d'informations que je peux fournir qui peuvent aider!

Désolé, avons-nous un téléchargement de cela ? J'ai le même problème et c'est très frustré, je n'ai aucune réponse ou résolution.

Un autre +1.
On dirait que le SDK Sentry a des problèmes de compatibilité avec Firefox sur iOS 13.3.1.

Screenshot 2020-03-30 at 11 31 03 AM

@kamilogorek @dcramer Assez de personnes confrontées à ce problème ici pour justifier une plongée profonde? S'il ne s'agit que d'un problème interne* et n'affecte pas le JS réel sur la page, la plupart des gens ici seraient heureux d'ignorer cet événement. Pouvez-vous (ou quelqu'un d'autre ici) confirmer si c'est le cas ? (désolé, je n'ai pas d'appareil iOS avec cette version pour le tester moi-même).

problème interne* = Peut être un problème du SDK Sentry avec iOS+Firefox. Ou cela pourrait simplement être un problème de Firefox sur iOS

Notre SDK, ni ReportDialog ne touchent l'attribut title de n'importe quel objet de quelque manière que ce soit.
Il existe cependant deux problèmes ouverts dans le référentiel de Mozilla qui décrivent exactement ce problème :

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

Ma meilleure recommandation pour tous ceux qui ont rencontré ce problème dans un volume plus important est de le filtrer côté client. Voir : https://docs.sentry.io/platforms/javascript/#filter -events--custom-logic

Comme nous connaissons la forme/le message d'erreur final, cela peut être fait en utilisant directement l'option de configuration ignoreErrors .

À votre santé!

Cette page vous a été utile?
0 / 5 - 0 notes