Recursión infinita de pila al usar Sentry

Hola!

Quería publicar aquí para ver si alguien tenía ideas sobre este error que estoy viendo al intentar usar Sentry con Discourse. Estoy buscando usar Sentry (usando la implementación de servidor de código abierto Glitchtip) para recopilar todos los errores que se generan en las tareas en segundo plano y en el servidor. Sé que Discourse tiene su propia recopilación de errores con Logster, pero quería probar a usar Sentry para ayudar a rastrear todos los errores que se generan e inspeccionarlos con más contexto.

Agregué un inicializador con la configuración de Sentry:

Sentry.init do |config|
  config.breadcrumbs_logger = [:active_support_logger, :http_logger]

  config.dsn =  ENV['SENTRY_DSN']
end

y descubrí que se estaba recursando infinitamente durante las llamadas HTTP de las tareas rake y las tareas sidekiq (incluso si salían limpiamente antes de que se agregara Sentry). Hay más detalles y una forma de reproducirlo en el problema de Github que abrí con sentry-ruby:

Sé que no estoy usando el repositorio discourse_docker compatible, pero quería publicar aquí de todos modos para ver si alguien más se ha encontrado con un error similar y tenía alguna idea.

Tenga en cuenta que existe un plugin de Sentry para Discourse existente (Discourse Sentry), pero utiliza una biblioteca cliente no compatible (sentry-raven), por lo que elegí no usarla.

Para cualquiera que esté interesado en usar Sentry con Discourse, uno de los mantenedores del paquete respondió con una solución sugerida.

Dijeron que el problema provenía del MethodProfiler de Discourse que usa alias_method. Sugirieron reemplazarlo con prepend, que dijeron que era cada vez más común y permitiría que ambas herramientas funcionaran juntas.

No estoy lo suficientemente familiarizado con Ruby para entender las diferencias. Por ahora, intentaré comentar esta parte del código para deshabilitar la perfilación de métodos de Discourse.

1 me gusta

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.