Making a simple call to Airbrake.report/2 without a stacktrace is broken. You can see an example of the failure below.
The problem is that the default stacktrace is created by Process.info(self(), :current_stacktrace) which returns a tuple {:current_stacktrace, stacktrace} where stacktrace is a list (as __STACKTRACE__ would evaluate to in a rescue clause).
The solution is simple: pattern match on the tuple and return just the stacktrace.
Making a simple call to
Airbrake.report/2
without a stacktrace is broken. You can see an example of the failure below.The problem is that the default stacktrace is created by
Process.info(self(), :current_stacktrace)
which returns a tuple{:current_stacktrace, stacktrace}
wherestacktrace
is a list (as__STACKTRACE__
would evaluate to in arescue
clause).The solution is simple: pattern match on the tuple and return just the
stacktrace
.Failure Example