I have a simular experience, and have found it (somewhat) related to referring to current_page
and sitemap
from within classes defined either in HelperMethods or ClassMethods. Possibly it has something to do with current_page/sitemap having access to such huge amounts of data (every resource of the site), so a bug may put a considerable load on the computer and possibly lead to recursion in unexpected ways.
Like you describe, Ruby process uses 100% but nothing happens. Sometimes there is a timeout, others not.
I’ve tried simplifying the code, to get a sample for debugging, but as soon as the code gets simpler this mysterious limbo-behavior also disappear, and it either works or errors are reported the normal way.
I’m not sure Middleman is to be blamed. Actually I’m not at all sure what is to be blamed, but most likely it’s my coding. I just wanted to report that I’ve seen simular behavior.
Mac OS 10.8.3
Ruby 1.9.3-p392
Middleman 3.1.0.beta