So, debugging shotgun style: I am still unable to reproduce the crash in production mode, and as far as I know the only differences between production and development are contained in the config files. So, go through the development config file line by line, commenting out, until I find the one that makes me unable to get the crash.
And, right enough, I found the offending line; unfortunately it’s this one:
config.cache_classes = false
Change ‘false’ to ‘true’ and I can’t get my crash back. Of course, that rather removes the point of having a development mode at all, which is to not have to restart the server every time I make a code change.
Still more interesting, the reported crash is in a different place every time!
- rubygems/gems/activesupport-2.1.0/lib/active_support/dependencies.rb:211: [BUG] Segmentation fault
- rubygems/gems/activesupport-2.1.0/lib/active_support/core_ext/symbol.rb:11: [BUG] Segmentation fault
- No crash, but goes to 99.8% CPU usage and hangs.
- rubygems/gems/activesupport-2.1.0/lib/active_support/dependencies.rb:150: [BUG] Segmentation fault
Just from four different runs. This is Deep Magic; perhaps I should just develop in production mode, and get some actual progress.