我按照这些说明在 OS X Lion 上安装 wxWidgets(使用 Homebrew)和 wxHaskell。没有错误。
当我在这里尝试示例时,第一个 Hello World 示例运行良好。但是,当我尝试运行 Bouncing Balls 示例时,我得到:
Main(98350,0x7fff72edd960) malloc: *对象 0x10e121580 的错误: 被释放的指针未被分配
我正在建造
ghc --make Main.hs
当我简单地运行可执行文件时,我得到了那个错误。如果我使用 macosx-app 将其捆绑到应用程序中,它只会崩溃(可能是相同的错误)。我尝试重新安装 wxWidgets 和 Haskell 包,但错误仍然存在。
使用 gdb:
Main(10236,0x7fff72edd960) malloc: *** error for object 0x102b68580: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
Program received signal SIGABRT, Aborted.
0x00007fff83cc7ce2 in __pthread_kill ()
(gdb) backtrace
#0 0x00007fff83cc7ce2 in __pthread_kill ()
#1 0x00007fff891077d2 in pthread_kill ()
#2 0x00007fff890f8a7a in abort ()
#3 0x00007fff8915784c in free ()
#4 0x00007fff866d0702 in std::string::_Rep::_M_dispose ()
#5 0x00007fff866d0740 in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string ()
#6 0x00000001017e779a in wxString::~wxString ()
#7 0x00000001018957c8 in wxEventBasicPayloadMixin::~wxEventBasicPayloadMixin ()
#8 0x0000000101879da5 in wxCommandEvent::~wxCommandEvent ()
#9 0x0000000101894b42 in wxEvtHandler_GetClosure ()
#10 0x0000000100276f91 in s19gn_info ()