appsignal / appsignal-ruby

🟥 AppSignal for Ruby gem
https://www.appsignal.com/ruby
MIT License
183 stars 115 forks source link

Error raised in Middlware not caught #1269

Closed coorasse closed 2 months ago

coorasse commented 2 months ago

I have an Exception, raised from a Middleware, that has not been caught be Appsignal. Another library caught the error correctly. I created a reproduction repo and gave you access @tombruijn. You need to setup .env and the necessary environment variables. You can write to me for any help or in a call so I can show you the behavior if you cannot reproduce it.


Describe the bug

A SystemStackError is raised in a Middleware and Appsignal does not track it

To Reproduce

Clone the reproduction git repo I shared with you and set it up. It's a Rails App. Set all the env variables (I can help with that if necessary) and load the homepage. An exception will be raised from the middleware and caught by an error tracker but not from Appsignal.

tombruijn commented 2 months ago

Hi @coorasse, for some reason SystemStackErrors aren't reported to our middleware, even though they happen inside of it. Replacing this error with a StandardError does report it.

My guess is that Sentry doesn't report it via their instrumentation middleware or any request-based exception reporting. Instead, it's caught by the Puma lowlevel_error_handler, for which we have an issue open in #1247.

I'll also contact you via our support system for more information.

tombruijn commented 2 months ago

Fixed in Ruby gem 3.0.5!

coorasse commented 2 months ago

I confirm that the issue has been fixed for us. Thank you for the quick reaction. Amazing!