Master - saving to xml broken

Robert Fewell 14ubobit at gmail.com
Fri Dec 2 15:47:51 EST 2016


Just built master from
https://github.com/Gnucash/gnucash/commit/dd4b8a104d0f7ad2205407e8bf10feec364c8127
and I still do not see the errors Geert is having. Added a Customer and a
Vendor and still only have one of each.

Bob

On 2 December 2016 at 17:43, Robert Fewell <14ubobit at gmail.com> wrote:

> OK, I just rebuilt from master and I get exactly the same errors on saving
> as you.
>
> Bob
>
> On 2 December 2016 at 16:38, Geert Janssens <geert.gnucash at kobaltwit.be>
> wrote:
>
>> Op vrijdag 2 december 2016 17:20:13 CET schreef Geert Janssens:
>> > Here's my scenario:
>> >
>> > - start gnucash
>> > - create new file
>> > - go through the assistant, simply by clicking forward everywhere
>> > - save the file
>> > - add one vendor
>> > - save the file
>> > - restart gnucash
>> >
>> > => error as described earlier
>> >
>> > Checking my data file, it does indeed have the vendor stored twice. I'm
>> > currently doing a full clean rebuild of gnucash master (freshly checked
>> out
>> > from github). I'll report my findings when the build finishes.
>> >
>> > Geert
>> >
>>
>> Ok, clean rebuild of current master. Things are even worse. Same steps as
>> above.
>>
>> After the assistant finishes, I'm offered a save dialog. I'm entering a
>> new
>> file name (of a non-existent file). A second dialog window pops up
>> telling me
>> the file is already open and asks whether I want to save over it. At the
>> same
>> time this message is printed in the logs:
>> * 17:30:49  WARN <gnc.backend> [GncXmlBackend::session_begin()] Might
>> clobber,
>> no force
>>
>> I tell gnucash to overwrite and the save dialog closes. The window title
>> is
>> changed to *Double.gnucash (I chose "Double" as file name).
>> This suggests the file is not saved yet. Looking on the file system it's
>> not
>> there indeed. But the lock files are.
>>
>> Closing gnucash it asks me again whether I want to save the file. I'm
>> telling
>> it to save. Immediately a second dialog pops up warning me the changes of
>> the
>> last x minutes will be lost if I close without saving.
>>
>> I chose again to save, the same dialog appears again and will continue to
>> do
>> so until I choose to close without saving. At that point gnucash
>> segfaults.
>>
>> There's no file on my file system with the name Double.gnucash.
>>
>> There is also no other version of gnucash or its libraries on the path.
>>
>> Regards,
>>
>> Geert
>>
>>
>> > Op vrijdag 2 december 2016 15:03:03 CET schreef Robert Fewell:
>> > > Geert,
>> > >
>> > > Just created a customer and vendor, still no errors...
>> > >
>> > > Bob
>> > >
>> > > On 2 December 2016 at 14:45, Geert Janssens <
>> geert.gnucash at kobaltwit.be>
>> > >
>> > > wrote:
>> > > > Bob,
>> > > >
>> > > > Did you add a business object, like a vendor or customer ?
>> > > >
>> > > > Geert
>> > > >
>> > > > Op vrijdag 2 december 2016 14:34:57 CET schreef Robert Fewell:
>> > > > > Geert,
>> > > > >
>> > > > > Not sure I see your problem, just created a new xml file based on
>> > > > > master
>> > > > > with one transaction from
>> > > > > https://github.com/Gnucash/gnucash/commit/dd4b8a104d0f7ad220
>> 5407e8bf10
>> > > > > fe
>> > > >
>> > > > ec36
>> > > >
>> > > > > 4c8127, can save with no errors.
>> > > > >
>> > > > > Bob
>> > > > >
>> > > > > On 2 December 2016 at 13:03, Geert Janssens
>> > > > > <geert.gnucash at kobaltwit.be>
>> > > > >
>> > > > > wrote:
>> > > > > > 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/gnu
>> cash/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.
>> > > > > >
>> > > > > > Geert
>> > > > > > _______________________________________________
>> > > > > > gnucash-devel mailing list
>> > > > > > gnucash-devel at gnucash.org
>> > > > > > https://lists.gnucash.org/mailman/listinfo/gnucash-devel
>> >
>> > _______________________________________________
>> > gnucash-devel mailing list
>> > gnucash-devel at gnucash.org
>> > https://lists.gnucash.org/mailman/listinfo/gnucash-devel
>>
>>
>>
>


More information about the gnucash-devel mailing list