Aaron Patterson wrote:
r31930 fixes a memory leak in psych's parse loop. Please backport it to the 1.9.2 branch.
Thanks!
Please note that this only fixes the remaining memory leak present after refactoring that occurred in r27881 - that is to say, a different memory leak exists in the existing ruby 1.9.2 backports branch which the patch in r31930 will not fix.
(Sorry, I'm not sure how to create hyperlinks or hyperlink changesets in RedMine...)
r27781: http://redmine.ruby-lang.org/projects/ruby-19/repository/diff/ext/psych/parser.c?rev=27881&rev_to=27864
Perhaps it is worth considering synchronizing the whole of the current psych implementation with the 1.9.2 backports branch if it is going to be set as the default YAMLer in the next patch release.
If it is not going to be set as the default in the next release, please note that anything that uses modern versions of Bundler (which requires psych if it is available) will exhibit the first memory leak demonstrated in https://github.com/tenderlove/psych/pull/17 - this was fixed as of r27881 which no longer creates a new yaml_parser on each parse call.
This, of course, only significantly affects processes which perform many YAML parses.