You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Uncaught exception from a ruby script is not notified to bugsnag when:
thread_queue is chosen as a delivery method
a notification has been sent manually by calling Bugsnag.notify('my error') any time before the uncaught exception was raised.
Steps to reproduce
Configure Bugsnag with delivery method to thread_queue
Run:
Bugsnag.notify('This is notified correctly')
raise 'This is not notified with thread_queue'
Environment
Bugsnag version: 6.24.0
Ruby version: 2.7.6
Bundle version: 2.3.4
Rails version: 6.1.6.1
My understanding of the issue
Bugsnag::Delivery::ThreadQueue registers a at_exit to finish processing all notifications from the queue and then stop the thread that dequeue the notifications. Bugsnag register a at_exit hook to deliver the unhandled error to Bugsnag::Delivery::ThreadQueue
This doesn't work when a notification was first sent with Bugsnag.notify because afterward, raising an unhandled error will be processed by Bugsnagat_exit however Bugsnag::Delivery::ThreadQueueat_exit was already processed.
The text was updated successfully, but these errors were encountered:
Hi @alx75 . Just a quick update, this does seem to be an issue for Ruby scripts that aren't running in a webserver.
We're looking to fix it in the next major version release, for now using the synchronous delivery looks like a good option as a workaround. We will update again once that has been released.
Describe the bug
Uncaught exception from a ruby script is not notified to bugsnag when:
Steps to reproduce
Configure Bugsnag with delivery method to thread_queue
Run:
Bugsnag.notify('This is notified correctly')
raise 'This is not notified with thread_queue'
Environment
My understanding of the issue
Bugsnag::Delivery::ThreadQueue
registers aat_exit
to finish processing all notifications from the queue and then stop the thread that dequeue the notifications.Bugsnag
register aat_exit
hook to deliver the unhandled error toBugsnag::Delivery::ThreadQueue
This doesn't work when a notification was first sent with
Bugsnag.notify
because afterward, raising an unhandled error will be processed byBugsnag
at_exit
howeverBugsnag::Delivery::ThreadQueue
at_exit
was already processed.The text was updated successfully, but these errors were encountered: