Shouldn't Rails report the full backtrace?

I'm running a Rails 4.1.0.rc2 app on a staging server and I get this error from the logs:

I, [2014-04-04T16:07:31.308517 #26523] INFO -- : Completed 500 Internal Server Error in 179ms
F, [2014-04-04T16:07:31.312549 #26523] FATAL -- :
LoadError (no library specified):
   app/controllers/transaction_documents_controller.rb:54:in `block in create'
   app/controllers/transaction_documents_controller.rb:46:in `create'
   lib/matterhorn/instrumentation/sequel_log_subscriber.rb:29:in `process_action'

line 54 is:

document.store_from_edgar_filings_url url

How could that trigger a LoadError? My guess is that I'm not seeing the full backtrace.

Shouldn't Rails always show the full backtrace in production?

This behaviour is controlled by backtrace_silencers.rb in your initializers directory.

https://github.com/rails/rails/blob/master/railties/lib/rails/generators/rails/app/templates/config/initializers/backtrace_silencers.rb

Thank you, I figured it out just after posting, although I am not sure if it is a good default for production environments.

Shouldn’t the silencer be configured by environment and be disabled on production by default? In my case I used the tidy gem and the library was missing in the server.

Or maybe change the silencer implementation to display more lines around the real line that caused the exception. That would be very useful.