Op vrijdag 2 december 2016 08:50:30 CET schreef John Ralls: > > On Dec 2, 2016, at 8:38 AM, Geert Janssens <geert.gnuc...@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. > > This is likely two separate problems since your earlier build was before my > recent merge of c++-backend (which touched the XML backend) and the current > behavior is after it. > > Regards, > John Ralls
Yes I think so too. Just for reference here's the backtrace from the reproducible segfault: #0 0x00007ffff1de805a in qof_book_is_readonly(QofBook const*) (book=0xd0) at /kobaltnet/janssege-development/gnucash/gnucash-master-remote/src/libqof/qof/ qofbook.cpp:587 #1 0x00007ffff3241542 in GncXmlBackend::session_end() (this=0x2eaf5c0) at / kobaltnet/janssege-development/gnucash/gnucash-master-remote/src/backend/xml/ gnc-xml-backend.cpp:172 #2 0x00007ffff1dfb020 in QofSessionImpl::end() (this=0x2cda220) at / kobaltnet/janssege-development/gnucash/gnucash-master-remote/src/libqof/qof/ qofsession.cpp:349 #3 0x00007ffff1df9dc5 in QofSessionImpl::~QofSessionImpl() (this=0x2cda220, __in_chrg=<optimized out>) at /kobaltnet/janssege-development/gnucash/gnucash- master-remote/src/libqof/qof/qofsession.cpp:134 #4 0x00007ffff1df9e9c in qof_session_destroy(QofSession*) (session=0x2cda220) at /kobaltnet/janssege-development/gnucash/gnucash-master-remote/src/libqof/ qof/qofsession.cpp:145 #5 0x00007ffff251bf42 in gnc_clear_current_session () at /kobaltnet/janssege- development/gnucash/gnucash-master-remote/src/engine/gnc-session.c:65 #6 0x00007ffff6533fdd in gnc_file_quit () at /kobaltnet/janssege-development/ gnucash/gnucash-master-remote/src/gnome-utils/gnc-file.c:1609 #7 0x00007ffff2512cbb in call_c_hook (hook=0x2b0bcc0, data=0x0) at / kobaltnet/janssege-development/gnucash/gnucash-master-remote/src/engine/gnc- hooks.c:217 #8 0x00007fffee5c08e4 in g_hook_list_marshal () at /lib64/libglib-2.0.so.0 #9 0x00007ffff2512e2f in gnc_hook_run (name=0x7ffff65b2049 "hook_ui_shutdown", data=0x0) at /kobaltnet/janssege-development/gnucash/ gnucash-master-remote/src/engine/gnc-hooks.c:233 #10 0x00007ffff6538eaf in gnc_shutdown (exit_status=0) at /kobaltnet/janssege- development/gnucash/gnucash-master-remote/src/gnome-utils/gnc-gnome-utils.c: 786 #11 0x00007ffff653d861 in gnc_main_window_timed_quit (dummy=0x0) at / kobaltnet/janssege-development/gnucash/gnucash-master-remote/src/gnome-utils/ gnc-main-window.c:1338 #12 0x00007fffee5d088d in g_timeout_dispatch () at /lib64/libglib-2.0.so.0 #13 0x00007fffee5cfe42 in g_main_context_dispatch () at /lib64/libglib-2.0.so. 0 #14 0x00007fffee5d01c0 in g_main_context_iterate.isra () at /lib64/ libglib-2.0.so.0 #15 0x00007fffee5d04e2 in g_main_loop_run () at /lib64/libglib-2.0.so.0 #16 0x00007ffff0061267 in IA__gtk_main () at gtkmain.c:1268 #17 0x00007ffff6538a4f in gnc_ui_start_event_loop () at /kobaltnet/janssege- development/gnucash/gnucash-master-remote/src/gnome-utils/gnc-gnome-utils.c: 622 #18 0x000000000040582d in inner_main (closure=0x0, argc=1, argv=0x7fffffffd888) at /kobaltnet/janssege-development/gnucash/gnucash- master-remote/src/bin/gnucash-bin.c:671 #19 0x00007ffff0d8743d in invoke_main_func (body_data=0x7fffffffd700) at init.c:341 #20 0x00007ffff0d5fb1a in c_body (d=0x7fffffffd640) at continuations.c:517 #21 0x00007ffff0df9696 in vm_regular_engine (vm=0xd0, program=0x7fffedd88ae8 <main_arena+8>, argv=0x7fffffffd520, nargs=11636920) at vm-i-system.c:858 #22 0x00007ffff0d69913 in scm_call_4 (proc=0xbf5c00, arg1=arg1@entry=0x404, arg2=<optimized out>, arg3=<optimized out>, arg4=<optimized out>) at eval.c: 507 #23 0x00007ffff0de3409 in scm_catch_with_pre_unwind_handler (key=key@entry=0x404, thunk=<optimized out>, handler=<optimized out>, pre_unwind_handler=<optimized out>) at throw.c:73 #24 0x00007ffff0de350f in scm_c_catch (tag=tag@entry=0x404, body=body@entry=0x7ffff0d5fb10 <c_body>, body_data=body_data@entry=0x7fffffffd640, handler=handler@entry=0x7ffff0d5ff10 <c_handler>, handler_data=handler_data@entry=0x7fffffffd640, pre_unwind_handler=pre_unwind_handler@entry=0x7ffff0d5fca0 <pre_unwind_handler>, pre_unwind_handler_data=0xb17e20) at throw.c:207 #25 0x00007ffff0d602c1 in scm_i_with_continuation_barrier (body=body@entry=0x7ffff0d5fb10 <c_body>, body_data=body_data@entry=0x7fffffffd640, handler=handler@entry=0x7ffff0d5ff10 <c_handler>, handler_data=handler_data@entry=0x7fffffffd640, pre_unwind_handler=pre_unwind_handler@entry=0x7ffff0d5fca0 <pre_unwind_handler>, pre_unwind_handler_data=0xb17e20) at continuations.c:455 #26 0x00007ffff0d603a5 in scm_c_with_continuation_barrier (func=<optimized out>, data=<optimized out>) at continuations.c:551 #27 0x00007ffff0de0afc in with_guile_and_parent (base=base@entry=0x7fffffffd6a0, data=data@entry=0x7fffffffd6d0) at threads.c: 906 #28 0x00007ffff09c0352 in GC_call_with_stack_base (fn=fn@entry=0x7ffff0de0ab0 <with_guile_and_parent>, arg=arg@entry=0x7fffffffd6d0) at misc.c:1845 #29 0x00007ffff0de0f28 in scm_i_with_guile_and_parent (parent=<optimized out>, data=0x7fffffffd6d0, func=0x7ffff0d87420 <invoke_main_func>) at threads.c:949 #30 0x00007ffff0de0f28 in scm_with_guile (func=func@entry=0x7ffff0d87420 <invoke_main_func>, data=data@entry=0x7fffffffd700) at threads.c:955 #31 0x00007ffff0d87632 in scm_boot_guile (argc=1, argv=0x7fffffffd888, main_func=0x4056b8 <inner_main>, closure=0x0) at init.c:324 #32 0x0000000000405c6e in main (argc=1, argv=0x7fffffffd888) at /kobaltnet/ janssege-development/gnucash/gnucash-master-remote/src/bin/gnucash-bin.c:826 Probably a side effect of the save failing in the first place, causing the code to follow a path is normally never would. Geert _______________________________________________ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel