Prevent NoMethodError/NameError from hanging the server.
The fix is to work around this bug: http://bugs.ruby-lang.org/issues/4521 where Ruby will call to_s/inspect while printing exception messages, which can take a long time (minutes at full CPU) if the object is huge or has cyclic references, like Middleman::Application does. Defining #to_s short-circuits that. This fixes #370.
This commit is contained in:
parent
a5a2e1568b
commit
1229a9991a
|
@ -217,6 +217,14 @@ module Middleman
|
|||
logging
|
||||
end
|
||||
|
||||
# Work around this bug: http://bugs.ruby-lang.org/issues/4521
|
||||
# where Ruby will call to_s/inspect while printing exception
|
||||
# messages, which can take a long time (minutes at full CPU)
|
||||
# if the object is huge or has cyclic references, like this.
|
||||
def to_s
|
||||
"the Middleman application context"
|
||||
end
|
||||
|
||||
# Expand a path to include the index file if it's a directory
|
||||
#
|
||||
# @private
|
||||
|
|
Loading…
Reference in a new issue