Created
February 10, 2015 17:41
-
-
Save bendilley/1453a555e981ed533f68 to your computer and use it in GitHub Desktop.
Get a trace from a 'stack too deep' error in Rails
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$enable_tracing = false | |
#$trace_out = File.open(Rails.root + 'trace.txt', 'w') | |
set_trace_func proc { |event, file, line, id, binding, classname| | |
if $enable_tracing && event == 'call' | |
#$trace_out.puts "#{file}:#{line} #{classname}##{id}" | |
raise "crash me" if caller_locations.length > 500 | |
end | |
} | |
$enable_tracing = true |
@badbabykosh it's been a long time since I used this initialiser. It should only be necessary if for some reason you haven't got the backtrace already. Stack overflows are nearly always caused by recursive loops, so you should see repeats of the same method sequence over and over in the backtrace.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I'm a bit of a noob here. So sorry if my question is simple. I've placed the code under config/initializers.
My rails app fails with "stack level too deep" after I try to open my landing page. How would I run this against my app?
I am getting stack level too deep the moment I run my rails app...right as it tries to go to the landing page.
How can I use this code to get the trace?