Seg fault while writing file

Geert Janssens geert.gnucash at kobaltwit.be
Mon May 30 08:20:37 EDT 2016


On Sunday 29 May 2016 01:37:20 John David Ravenscroft wrote:
> Yes. Edited following the FAQ
> http://wiki.gnucash.org/wiki/FAQ#Q:_How_can_I_delete_an_Invoice.2C_Cus
> tomer.2C_Vendor.2C_or_Employee.3F
> 
Unfortunately those instructions should have started with a big warning that directly editing 
the xml file is not supported and can result in unexpected behavior (including data loss).

I know from experience that removing an invoice is extremely delicate and easily leads to 
segfaults. That's why I chose not to implement it in the gui until now.

My advice would be to go back to a version before you manually removed the invoices. And 
instead mark the invoices as inactive (if you are not using the business features) or recycle 
them if you are still using the business features. That is, you can easily re-use an unposted 
invoice for another customer (or bill for a vendor). Every aspect of such invoice can be altered.

> I'll look in the file for syntax errors around the taxtable entries.
> 
I believe you won't find syntax errors around the taxtable entries. If there were syntax errors, 
gnucash would have failed on *reading* the file. Instead you suggested the crash happened 
while *writing* the file.

What you are probably looking for is references to the gnc:entries and gnc:invoices you have 
manually deleted. That is, tax tables (and other objects) link to the guid for such objects. If you 
remove the gnc:entry or gnc:invoice they point at, gnucash will behave unexpectedly. You will 
have to find all these references that are pointing into the void. It gets even more tricky 
because tax tables are stored in a tree with parent-child relationships. So if you also removed 
some tax tables already, you may end up with another set of dangling references to clear out.

Regards,

Geert


More information about the gnucash-user mailing list