花粉でバグるYu-ichiです
花粉なんて無くなればいいのにといつも思ってます。
さて今回は「twig1.33.x」のキャッシュ増殖バグのお話です。
ちょうど使っているシステムで、正常動作しない不具合に遭遇しました。
いつもは問題無く動作しているのですが、あるとき急に動かなくなりました。
エラーを調べてみると見慣れた
Fatal error: Allowed memory size of ~
というメモリ不足のエラーでした。
とりあえずメモリを増やしてみたのですが、解決せず。
キャッシュの削除もしてみたのですが、すぐに同じエラーが表示されます。
なんでだろ~?と思いながらいろいろ調べていると
消したはずの大量のキャッシュがまた発生していることを発見!
もしやと思い、さらに調べてみるとリクエスト毎に新しいキャッシュが無限に生成されている様子。
別の同じシステムと比較して何が違うのか調べてみると
Twigのバージョンが違っていたので、さらに詳しく調べてみると
Twigの1.33.1以降でキャッシュ増殖のバグあることを発見!
【参考サイト】
https://github.com/twigphp/Twig/issues/2485
解決方法は1.33.1と1.33.2以外のバージョンを使えばよいとのこと。
早速、バージョンを上げて動作確認したところ、問題なく動作しました。
同じ症状で悩んでいる方は少ないかと思いますが、
これに関する情報が日本語サイトで見つけられなかったので、参考になればと思います。
何はともあれ、原因がわかって解決できてよかった~