GnuCash
Contact   Instructions
Bug 797518 - 3.7 Opening another file and cancelling on unsaved transaction hangs/crashes
Summary: 3.7 Opening another file and cancelling on unsaved transaction hangs/crashes
Status: RESOLVED DUPLICATE of bug 797481
Alias: None
Product: GnuCash
Classification: Unclassified
Component: General (show other bugs)
Version: 3.7
Hardware: PC Linux
: Normal critical
Target Milestone: ---
Assignee: general
QA Contact: general
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-12-06 05:33 EST by obscurans
Modified: 2020-03-27 18:04 EDT (History)
3 users (show)

See Also:


Attachments
tracefile (3.81 MB, text/plain)
2019-12-06 05:33 EST, obscurans
no flags Details

Description obscurans 2019-12-06 05:33:11 EST
Created attachment 373471 [details]
tracefile

Repro:

1. have an uncommitted edit to a transaction
2. attempt to open a different file (I used the recently-used list)
3. warning pops about the unsaved transaction - choose cancel
4. same warning pops again - cancel again
5. gnucash hangs (was on an account window, that window blanked all cells except for the new transaction date, probably where the cursor already was)
6. crashes after ~1 min
7. on restart, it complains about being unable to obtain lock on the *newly opened* file
8. lock on initial file is released
9. uncommitted edit is discarded

stderr:
sys:1: Warning: g_object_ref: assertion 'G_IS_OBJECT (object)' failed
sys:1: Warning: g_object_freeze_notify: assertion 'G_IS_OBJECT (object)' failed
sys:1: Warning: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
sys:1: Warning: g_object_notify: assertion 'G_IS_OBJECT (object)' failed
sys:1: Warning: g_object_thaw_notify: assertion 'G_IS_OBJECT (object)' failed
Segmentation fault (core dumped)

Perversely, one run of gnucash --debug produced only segfault message on crash. Above stderr results from both plain gnucash and --debug.

On multiple repros, the duration of hang varies widely - one run managed to fully open the new file up through showing a valid Accounts window before crashing a few seconds later (that trace is attached).

Related:
1. for extra fun, attempt to open the exact same file - after the double cancel there is no hang/crash
2. on one run, the offending account window is reopened, with zero transactions
3. this is not data corruption, only the window display (reopening the account from Accounts shows no data loss)

stderr:
sys:1: Warning: g_hash_table_lookup: assertion 'hash_table != NULL' failed
sys:1: Warning: g_hash_table_insert_internal: assertion 'hash_table != NULL' failed

Trace attached of a crashing run. Timestamp on my terminal post-crash is 02:12:23
Comment 1 John Ralls 2020-01-21 13:00:34 EST
This looks like bug 797481. To confirm, please make a stack trace (https://wiki.gnucash.org/wiki/Stack_Trace) and attach it.
Comment 2 John Ralls 2020-03-27 18:04:52 EDT
Consolidating with bug 797481 having received no stack trace.

*** This bug has been marked as a duplicate of bug 797481 ***

Note You need to log in before you can comment on or make changes to this bug.