Когда графический интерфейс wxHaskell запускается и закрывается, а затем снова запускается другой графический интерфейс wxHaskell, приложение получает ошибку сегментации из-за переполнения стека.
Простой демонстрационный источник:
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), в которой нет ошибок.
Я использую Ubuntu 12.04 с wxWidgets 2.8, поэтому мне приходится использовать wxHaskell 0.13. Я пытался найти какую-либо информацию об этой ошибке, просматривая журнал изменений якобы рабочей версии разработки, но ничего не нашел.
Можно ли исправить это ошибочное поведение для wxHaskell 0.13 или, по крайней мере, можно ли найти какое-то обходное решение? Переписывание приложения для работы с одним постоянным графическим интерфейсом кажется излишне сложным.