Master - saving to xml broken

Geert Janssens geert.gnucash at
Fri Dec 2 08:03:29 EST 2016

Op vrijdag 2 december 2016 13:50:12 CET schreef Geert Janssens:
> Hi,
> The last couple of days I find that the master branch breaks xml files
> during save. I didn't report earlier because I had to check first whether
> it wasn't due to my own branch.
> Built a clean current master today, and it still saves broken xml data
> files.
> The error message is - as usual with the backend - pretty vague:
> * 13:27:04  WARN <gnc.backend> [GncXmlBackend::load()] Syntax error in Xml
> File /home/janssege/Development/gnucash/testdata/KobaltTest.xac
> To reproduce: open a working file and save it as xml. For my test I simply
> added and remove one character of one single transaction description and
> then saved the file again.
> Analyzing the broken file I find:
> 1. there are several duplicate xml namespaces in the xmlns list: billterm,
> bt- days, bt-prox, cust, employee, entry, invoice, job, order, taxtable,
> tte, vendor and addr. They were in the original file as well, but only
> once.
> 2. gnc:count-data equally has a number of duplicate entries, also for
> business objects only.
> 3. The original book only had gnc:commodity entries for currencies that are
> really in use. The new book has an entry for each commodity we support.
> 4. all objects that didn't have slots before, now have an empty slots xml
> entity. The commodities now have for example <cmdty:slots/>. Similarly there
> are now also plenty of empty entities for accounts, transactions, splits,
> ...
> This issue must have been introduced before commit dd4b8a104d0f7 on master.
> That's the commit my cpp branch branches off from and I'm seeing it there as
> well (albeit with a slightly different error message:* 10:54:04  WARN
> <gnc.backend> [gnc_xml_be_load_from_file()] Syntax error in Xml File /home/
> janssege/Development/gnucash/testdata/KobaltTest.xac)

Digging a bit further it looks like all business data is duplicated, which 
would explain the errors - all those guid's appear twice.


More information about the gnucash-devel mailing list