Rails 3.1, утечка памяти для пропущенных локальных частичных переменных (Ruby 1.9.2-p290)

Если я сделаю частичку, например, так:

= render: частичный => "event_news_item",:object => событие,:variable => true

И тогда вызывается ссылочная переменная в частичной утечке памяти. Кажется, рельсы уходят в рекурсию. Затем я должен быстро перезапустить свой сервер, прежде чем использование памяти выйдет из-под контроля.

Кто-нибудь знает, почему здесь происходит утечка памяти? Кто-нибудь может подтвердить это на своей машине?

Если я сделаю

= render: частичный => "event_news_item",:object => событие

Ошибка возникает правильно при попытке ссылки на переменную в частичном.

(Правильный способ сделать это, кстати,

= render: частичный => "event_news_item",:object => event,:locals => {:variable => true })

1 ответ

Я видел действительно плохую утечку памяти в подобной среде. Я отследил это до невинно выглядящей ассоциацииcomment.author, чтобы быть точным), затем попытался отладить его в течение некоторого времени, и, наконец, сдался и работал на 1.9.3-rc1.

Удивительно, но это устранило именно эту утечку памяти и, кроме того, уменьшило размер запуска единорогов на 15M (с 85M до 70M; i386).

Другие вопросы по тегам