2013-07-28 10 views
8

私はmarpa :: r2(Marpa-R2-2.065_002)の最新リリースを使用しています。私はそれをテストするために蛇のスクリプトを書いた。Marpa :: R2はメモリをリークします

メモリリークを防ぐにはどうすればよいですか?

編集:これは今やrt.cpanのバグとして報告されています。

編集:Marpa-R2 2.066000のリリースで修正されました。ありがとう

+3

Marpa v2.064 perl5 v16.3で確認済みです。再現する最小限のコード: 'perl -MMarpa :: R2 -e '* M :: = * Marpa :: R2 :: Scanless ::; my $ g = M :: G-> new({source => \ q(:start :: = A A :: = [])}); M :: R-> new({grammar => $ g})である。あなたは既にバグを提出しましたか? – amon

+0

バグに報告しましたか?申し訳ありませんが、私はこれらのことについて新しいです。私はどこでそれをするべきですか? 確認と最小限のコード – jvverde

+3

ありがとう、バグに報告されたバグMarpa-R2 [at] rt.cpan.org – jvverde

答えて

5

リークはCPANのMarpa-R2 2.065_006で修正されました。これを指摘してくれてありがとうと、最小限の例ではamonに感謝してくれました。

問題はPerlコードであることが判明しました。 2つの構造体が互いに参照を保持していた - 循環参照。 amonの例で固定バージョンをテストすると、時間の経過と共に絶対的に平らなメモリ使用量が得られます。

私はこの修正を、できるだけ早く索引付けされた(開発者以外の)リリースのCPANにリリースします。

+0

はい、私はすでに自分のコードでそれを試して、それは魅力のように動作します。ありがとうございました! – jvverde

+1

この修正は、完全なインデックス付きCPANディストリビューションに含まれています:Marpa-R2 2.066000 –

関連する問題