Sentry-javascript: UnhandledRejection : Rejet de promesse sans erreur capturé avec la valeur : Timeout

Créé le 25 mars 2020  ·  14Commentaires  ·  Source: getsentry/sentry-javascript

Forfait + Version

@sentry/[email protected]

La description

Nous recevons un grand nombre d'exceptions qui suivent la même signature. Ils se produisent sur toutes les pages et dans toutes sortes d'endroits avec apparemment aucun motif discernable. Il se produit sur tous les navigateurs avec une fréquence à peu près la même que l'utilisation.

Rejet non géré
Rejet de promesse sans erreur capturé avec valeur : Délai d'expiration

Dans tous les cas, l'Exception est manquante. Il n'y a pas de trace de pile ni d'informations supplémentaires.

Je suis à peu près certain que cela provient d'un code tiers, mais sans plus d'informations, je n'ai pas pu le déterminer.

J'ouvre ceci comme un bogue car il semble que Sentry devrait signaler des informations supplémentaires pour aider à identifier la source de l'erreur.

Il existe un problème pour cela qui a été fermé sans aucune résolution : https://github.com/getsentry/sentry-javascript/issues/2210

Discussion

Commentaire le plus utile

Le problème se situe exactement là : https://www.gstatic.com/recaptcha/releases/P6KLRNy7h3K160ZmYNUOAce7/recaptcha__en.js

c.reject("Timeout ("+y+")")

ou

H((vn.delete(P),"Timeout")

tl;dr - ils rejettent avec une valeur primitive, mais devraient avec new Error("timeout") .

Dans ce cas, votre meilleure solution jusqu'à ce qu'ils le résolvent est d'ignorer ce genre d'erreurs.

Sentry.init({
  beforeSend(event, hint) {
    if (hint.originalException === "Timeout") return null;
    return event;
  }
});

Tous les 14 commentaires

Nous avons eu plusieurs problèmes comme celui-ci et l'avons épinglé au code google recaptcha. C'est très floconneux, donc nous nous sommes débarrassés du recaptcha et les erreurs ont disparu

@JustFly1984 Merci pour la confirmation. Recaptcha est mon principal suspect. Malheureusement, nous ne pouvons pas le supprimer. On dirait qu'il ne se démonte peut-être pas correctement. On a toujours l'impression que nous devrions être en mesure d'obtenir plus d'informations de l'exception.

J'ai échoué à un problème dans google bug tracker, mais ils ne donnent pas de feuille

@JustFly1984 Oui. C'est Google pour vous. Pas de draps fournis.

Le problème se situe exactement là : https://www.gstatic.com/recaptcha/releases/P6KLRNy7h3K160ZmYNUOAce7/recaptcha__en.js

c.reject("Timeout ("+y+")")

ou

H((vn.delete(P),"Timeout")

tl;dr - ils rejettent avec une valeur primitive, mais devraient avec new Error("timeout") .

Dans ce cas, votre meilleure solution jusqu'à ce qu'ils le résolvent est d'ignorer ce genre d'erreurs.

Sentry.init({
  beforeSend(event, hint) {
    if (hint.originalException === "Timeout") return null;
    return event;
  }
});

@kamilogorek Merci. Vous souhaitez savoir pourquoi vous filtreriez cela dans beforeSend sur le client plutôt que de simplement l'ignorer dans le tableau de bord ?

Parce que cette erreur est trop générique. Trop facile d'obtenir une correspondance faussement positive.
De plus, je n'ai jamais vu cette erreur exacte Timeout auparavant :D

@kamilogorek Ouais. Je suppose que ma préoccupation est que le filtrage sur le client pourrait finir par masquer des erreurs importantes. Au moins, si vous l'ignorez sur le tableau de bord, les données sont toujours stockées.

Les événements filtrés

@kamilogorek Ah. Je n'avais pas pensé aux quotas. Merci de clarifier.

Est-ce que quelqu'un sait comment ce délai affecte les utilisateurs finaux ?

Clôture du problème, car il semble que le problème d'origine ait été partiellement résolu ou qu'il existe une solution fonctionnelle. Je préférerais que quelqu'un crée un nouveau problème avec une nouvelle description si c'est toujours un problème.
N'hésitez pas à me contacter si c'est toujours d'actualité, et je me ferai un plaisir de rouvrir et de travailler dessus.
Acclamations!

@kamilogorek donc ce problème de délai d'attente n'est pas affecté aux utilisateurs finaux et c'est une bonne solution d'ignorer celui-ci ?

Cela dépend de la manière dont votre base de code est liée au SDK ReCaptcha, mais je dirais qu'en général, dans la plupart des cas, oui, cela ne devrait pas affecter le résultat final.

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