2017-10-22 GnuCash IRC logs

00:40:33 *** wget has quit IRC
00:45:15 *** wget has joined #gnucash
00:59:53 *** mpiechotka has joined #gnucash
01:03:58 *** mpiechotka has quit IRC
01:09:06 *** mpiechotka has joined #gnucash
01:09:22 *** fell has quit IRC
01:10:34 *** fell has joined #gnucash
01:23:13 *** Mechtilde has joined #gnucash
01:41:04 *** mpiechotka has quit IRC
02:48:36 *** MrBusiness2 has joined #gnucash
02:50:14 *** MrBusiness has quit IRC
03:26:58 *** mpiechotka has joined #gnucash
04:18:35 *** Mechtilde has quit IRC
04:20:57 *** Mechtilde has joined #gnucash
04:49:20 *** fekepp has joined #gnucash
05:12:00 *** fekepp has quit IRC
05:14:34 *** Mechtilde has quit IRC
05:16:17 *** jotrago has quit IRC
05:16:18 *** jotrago1 is now known as jotrago
05:31:43 *** jotrago1 has joined #gnucash
05:54:18 *** carwynnelson has joined #gnucash
05:57:35 *** carwynnelson has quit IRC
06:06:26 *** karelk has quit IRC
06:06:55 *** carwynnelson has joined #gnucash
06:08:13 <carwynnelson> .
06:17:00 *** bertbob has quit IRC
06:22:21 *** bertbob has joined #gnucash
06:25:38 *** bertbob has quit IRC
06:31:15 *** bertbob has joined #gnucash
07:00:21 *** carwynnelson has quit IRC
07:03:17 *** carwynnelson has joined #gnucash
07:41:38 *** jotrago2 has joined #gnucash
07:42:05 *** jotrago1 has quit IRC
07:42:36 *** jotrago has quit IRC
07:42:37 *** jotrago2 is now known as jotrago
07:43:57 <fell> jralls, can you op gncbot?
08:22:14 <carwynnelson> still having problems on my macbook but I managed to get a build running on a linux vm that was stable
08:22:19 <carwynnelson> Thanks for all the help guys :)
08:23:29 *** carwynnelson has quit IRC
08:27:11 *** slacker has joined #gnucash
08:27:30 *** slacker has quit IRC
08:27:53 *** carwynnelson has joined #gnucash
08:28:22 *** slacker has joined #gnucash
08:31:54 *** slacker has joined #gnucash
08:36:27 *** slacker has left #gnucash
08:55:36 *** O01eg has joined #gnucash
09:06:45 *** User has joined #gnucash
09:30:23 *** carwynnelson has quit IRC
09:53:42 *** fekepp has joined #gnucash
09:59:47 *** fekepp has quit IRC
10:15:20 *** wget has quit IRC
10:22:00 *** wget has joined #gnucash
10:28:41 *** Mechtilde has joined #gnucash
10:31:55 *** fbruetting has joined #gnucash
10:36:33 *** fbruetting has quit IRC
10:36:51 *** fbruetting has joined #gnucash
10:41:04 *** fbruetting has quit IRC
10:46:51 *** fbruetting has joined #gnucash
10:51:04 *** fbruetting has quit IRC
10:51:22 *** fbruetting has joined #gnucash
11:16:33 *** fbruetting has quit IRC
11:16:51 *** fbruetting has joined #gnucash
11:19:47 *** karelk has joined #gnucash
11:21:04 *** fbruetting has quit IRC
11:26:51 *** fbruetting has joined #gnucash
11:31:38 *** Cuare has quit IRC
11:36:04 *** fbruetting has quit IRC
11:36:22 *** fbruetting has joined #gnucash
11:36:47 <sjk> Hm, is there a shortcut for jumping to the next cell in the budget?
11:37:04 <sjk> That is, the cell that is to the right of the one I'm currently editing. I was hoping that tab would do that... :)
11:38:42 *** Cuare has joined #gnucash
11:41:33 *** fbruetting has quit IRC
11:41:51 *** fbruetting has joined #gnucash
11:46:05 *** fbruetting has quit IRC
11:56:51 *** fbruetting has joined #gnucash
12:01:05 *** fbruetting has quit IRC
12:01:47 *** fbruetting has joined #gnucash
12:02:37 <Chris> sjk: don't think so, want to patch code?
12:11:33 *** fbruetting has quit IRC
12:11:51 *** fbruetting has joined #gnucash
12:16:05 *** fbruetting has quit IRC
12:21:51 *** fbruetting has joined #gnucash
12:41:05 *** fbruetting has quit IRC
12:41:23 *** fbruetting has joined #gnucash
12:44:01 *** Mechtilde has quit IRC
12:47:58 *** User has quit IRC
12:51:33 *** fbruetting has quit IRC
12:51:40 *** prince has joined #gnucash
12:51:51 *** fbruetting has joined #gnucash
12:54:04 *** ChanServ sets mode: +qo warlord warlord
12:54:06 *** warlord sets mode: +o gncbot
12:56:05 *** fbruetting has quit IRC
12:56:12 *** Mechtilde has joined #gnucash
12:56:43 <warlord> .
13:01:51 *** fbruetting has joined #gnucash
13:06:04 *** fbruetting has quit IRC
13:06:24 *** fbruetting has joined #gnucash
13:08:06 *** Mechtilde has quit IRC
13:11:32 *** CrashCart has joined #gnucash
13:16:33 *** fbruetting has quit IRC
13:16:51 *** fbruetting has joined #gnucash
13:17:20 *** gjanssens has joined #gnucash
13:17:20 *** ChanServ sets mode: +o gjanssens
13:18:30 <gjanssens> .
13:18:41 *** Mechtilde has joined #gnucash
13:21:04 *** fbruetting has quit IRC
13:26:51 *** fbruetting has joined #gnucash
13:27:01 *** carwynnelson has joined #gnucash
13:28:30 *** prince_ has joined #gnucash
13:30:27 *** prince has quit IRC
13:30:34 <prince_> Can personal and business accounting be done in the same file?
13:30:57 <prince_> I and my wife co-own an LLC that files as a S Corp
13:31:05 *** fbruetting has quit IRC
13:31:14 <prince_> I'd like to be able to get a whole world view of our business and personal income and expenses
13:31:23 *** fbruetting has joined #gnucash
13:31:31 <carwynnelson> I imagine you could just set up separate accounts for the business accounts and for the personal accounts?
13:31:51 <carwynnelson> And then if you need to move money between them you can just record a transaction like any other double entry transaction
13:32:26 <prince_> cool! just as I thought - just wanted to make sure GNUCash doesn't have any assumptions that would invalidate that
13:33:08 <prince_> Thank you carwynnelson
13:33:14 <carwynnelson> I wouldn't imagine so - if you can do it on a paper based double-entry system I'm sure you can probably do it in gnucash :P
13:33:26 <carwynnelson> no problem prince_ :)
13:34:47 <carwynnelson> I'm running `make test` on my ubuntu development vm and I'm getting quite a few failures.
13:34:49 <carwynnelson> I'm running on master
13:38:11 <carwynnelson> Is the build failing on master for anybody else?
13:38:18 <carwynnelson> or the tests rather
13:38:19 <jralls> carwynnelson: That's a bit odd, everything's passing on Travis, which is also Ubuntu.
13:39:00 <jralls> https://travis-ci.org/Gnucash/gnucash/builds
13:39:59 <carwynnelson> hmm - I guess I must be missing a dependency or something?
13:40:04 <carwynnelson> Let me re-build and see what happens
13:40:37 *** Mechtilde has quit IRC
13:40:51 *** Mechtilde has joined #gnucash
13:41:05 <jralls> gjanssens: I found the reason for at least some of the Windows crashes on 2.7.0: gcc's exception handling is a bit primitive, so exceptions are causing aborts.
13:42:18 <jralls> carwynnelson: A rebuild might not do it if you're missing a dependency. Note that there are a few dependencies (boost, googletest) in unstable/mster that maint doesn't have and that apt-get build-deps won't know about yet.
13:43:19 <carwynnelson> I'm getting quite a few errors like "Could not find executable /home/carwyn/build/bin/test-link-module-report-locale-specific-us
13:43:19 <carwynnelson> "
13:43:28 <carwynnelson> which would point to something missing?
13:44:38 <carwynnelson> Would it help if I posted a gist?
13:46:31 <gjanssens> jralls: I thought we had to catch all exceptions ? Are we missing some ? Or are you not talking about c++ exceptions ?
13:46:33 *** fbruetting has quit IRC
13:46:51 *** fbruetting has joined #gnucash
13:47:34 <gjanssens> carwynnelson: what version of Ubuntu ?
13:47:41 <carwynnelson> 17.10
13:47:57 <gjanssens> Ok that should definitely be recent enough :)
13:48:14 <gjanssens> do post your gist please
13:48:22 <jralls> gjanssens: C++ exceptions. It may be that on Windows gcc can't catch in C-linked functions. I'm going to test that next.
13:49:08 <gjanssens> jralls: Or perhaps it's throwing exceptions we haven't added a handler for ?
13:49:10 <carwynnelson> https://gist.github.com/anonymous/d77655c9d53b06bdfb9007679f8d4e74
13:50:15 <jralls> No, the exception in question is it a try block in string_to_gnc_numeric().
13:50:16 <gjanssens> carwynnelson: what about "make check" instead of "make test" ?
13:50:48 *** prince has joined #gnucash
13:51:38 <gjanssens> jralls: hmm indeed that block should catch all
13:51:44 <gjanssens> What's the exact abort message ?
13:52:23 *** prince_ has quit IRC
13:52:54 <warlord> prince: gnucash can do it, but some of the reports would be harder when you want to separate out personal from business (e.g. for tax filing).
13:52:56 <jralls> The usual "Gnucash.exe asked to be terminated in an usual way.". I found that it was a throw by setting `b abort` in the debugger.
13:54:27 <jralls> eh, "terminated in an unusual way."
13:56:10 <gjanssens> The usual is Windows' interpretation of the abort. What's the debugger telling you as what() message ?
13:56:25 <carwynnelson> gjanssens: `make check` gives a much better result. https://gist.github.com/anonymous/356bf7b733c2fdbbe7cbc46e2b18bed5
13:56:54 <carwynnelson> running `make test` again gives the same 3 failures - but that's good enough for now
13:56:59 <carwynnelson> thanks for the help :)
13:58:53 <gjanssens> carwynnelson: as far as I know make check is the command to use. I don't know exactly what's different with make test, never used that one
13:59:34 <gjanssens> The gnc-date-time failure can probably be fixed by setting your timezone before running the test, like so
13:59:41 <gjanssens> TZ=America/Los_Angeles make check
13:59:58 <gjanssens> that test is known to only run correctly in that timezone
14:00:31 <gjanssens> jralls: and what's the debugger telling you as the abort reason ?
14:00:38 <carwynnelson> Thanks. I'll use make check from now on
14:04:45 <jralls> gjanssens: The long answer is that _unwind_init_context_1() is calling abort(). Abort takes no arguments and there is no "what()", that's a std::exception member function.
14:06:02 <jralls> "catch throw" on the other hand stops when the exception is thrown, where I can see that it's from trying to create a GncNumeric with a 0 denominator.
14:06:04 *** fbruetting has quit IRC
14:06:58 <gjanssens> jralls: ok
14:08:03 <jralls> "catch catch" doesn't. In this instance the constructor throwing is GncNumeric::GncNumeric(int, int) which is called by GncNumeric::GncNumeric(std::string). I added a catch and rethrow there to see if exceptions were completely disabled in the mingw64 gcc. That catches and it's now the re-throw that results in the abort.
14:08:44 <gjanssens> So the question is why std::invalid_argument is not caught as a std::exception
14:09:05 <gjanssens> Have you tried adding an even more generic catch handler catch (...) ?
14:09:40 <gjanssens> As an alternative to check whether the exception can be caught or not
14:09:54 <jralls> No, it *is*caught that way in the test code in GncNumeric::GncNumeric(std::string), and yes, I tried catch(...) in string_to_gnc_numeric first.
14:11:31 <gjanssens> Right, which leads to your conclusion that exceptions may not work in C-linked functions
14:11:37 <jralls> Searching on the issue yesterday led me to https://stackoverflow.com/questions/15670169/what-is-difference-between-sjlj-vs-dwarf-vs-seh.
14:11:51 *** fbruetting has joined #gnucash
14:13:35 <jralls> And https://mingwpy.github.io/background-mingw.html#c-exception-models and https://sourceforge.net/p/mingw-w64/wiki2/Exception%20Handling/.
14:14:21 *** frakturfreak has joined #gnucash
14:14:35 *** prince has quit IRC
14:14:47 *** prince has joined #gnucash
14:16:04 *** fbruetting has quit IRC
14:16:22 *** fbruetting has joined #gnucash
14:16:42 <jralls> And a more detailed explanation at the end of http://tdm-gcc.tdragon.net/quirks.
14:18:51 <jralls> All code has to be compiled with the same exception model, so changing GnuCash would mean compiling boost from source instead of using the mingw64 supplied one.
14:22:37 *** prince_ has joined #gnucash
14:24:25 *** prince has quit IRC
14:25:36 <gjanssens> Mingw64, 32bit defaults to dw-2 exception handling ? And I presume with all code you mean all c++ code...
14:26:33 *** fbruetting has quit IRC
14:26:52 *** fbruetting has joined #gnucash
14:27:16 <jralls> No, just all C++ code that throws or catches exceptions across module boundaries. I'm not worried about webkit.
14:28:23 <jralls> Hmm...or might get between a throw and catch in our code. That still excludes webkit.
14:28:42 <gjanssens> ok
14:28:55 *** prince__ has joined #gnucash
14:29:13 <sjk> Chris: I may give it a try
14:30:25 <sjk> Would it be reasonable to have TAB switch to the next cell (that is, the cell to the right) when entering budget data?
14:30:49 *** fbruetting has quit IRC
14:31:25 *** prince_ has quit IRC
14:36:01 *** carwynnelson_ has joined #gnucash
14:37:34 <jralls> gjanssens: Well, it's not C linkage that's making it fail. I moved the guts of string_to_gnc_numeric into a GncNumeric member function and it's still not catching the rethrow.
14:37:53 *** carwynnelson has quit IRC
14:37:56 <gjanssens> I was wondering about that indeed
14:38:46 <gjanssens> I'm also trying to see which external code can be inbetween the throw and the catch (but I don't have your complete backtrace to read)
14:39:02 <gjanssens> I mean code not compiled with the same g++ EH configuration
14:47:24 <jralls> https://gist.github.com/jralls/acc9f8db275b6b74c5b30908aeca0119
14:47:50 <jralls> I added a little test to speed things up a bit.
14:56:28 <jralls> I've added my changes to the gist so you can see what I've tried so far.
15:00:33 *** Mechtilde has quit IRC
15:09:59 *** prince has joined #gnucash
15:11:45 *** prince__ has quit IRC
15:17:57 <gjanssens> jralls: there isn't much information in that backtrace unfortunately. I don't even understand how libgnc-core-utils.dll is involved in this.
15:18:58 <jralls> I don't either, except that it seems to be where the linker stuck _Unwind_Resume, which is mingw64 code.
15:19:46 <gjanssens> I guessed something similar
15:20:59 <gjanssens> So from your gist I see you have internalized all exception handling inside GncNumeric, but still the exception isn't caught
15:22:12 *** carwynnelson has joined #gnucash
15:23:04 <carwynnelson> Just put up my first pull request :) https://github.com/Gnucash/gnucash/pull/220. It's a tiny change but it's a start.
15:24:47 *** prince_ has joined #gnucash
15:24:53 <gjanssens> carwynnelson: well done on your first PR :)
15:25:01 <carwynnelson> thanks :)
15:25:11 <gjanssens> I'm still waiting for the ci tests to complete before I'll merge
15:25:29 *** prince has quit IRC
15:25:51 <jralls> gjanssens: Right. Sort of. It's caught once, but the rethrow isn't caught. Even the debugger's "catch throw" doesn't see it.
15:26:39 <gjanssens> As a next suggestion, revert the G_VALUE_HOLDS_INT64 to !G_VALUE_HOLDS_INT64 so you can eliminate another level of indentation. You can push that commit to the same PR as far as I'm concerned.
15:27:39 <carwynnelson> will do ;0
15:27:42 <carwynnelson> :)*
15:30:41 <gjanssens> jralls: very odd... And you do see the output of PWARN you added in GncNumeric::numeric_from_string ?
15:31:12 <gjanssens> Eh, or not, which it your point...
15:31:48 <jralls> No, it never gets that far.
15:32:50 <gjanssens> It almost looks like the final throw is cast as an ms type exception instead of a gnu/mingw one
15:32:56 <gjanssens> If that makes any sense at all
15:34:14 <carwynnelson> gjanssens: just to clarify that would turn the function into this: https://gist.github.com/CarwynNelson/a670fecd63563617a97603148d6c916a
15:36:32 <gjanssens> carwynnelson: yes. For my personal taste I'd remove the empty line 11, but that's really nitpicking (the reason I'd remove it is because setting bal and testing bal's valididy belong together in my mental model)
15:37:06 <gjanssens> Don't pay too much attention to my form comments like this though :)
15:37:10 <carwynnelson> Makes sense. I'll make that change now
15:37:25 <gjanssens> All, I'm signing off for tonight. See you later
15:37:32 <carwynnelson> cya :)
15:38:11 *** gjanssens has quit IRC
16:12:24 *** carwynnelson_ has quit IRC
16:19:23 *** frakturfreak has quit IRC
16:33:43 *** hoijui has joined #gnucash
16:42:45 *** hoijui has quit IRC
17:09:16 *** carwynnelson has quit IRC
17:53:08 *** pilotauto has joined #gnucash
18:10:43 *** prince_ has quit IRC
18:17:36 *** fbruetting has joined #gnucash
18:18:15 *** fbruetting has joined #gnucash
18:19:05 *** fbruetting has quit IRC
18:19:41 *** fbruetting has joined #gnucash
18:21:38 *** fbruetting has quit IRC
18:23:22 *** fbruetting has joined #gnucash
18:33:06 *** fbruetting has quit IRC
18:33:25 *** fbruetting has joined #gnucash
18:47:37 *** fbruetting has quit IRC
18:47:56 *** fbruetting has joined #gnucash
18:54:40 *** pilotauto has quit IRC
18:55:55 *** User has joined #gnucash
18:57:50 *** pilotauto has joined #gnucash
19:06:03 *** meb has joined #gnucash
19:11:08 *** meb has quit IRC
19:13:56 *** swiftarrow has joined #gnucash
19:17:18 *** meb has joined #gnucash
19:48:07 *** fbruetting has quit IRC
19:48:25 *** fbruetting has joined #gnucash
19:52:37 *** fbruetting has quit IRC
19:52:55 *** fbruetting has joined #gnucash
20:05:48 *** swiftarrow has quit IRC
20:08:07 *** fbruetting has quit IRC
20:08:25 *** fbruetting has joined #gnucash
20:09:39 *** carwynnelson has joined #gnucash
20:12:38 *** fbruetting has quit IRC
20:12:46 *** carwynnelson has quit IRC
20:12:56 *** fbruetting has joined #gnucash
20:18:06 *** fbruetting has quit IRC
20:18:25 *** fbruetting has joined #gnucash
20:22:38 *** fbruetting has quit IRC
20:22:57 *** fbruetting has joined #gnucash
20:43:07 *** fbruetting has quit IRC
20:43:25 *** fbruetting has joined #gnucash
20:44:33 *** wget has quit IRC
20:45:00 *** wget has joined #gnucash
20:47:38 *** fbruetting has quit IRC
20:47:58 *** fbruetting has joined #gnucash
20:54:48 *** fbruetting has quit IRC
21:04:39 *** CrashCart has quit IRC
21:15:18 <Chris> sjk: i think mimicking spreadsheets sounds good.
22:01:54 *** User has quit IRC
23:04:50 *** xmaka has quit IRC
23:59:34 *** xmaka has joined #gnucash