2013-06-15 GnuCash IRC logs

00:00:56 *** arrainey has quit IRC
00:01:33 *** arrainey has joined #gnucash
00:11:35 *** arrainey has quit IRC
00:12:07 *** arrainey has joined #gnucash
00:22:10 *** arrainey has quit IRC
00:22:35 *** benoitg has quit IRC
00:55:59 *** benoitg has joined #gnucash
01:15:11 *** benoitg has quit IRC
04:05:03 *** jmd has joined #gnucash
04:10:10 *** jmd has quit IRC
04:49:44 *** nomeata has joined #gnucash
05:17:01 *** aqua___ has joined #gnucash
05:33:56 *** fabior has joined #gnucash
05:54:48 *** jmd has joined #gnucash
05:59:17 *** aqua_ has joined #gnucash
06:06:35 *** aqua___ has quit IRC
06:18:28 *** aqua_ has quit IRC
06:23:23 *** aqua_ has joined #gnucash
06:32:32 *** fabior has quit IRC
07:28:16 <rhowe> [5~[5~[5~[5~[5~[5~[6~[6~[6~[6~[6~[6~[6~[6~[6~
07:31:10 *** aqua_ has quit IRC
07:31:28 *** jmd has quit IRC
07:32:25 *** fabior has joined #gnucash
07:34:22 <rhowe> hm, that wasn't what I meant to say
07:35:17 <rhowe> gnucash won't open my data file any more :( xmllint seems happy with it, as does xlstproc (I have some scripts to extract data from it)
07:50:30 <rhowe> * 12:43:04 CRIT <gnc.backend.file.sixtp> Tag <gnc:> not allowed in current context.
07:50:33 <rhowe> * 12:43:04 CRIT <gnc.backend.file.sixtp> parse failed at:
07:50:33 <rhowe> ah that's more helpful
07:50:36 <rhowe> * 12:43:04 WARN <gnc.backend> [gnc_xml_be_load_from_file()] Syntax error in Xml File /home/rhowe/accounts/russellhowe
07:50:43 *** Jimraehl2 has left #gnucash
07:55:41 *** fabior has quit IRC
07:56:55 <rhowe> I can't find an instance of <gnc:> in the file, however
08:03:52 *** Jimraehl2 has joined #gnucash
08:32:27 *** Bodhi-Baum has joined #gnucash
08:45:54 *** wizkid238 has quit IRC
09:23:04 *** fell_ has quit IRC
09:23:18 *** fell_ has joined #gnucash
09:23:19 *** gncbot sets mode: +o fell_
09:32:07 <warlord> rhowe: what version of gnucash are you using? And what changed between the last time it worked and this time?
09:34:48 <rhowe> warlord: Whatever's in Debian unstable and I'm not sure
09:35:17 <rhowe> Debian package 1:2.4.13-1
09:35:51 <rhowe> warlord: I get 700k of output on stdout too, which looks like some kind of dump of the XML data structure
09:37:18 *** nomeata has quit IRC
09:37:34 <rhowe> It has exceedingly long lines though, which makes it a bit hard to read :)
09:50:03 <rhowe> looking at /var/log/dpkg.log, no gnucash update since the last time I saved the file (12 June)
09:50:24 <rhowe> No libxml update either
09:51:30 <warlord> rhowe: do you use a VCS to store your data file?
09:51:38 <warlord> (svn? git? etc?)
09:51:42 <rhowe> starting to wish I did :)
09:51:55 <warlord> What happens if you open the most recent backup file?
09:52:10 <rhowe> updates since the last save: alacarte:all apt-transport-https:amd64 automake:all bamfdaemon:amd64 binutils:amd64 ca-certificates:all cpp-4.7:amd64 cpp-4.8:amd64 cpp:amd64 cups:amd64 dbus:amd64 dbus-x11:amd64 desktop-file-utils:amd64 dmsetup:amd64 eclipse:all eclipse-jdt:all eclipse-pde:amd64 eclipse-platform:amd64 eclipse-platform-data:all eclipse-rcp:amd64 file-roller:amd64 five-or-more:amd64 foomatic-db:all g++-4.7:amd64 g++-4.8:amd64 g++:am
09:52:16 <rhowe> Let's see
09:52:26 <warlord> (that would be <yourfilename>.gnucash.YYYYMMDDHHMMSS.gnucash
09:52:43 <warlord> nothing there that rings out at me...
09:52:59 <rhowe> yeah, russellhowe.20130612204353.gnucash
09:53:49 <rhowe> aha, victory!
09:53:53 <rhowe> let's do a diff
09:54:15 <warlord> :)_
09:55:38 <warlord> Note that gnucash will reopen the last-used file, so be careful right now.
09:55:54 <warlord> worst case you can just revert to the last backup and re-enter whatever you did last session ;)
09:55:54 <rhowe> not if I delete it - I copied it to /tmp before opening
09:56:11 <rhowe> yeah, I didn't do anything major since the last backup
09:56:38 <rhowe> I'm just checking the diff to see if there's anything particularly secret there. If not, I'll stick it online somewhere
09:58:02 <rhowe> http://www.pastebin.ca/2399591
10:02:29 <warlord> Hmm, I dont SEE anything in that diff that would explain the XML parse error.
10:02:39 <warlord> (but my brain is not a good xml parser)
10:03:16 <rhowe> me neither. xmllint is quite happy with the supossedly corrupt file too
10:03:57 <rhowe> This file has 13 years' of data in it :)
10:04:55 *** Bodhi-Baum has quit IRC
10:06:54 <rhowe> Looks like the only other time I had any kind of corruption was 2009
10:07:08 <rhowe> Not a bad reliability record, I'd say
10:08:42 <rhowe> the git has on this version is rbfb59d7 according to the splash screen, btw
10:34:55 <warlord> That doesn't mean anything to me, I'm afraid.
10:38:49 <warlord> I still find it strange that gnucash created a file it couldn't read back... unless you just have a case of bitrot, but then diff would show more, I would think, and xmllint would complain. *shrugs*
10:39:22 <rhowe> yeah, it's quite odd. I'm going to try to apply the diff, bit by bit and see if I can break it again :)
10:39:47 <rhowe> first, I'll just try gunzip && gzip to make sure that bit's OK
10:39:59 <rhowe> I take it 27MB isn't particularly excessive as a dataset?
10:40:00 <warlord> No need to re-gzip..
10:40:23 <rhowe> k
10:40:48 <warlord> Mine is just over 1MB compressed.
10:41:03 <warlord> It has all my personal data since 2007.
10:41:16 <rhowe> Mine's 2.5
10:41:22 <rhowe> 2449623 bytes
10:41:41 <rhowe> 717000 lines uncompressed
10:41:59 <warlord> You might just have more transactions than I do.
10:42:09 <warlord> (well, not 'might'.. 'do')
10:57:35 <rhowe> OK I've turned the diff into 8 git commits
10:57:46 <rhowe> time for a bisect :)
10:58:26 *** Bodhi-Baum has joined #gnucash
11:02:49 <rhowe> Oh, this is interesting
11:03:02 <rhowe> if I uncompress the unreadable file with zcat, gnucash can open it fine
11:03:27 <rhowe> $ gzip -vt russellhowe.20130615.corrupt
11:03:27 <rhowe> russellhowe.20130615.corrupt: OK
11:09:36 *** Bodhi-Baum has quit IRC
11:39:17 <warlord> Hmmm.....
11:39:20 <warlord> Maybe a zlib bug?
12:00:52 <rhowe> Is there a way to run the same uncompress process gnucash does to see if it's the same as gunzip gets? I thought gunzip used zlib too?
12:04:40 *** jmd has joined #gnucash
12:42:25 <rhowe> hm, interestingssd
12:43:27 <rhowe> I wonder if this is safe.. src/backend/xml/io-gncxml-v2.c when reading, gnucash does a gzread and if that returns data does a write to a pipe
12:43:51 <rhowe> it checks that the write succeeded, but it doesn't check whether everything which was read got written as far as I can see
12:44:25 <rhowe> it's simply if (write(...)) { g_warning(); success = 0; }
12:46:09 <rhowe> since this occurs in a thread, could the write be being interrupted?
12:47:37 <rhowe> Also interesting it does I/O in 4K chunks.. seems rather small these days
12:50:00 <rhowe> a gzread of 4K is going to be pretty small in terms of data read from disk - more like 400 bytes going by the compression level on my file
13:00:20 *** jmd has quit IRC
14:15:48 *** linas_ has joined #gnucash
14:15:49 *** linas has quit IRC
14:35:50 *** linas__ has joined #gnucash
14:35:51 *** linas_ has quit IRC
15:40:43 *** aqua___ has joined #gnucash
15:51:07 *** aqua___ has quit IRC
16:47:30 *** ecocode has joined #gnucash
17:25:46 *** ecocode has quit IRC
17:25:47 *** ecocode has joined #gnucash
17:29:10 *** fell__ has joined #gnucash
17:29:10 *** gncbot sets mode: +o fell__
17:37:28 *** fell_ has quit IRC
20:01:43 *** kpreid has quit IRC
20:02:15 *** kpreid has joined #gnucash
20:23:11 *** ecocode has quit IRC
21:20:37 *** Krzysiek_K has quit IRC
21:45:54 *** benoitg has joined #gnucash
22:26:31 *** benoitg has quit IRC
22:30:56 *** wizkid238 has joined #gnucash
23:09:40 *** benoitg has joined #gnucash
23:18:22 *** benoitg has quit IRC