wxHaskell GUI を起動して閉じた後、別の wxHaskell GUI を再度起動すると、アプリケーションはスタック オーバーフローによりセグメンテーション フォールトを取得します。
簡単なデモンストレーション ソース:
module Main where
import Graphics.UI.WX
main = do
start $ frame []
start $ frame []
これは古いバグのようです。 http://permalink.gmane.org/gmane.comp.lang.haskell.wxhaskell.general/789を参照してください。このメッセージには、wxHaskell の SourceForge リポジトリの問題へのリンクが含まれています。さらに最近のコメントでは、バグのない wxHaskell (wxWidgets 2.9 の開発ブランチのようです) のバージョンについて言及されています。
wxWidgets 2.8 で Ubuntu 12.04 を使用しているため、wxHaskell 0.13 を使用する必要があります。このバグに関する情報を見つけようとして、動作していると思われる開発バージョンの変更ログを調べましたが、何も見つかりませんでした。
このバグのある動作は wxHaskell 0.13 で修正できますか、または少なくとも何らかの回避策を講じることは可能ですか? 1 つの永続的な GUI で動作するようにアプリケーションを書き直すことは、不必要に複雑に思えます。