Sentry-javascript: UnhandledRejection: rechazo de promesa sin error capturado con valor: tiempo de espera

Creado en 25 mar. 2020  ·  14Comentarios  ·  Fuente: getsentry/sentry-javascript

Paquete + Versión

@sentry/[email protected]

Descripción

Estamos recibiendo un gran volumen de excepciones que siguen la misma firma. Ocurren en todas las páginas y en todo tipo de lugares sin un patrón aparentemente discernible. Ocurre en todos los navegadores con una frecuencia aproximadamente igual a la de uso.

Rechazo incontrolado
Rechazo de promesa sin error capturado con valor: tiempo de espera

En todos los casos falta la excepción. No hay seguimiento de pila ni información adicional.

Estoy bastante seguro de que esto se origina en un código de terceros, pero sin más información para continuar, no he podido precisarlo.

Estoy abriendo esto como un error porque siento que Sentry debería informar información adicional para ayudar a identificar la fuente del error.

Existe un problema para esto que se ha cerrado sin ninguna resolución: https://github.com/getsentry/sentry-javascript/issues/2210

Discussion

Comentario más útil

El problema radica exactamente ahí: https://www.gstatic.com/recaptcha/releases/P6KLRNy7h3K160ZmYNUOAce7/recaptcha__en.js

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

o

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

tl; dr: rechazan con un valor primitivo, pero deberían hacerlo con new Error("timeout") .

En este caso, tu mejor solución hasta que lo solucionen es ignorar este tipo de errores.

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

Todos 14 comentarios

Tuvimos varios problemas como este y lo definimos en el código recaptcha de Google. Es muy escamoso, así que nos deshicimos de recaptcha y los errores desaparecieron.

@ JustFly1984 Gracias por la confirmación. Recaptcha es mi principal sospechoso. Desafortunadamente, no podemos eliminarlo. Parece que tal vez no se desmonta correctamente. Sin embargo, todavía parece que deberíamos poder obtener más información de la excepción.

Fallé un problema en el rastreador de errores de Google, pero no dan una hoja

@ JustFly1984 Sí. Eso es Google para ti. No se entregaron sábanas.

El problema radica exactamente ahí: https://www.gstatic.com/recaptcha/releases/P6KLRNy7h3K160ZmYNUOAce7/recaptcha__en.js

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

o

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

tl; dr: rechazan con un valor primitivo, pero deberían hacerlo con new Error("timeout") .

En este caso, tu mejor solución hasta que lo solucionen es ignorar este tipo de errores.

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

@kamilogorek Gracias. ¿Le interesa por qué filtraría esto en beforeSend en el cliente en lugar de simplemente ignorarlo en el panel de control?

Porque este error es demasiado genérico. Demasiado fácil obtener una coincidencia de falso positivo.
Además, nunca antes había visto este error exacto de Timeout : D

@kamilogorek Sí. Supongo que mi preocupación es que filtrarlo en el cliente podría terminar enmascarando errores importantes. Al menos, si lo ignora en el tablero, todavía tiene los datos almacenados.

Los eventos filtrados

@kamilogorek Ah. No había considerado la cuota. Gracias por aclararlo.

¿Alguien sabe cómo afecta este tiempo de espera a los usuarios finales?

Cerrando el problema, ya que parece que el problema original se ha resuelto parcialmente o hay una solución que funciona. Preferiría que alguien creara un nuevo problema con una descripción nueva si aún es un problema.
No dude en enviarme un ping si todavía es relevante, y con gusto lo volveré a abrir y trabajaré en él.
¡Salud!

@kamilogorek, por lo que este problema de tiempo de espera no se ve afectado por los usuarios finales y es una buena solución ignorar este.

Depende de cómo su base de código esté vinculada al SDK de ReCaptcha, pero yo diría que, en general, en la mayoría de los casos sí, no debería afectar el resultado final.

¿Fue útil esta página
0 / 5 - 0 calificaciones