Last couple of days we noticed that when some of our tests fail, they
simply abort ruby process without any clues. It took me some time to
figure out that this was a combination of two bad thigs. First is broken
line numbers in exceptions from compiled templates, second is a MRI
'feature' which promotes any exception raised in #backtrace to fatal
Broken line numbers caused TemplateError#backtrace to fail which in turn
caused whole process to die silently.
Fix and test for broken line numbers is here
To mitigate second issue I propose generating backtraces eagerly in
#initialize. See second patch:
I had a tough GDB session to find out what's wrong, so I think that at
least #10936 should be applied ASAP.