2024-05-25 GnuCash IRC logs

01:20:53 *** fell_laptop has quit IRC
01:21:53 *** fell_laptop has joined #gnucash
01:21:54 *** ChanServ sets mode: +o fell_laptop
02:15:23 *** giuseppef has quit IRC
03:32:59 *** gjanssens has joined #gnucash
03:32:59 *** ChanServ sets mode: +o gjanssens
05:25:24 *** chris has joined #gnucash
05:25:24 *** ChanServ sets mode: +v chris
05:25:24 *** gncbot sets mode: +o chris
05:33:32 <chris> jralls/warlord: is there anywhere where the exact order of operations wrt session/engine/gui/etc is documented? i notice gnc_shutdown_cli doesn't call qof_sesison_destroy
05:33:40 <chris> ^gjanssens too
05:37:16 <chris> looks like qof_session_destroy is being called in GNC_HOOK_SHUTDOWN by gnc_file_quit which isn't present in cli
05:41:45 <chris> there's also gnc-state and gnc-component-manager etc
05:41:56 <chris> wotta mess
05:43:45 <chris> jralls: there's another thing... scm_boot_guile calls the inner function which never terminates until exit() is called, and the latter won't call the c++ destructors
05:47:28 <chris> jralls: here's an observation... if gnucash-cli doesnt' called gnc_clear_current_sesion() which eventually calls the splitvec destructors, why does valgrind on cli not report massive leaks?
05:47:42 <gjanssens> chris: wotta mess indeed :) Unfortunately I don't know of any proper explanation of the expected order of operations.
05:47:51 <gjanssens> I think it has grown hack on hack.
05:49:04 <chris> lol if there's not "expected" order do you know of any "desired" order?
05:50:07 <gjanssens> Same there, that outside of my knowledge as well :(
05:50:50 <chris> I guess jralls would say they must be replaced with c++20 modules
05:57:35 <gjanssens> LOL
06:53:23 *** chris has quit IRC
07:02:28 <henk> can anyone provide any more context to the issue I was experiencing or maybe even an explanation as to what exactly happened?
07:36:30 *** chris has joined #gnucash
07:36:31 *** ChanServ sets mode: +v chris
07:36:31 *** gncbot sets mode: +o chris
08:05:54 <gjanssens> warlord when you have a minute can you look at your nightly build script for the doxygen documentation ? As of this commit https://github.com/Gnucash/gnucash/commit/387b4988e523e9438b54e97d1cecb7bc720207ce the output of the "ninja doc" command has changed (as mentioned in the commit message). Did you already update your build script for this ?
08:47:37 <warlord> gjanssens, I'm sure I have not.
09:18:56 <gjanssens> warlord: ok, can you (at some point) ? ;)
09:21:23 <warlord> The script for gnucash-docs doesn't use ninja -- it uses make.
09:21:44 <warlord> cmake -DCMAKE_INSTALL_PREFIX=$prefix -DWITH_MOBI=ON $srcdir >/dev/null 2>&1 || m
09:21:44 <warlord> y_die "cmake failed"
09:21:44 <warlord> # build the docs as HTML and PDF
09:21:44 <warlord> make html pdf epub mobi >/tmp/gnucash-docs.out 2>&1 || my_die "failed building g
09:21:44 <warlord> nucash-docs"
09:21:45 <warlord> # and copy the output
09:21:47 <warlord> (cd share/doc; tar -cf - */gnucash-{manual,guide}{,.pdf,.epub,.mobi} | ( cd $des
09:21:49 <warlord> tdir ; tar -xf - ))
09:21:51 <warlord> # and make sure there are index.html links in the help directories
09:21:53 <warlord> for helpdir in $destdir/*/gnucash-manual ; do
09:21:55 <warlord> [ ! -r $helpdir/index.html ] && ln -s help.html $helpdir/index.html ;
09:21:57 <warlord> done
09:21:59 <warlord> (sorry for the bad copy-and-paste)
09:24:25 <warlord> gjanssens, what do I need to change?
09:26:09 <gjanssens> warlord: that's from the documentation build (manual and guide) in the gnucash-docs, I'm talking about the doxygen build in the gnucash repo.
09:26:24 <gjanssens> The part the does "make doc" in there
09:26:31 <gjanssens> BRB
09:26:32 <warlord> OH... Hold onl
09:29:29 <warlord> gjanssens, that code also does not call make (or ninja) -- it calls doxygen directly:
09:29:30 <warlord> if [ -f Makefile.am ] ; then
09:29:30 <warlord> touch Makefile || my_die "touch Makefile failed."
09:29:31 <warlord> make -f Makefile.am doxygen.cfg top_srcdir=$top_srcdir VERSION="$VERSION" >/dev/null 2>&1 || my_die "could not build doxygen.cfg."
09:29:31 <warlord> else
09:29:31 <warlord> rm -f doxygen.cfg.tmp
09:29:34 <warlord> sed < doxygen.cfg.in > doxygen.cfg.tmp \
09:29:36 <warlord> -e 's:${CMAKE_SOURCE_DIR}'":${top_srcdir}:g; s:@VERSION@:${VERSION}:g"
09:29:38 <warlord> mv doxygen.cfg.tmp doxygen.cfg
09:29:40 <warlord> fi
09:29:42 <warlord> rm -rf html refman.pdf
09:29:44 <warlord> $doxygen doxygen.cfg || my_die "make doc failed."
09:34:31 *** chris has quit IRC
09:49:00 <gjanssens> Oh ok. In that case I think the only change to make would be in the sed command: replace -e 's:${CMAKE_SOURCE_DIR}'":${top_srcdir}:g; s:@VERSION@:${VERSION}:g" with -e 's:${CMAKE_SOURCE_DIR}'":${top_srcdir}:g; s:"'${PROJECT_VERSION}'":${VERSION}:g"
09:50:35 <gjanssens> warlord: How come you're not using the cmake project btw ? It would be as simple as a cmake <path to top_srcdir> && make doc
09:50:53 <gjanssens> Is this in a different vm from the one in which you do the nightly builds ?
10:42:47 <warlord> Yes.
10:43:28 <warlord> I do it this way for historical reasons -- code only had the minimum necessary to build the docs; not a full build system. And the docs are generated on code.
10:47:28 <warlord> Yes, things have changed; the flatpak builds are done on code now, but I haven't re-designed the docs build scripts to match.
11:10:00 <gjanssens> warlord: ok. Doesn't matter really, I was mostly curious.
11:17:48 <warlord> So do I need to make a change?
11:17:51 <warlord> And if so, what?
11:50:47 *** KartikSoneji has joined #gnucash
11:51:49 *** ChanServ sets mode: +v KartikSoneji
11:53:13 <KartikSoneji> Hi, I'm trying out GNUCash for the first time, but the program crashes immediately after opening.
11:54:31 <KartikSoneji> I'm on Windows 11, and am using version 5.6, build id 5.6+(2024-03-30)
11:55:00 <KartikSoneji> A new log file is created every startup but is empty.
12:06:18 <KartikSoneji> OK, I'm running the program under GDB and it looks like it's exiting with exit code 1 instead of crashing.
12:59:39 <gjanssens> warlord: yes, see my earlier reply (starting with "Oh ok.")
13:00:18 <gjanssens> The change is that the config file now expands the variable "PROJECT_VERSION" instead of "VERSION"
14:13:31 *** twunder has joined #gnucash
14:18:06 *** ChanServ sets mode: +v twunder
14:24:46 <twunder> recently upgraded to Fedora 40. Gnucash 5.6+(2024-03-30). QIF import appears to be borken. Imports end with error: "Missing QIF investment action for transaction dated xx/xx/xxxx" Searching bugzilla for "Missing QIF investment action" resulted in a couple seemingly unrelated bugs, although 799225 is close.
14:41:23 *** fell_laptop has quit IRC
14:42:15 *** fell_laptop has joined #gnucash
14:42:15 *** ChanServ sets mode: +o fell_laptop
15:02:04 *** fell_laptop has quit IRC
15:02:34 <twunder> created as bug#799317
16:14:45 <gjanssens> warlord: and the second change is likely the location of the doxygen.cfg file. I has moved to top_srcdir. I don't know where you run build script from, that's not visible in the pasted code.
16:15:49 <gjanssens> And the third change is that now there is a "doxygen" directory in the output path, so it will be "doxygen/html" instead of just "html"
16:15:55 <gjanssens> gtg
16:17:57 *** gjanssens has quit IRC
16:28:28 *** fell has joined #gnucash
16:28:28 *** ChanServ sets mode: +o fell
17:03:36 *** jralls has joined #gnucash
17:03:36 *** ChanServ sets mode: +o jralls
17:12:49 <jralls> twunder, the QIF problem is known and fixed, use a nightly build or revert to 5.5 until the 5.7 release.
17:14:24 <jralls> KartikSoneji that sounds like a fixed packaging error. Did you install from https://sourceforge.net/projects/gnucash/files/gnucash%20%28stable%29/5.6/gnucash-5.6-1.setup.exe/download ?
17:23:30 <jralls> @tell chris gnucash-cli probably should call gnc_file_quit to ensure a proper shutdown. For the most part C++ objects live on the stack. The exceptions are I think fairly temporary that get cleaned up when whatever process uses them finishes.
17:23:30 <gncbot> jralls: The operation succeeded.
17:45:29 <jralls> @tell chris The book data is (or should be anyway) "owned" by its respective object module, see gofobject.cpp. The object modules are registered in cashobjects_register (libgnucash/engine/cashobjects.cpp); that prepends each to the list in qofobject.cpp and qof_object_book_end destroys them in reverse order by traversing that list.
17:45:29 <gncbot> jralls: The operation succeeded.
20:00:01 *** raghukamath has quit IRC
20:12:36 *** raghukamath has joined #gnucash
20:12:36 *** ChanServ sets mode: +v raghukamath
20:56:58 *** chris has joined #gnucash
20:56:59 *** ChanServ sets mode: +v chris
20:56:59 *** gncbot sets mode: +o chris
21:02:46 <chris> jralls: gnc_file_quit lives in gnome-utils however
21:02:46 <gncbot> chris: Sent 3 hours and 39 minutes ago: <jralls> gnucash-cli probably should call gnc_file_quit to ensure a proper shutdown. For the most part C++ objects live on the stack. The exceptions are I think fairly temporary that get cleaned up when whatever process uses them finishes.
21:02:47 <gncbot> chris: Sent 3 hours and 17 minutes ago: <jralls> The book data is (or should be anyway) owned by its respective object module, see gofobject.cpp. The object modules are registered in cashobjects_register (libgnucash/engine/cashobjects.cpp); that prepends each to the list in qofobject.cpp and qof_object_book_end destroys them in reverse order by traversing that list.
21:45:58 *** chris has quit IRC
21:59:01 *** chris has joined #gnucash
21:59:01 *** ChanServ sets mode: +v chris
21:59:01 *** gncbot sets mode: +o chris
22:10:14 <KartikSoneji> @jralls yes, I used the latest version from sourceforge.
22:10:14 <gncbot> KartikSoneji: Error: "jralls" is not a valid command.
23:03:00 *** chris has quit IRC