带有 Ubuntu 16.04 的 gnucash 2.6.12-1。
这个版本是在 5 月 5 日安装的,直到今天我得到了 metacity 的更新(不管是什么)。我已经重新安装了 gnucash,但错误仍然是一样的。
$ gnucash
Found Finance::Quote version 1.38
*** Error in `gnucash': free(): invalid pointer: 0x000056431b7b3960 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x77725)[0x7f5aa25de725]
/lib/x86_64-linux-gnu/libc.so.6(+0x7ff4a)[0x7f5aa25e6f4a]
/lib/x86_64-linux-gnu/libc.so.6(cfree+0x4c)[0x7f5aa25eaabc]
...
我遇到过同样的问题。由于 muclux 的回答暗示该问题与重复交易有关,因此我压缩了该文件的副本(以 .gz 扩展名重命名),它提供了一个 XML 文件,并在文本编辑器中打开了该文件。然后我删除了所有
XML 标记(及其内容)、保存文件、压缩文件、重命名,现在 GnuCash 可以毫无错误地打开该文件。这样,Windows 上的 GnuCash 就无需删除重复交易。
谢谢你,heemayl,编辑。
我找到了无效指针的原因。一些预定的事务已损坏(我不知道这是怎么发生的,或者它是否与我升级到 Ubuntu 16.04 有关)。
当我使用 Windows 版本的 gnucash 打开我的数据文件时,我注意到了这一点。删除今天安排的两个事务后,我将数据文件发送回 linux。现在我可以再次使用 linux gnucash 打开我的数据文件。