After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 637041 - Latest SVN Segmentation fault (core dumped) on
Latest SVN Segmentation fault (core dumped) on
Status: RESOLVED DUPLICATE of bug 635439
Product: GnuCash
Classification: Other
Component: Business
git-master
Other Linux
: Normal critical
: ---
Assigned To: Derek Atkins
Derek Atkins
Depends on:
Blocks:
 
 
Reported: 2010-12-11 18:47 UTC by Bob Brush
Modified: 2018-06-29 22:49 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Bob Brush 2010-12-11 18:47:49 UTC
* 13:46:37  CRIT <gnc.business.gnome> gnc_business_commodities: assertion `gncOwnerGetCurrency(owner)' failed
* 13:46:37  CRIT <gnc.business.gnome> gnc_business_commodities: assertion `gncOwnerGetCurrency(owner)' failed
* 13:46:39  CRIT <gnc.business.gnome> gnc_business_commodities: assertion `gncOwnerGetCurrency(owner)' failed
* 13:46:39  CRIT <gnc.business.gnome> gnc_business_commodities: assertion `gncOwnerGetCurrency(owner)' failed
Comment 1 Bob Brush 2010-12-11 18:53:49 UTC
* 13:50:21  WARN <gnc.backend.dbi> [gnc_module_init_backend_dbi()] No DBD drivers found
* 13:52:04  CRIT <gnc.business.gnome> gnc_business_commodities: assertion `gncOwnerGetCurrency(owner)' failed
* 13:52:04  CRIT <gnc.business.gnome> gnc_business_commodities: assertion `gncOwnerGetCurrency(owner)' failed
* 13:52:43  WARN <gnc.engine> Multiple pre-payment lots are found.  Skipping.
* 13:52:43  WARN <gnc.engine> Multiple pre-payment lots are found.  Skipping.
* 13:52:43  WARN <gnc.engine> Multiple pre-payment lots are found.  Skipping.
* 13:52:43  WARN <gnc.engine> Multiple pre-payment lots are found.  Skipping.
* 13:52:43  WARN <gnc.engine> Multiple pre-payment lots are found.  Skipping.
* 13:52:53  CRIT <gnc.business.gnome> gnc_business_commodities: assertion `gncOwnerGetCurrency(owner)' failed
* 13:52:53  CRIT <gnc.business.gnome> gnc_business_commodities: assertion `gncOwnerGetCurrency(owner)' failed
* 13:52:57  CRIT <gnc.business.gnome> gnc_owner_set_owner: assertion `owner != NULL' failed
* 13:52:57  CRIT <gnc.business.gnome> gnc_business_commodities: assertion `gncOwnerGetCurrency(owner)' failed
Comment 2 Bob Brush 2010-12-11 19:01:02 UTC
>>Business>>Vendor>>Process Payment
Carefully place cursor over the field to the left of a button saying "Bill"
Click just once, you can see the cursor is in the field
Now click anywhere else on the form, or for that matter the screen
Bang!!  no more gnucash..
Comment 3 Derek Atkins 2010-12-13 13:36:27 UTC
Any chance you could get a Stack Trace?   See http://wiki.gnucash.org/wiki/Stack_Trace
Comment 4 Bob Brush 2010-12-14 15:12:36 UTC
Program received signal SIGSEGV, Segmentation fault.
0x05cd3669 in gnc_payment_dialog_invoice_changed (pw=0xa7793d0)
    at dialog-payment.c:119
119	        if (pw->owner.owner.undefined == NULL || pw->owner.owner.undefined != owner->owner.undefined)
(gdb) bt
  • #0 gnc_payment_dialog_invoice_changed
    at dialog-payment.c line 119
  • #1 gnc_payment_dialog_invoice_changed_cb
    at dialog-payment.c line 256
  • #2 g_cclosure_marshal_VOID__VOID
    from /lib/libgobject-2.0.so.0
  • #3 g_closure_invoke
    from /lib/libgobject-2.0.so.0
  • #4 ??
    from /lib/libgobject-2.0.so.0
  • #5 g_signal_emit_valist
    from /lib/libgobject-2.0.so.0
  • #6 g_signal_emit
    from /lib/libgobject-2.0.so.0
  • #7 gnc_general_search_set_selected
    at gnc-general-search.c line 530
  • #8 gnc_gsl_focus_out_cb
    at gnc-general-search.c line 375
  • #9 ??
    from /usr/lib/libgtk-x11-2.0.so.0
  • #10 g_closure_invoke
    from /lib/libgobject-2.0.so.0
  • #11 ??
    from /lib/libgobject-2.0.so.0
  • #12 g_signal_emit_valist
    from /lib/libgobject-2.0.so.0
  • #13 g_signal_emit
    from /lib/libgobject-2.0.so.0
  • #14 ??
    from /usr/lib/libgtk-x11-2.0.so.0
  • #15 gtk_widget_send_focus_change
    from /usr/lib/libgtk-x11-2.0.so.0
  • #16 ??
    from /usr/lib/libgtk-x11-2.0.so.0

Comment 5 Bob Brush 2010-12-14 15:14:06 UTC
Program received signal SIGSEGV, Segmentation fault.
0x05cd3669 in gnc_payment_dialog_invoice_changed (pw=0xa7793d0)
    at dialog-payment.c:119
119	        if (pw->owner.owner.undefined == NULL || pw->owner.owner.undefined != owner->owner.undefined)
(gdb) bt
  • #0 gnc_payment_dialog_invoice_changed
    at dialog-payment.c line 119
  • #1 gnc_payment_dialog_invoice_changed_cb
    at dialog-payment.c line 256
  • #2 g_cclosure_marshal_VOID__VOID
    from /lib/libgobject-2.0.so.0
  • #3 g_closure_invoke
    from /lib/libgobject-2.0.so.0
  • #4 ??
    from /lib/libgobject-2.0.so.0
  • #5 g_signal_emit_valist
    from /lib/libgobject-2.0.so.0
  • #6 g_signal_emit
    from /lib/libgobject-2.0.so.0
  • #7 gnc_general_search_set_selected
    at gnc-general-search.c line 530
  • #8 gnc_gsl_focus_out_cb
    at gnc-general-search.c line 375
  • #9 ??
    from /usr/lib/libgtk-x11-2.0.so.0
  • #10 g_closure_invoke
    from /lib/libgobject-2.0.so.0
  • #11 ??
    from /lib/libgobject-2.0.so.0
  • #12 g_signal_emit_valist
    from /lib/libgobject-2.0.so.0
  • #13 g_signal_emit
    from /lib/libgobject-2.0.so.0
  • #14 ??
    from /usr/lib/libgtk-x11-2.0.so.0
  • #15 gtk_widget_send_focus_change
    from /usr/lib/libgtk-x11-2.0.so.0
  • #16 ??
    from /usr/lib/libgtk-x11-2.0.so.0
  • #17 ??
    from /usr/lib/libgtk-x11-2.0.so.0
  • #18 g_cclosure_marshal_VOID__OBJECT
    from /lib/libgobject-2.0.so.0
  • #19 ??
    from /lib/libgobject-2.0.so.0
  • #20 g_closure_invoke
    from /lib/libgobject-2.0.so.0
  • #21 ??
    from /lib/libgobject-2.0.so.0
  • #22 g_signal_emit_valist
    from /lib/libgobject-2.0.so.0
  • #23 g_signal_emit
    from /lib/libgobject-2.0.so.0
  • #24 ??
    from /usr/lib/libgtk-x11-2.0.so.0
  • #25 ??
    from /usr/lib/libgtk-x11-2.0.so.0
  • #26 ??
    from /usr/lib/libgtk-x11-2.0.so.0
  • #27 g_cclosure_marshal_VOID__VOID
    from /lib/libgobject-2.0.so.0
  • #28 ??
    from /lib/libgobject-2.0.so.0
  • #29 g_closure_invoke
    from /lib/libgobject-2.0.so.0
  • #30 ??
    from /lib/libgobject-2.0.so.0
  • #31 g_signal_emit_valist
    from /lib/libgobject-2.0.so.0
  • #32 g_signal_emit
    from /lib/libgobject-2.0.so.0
  • #33 gtk_widget_grab_focus
    from /usr/lib/libgtk-x11-2.0.so.0
  • #34 ??
    from /usr/lib/libgtk-x11-2.0.so.0
  • #35 ??
    from /usr/lib/libgtk-x11-2.0.so.0
  • #36 ??
    from /lib/libgobject-2.0.so.0
  • #37 g_closure_invoke
    from /lib/libgobject-2.0.so.0
  • #38 ??
    from /lib/libgobject-2.0.so.0
  • #39 g_signal_emit_valist
    from /lib/libgobject-2.0.so.0
  • #40 g_signal_emit
    from /lib/libgobject-2.0.so.0
  • #41 ??
    from /usr/lib/libgtk-x11-2.0.so.0
  • #42 gtk_propagate_event
    from /usr/lib/libgtk-x11-2.0.so.0
  • #43 gtk_main_do_event
    from /usr/lib/libgtk-x11-2.0.so.0
  • #44 ??
    from /usr/lib/libgdk-x11-2.0.so.0
  • #45 g_main_context_dispatch
    from /lib/libglib-2.0.so.0
  • #46 ??
    from /lib/libglib-2.0.so.0
  • #47 g_main_loop_run
    from /lib/libglib-2.0.so.0
  • #48 gtk_main
    from /usr/lib/libgtk-x11-2.0.so.0
  • #49 gnc_ui_start_event_loop
    at gnc-gnome-utils.c line 601
  • #50 inner_main
    at gnucash-bin.c line 727
  • #51 ??
    from /usr/lib/libguile.so.17
  • #52 ??
    from /usr/lib/libguile.so.17
  • #53 scm_c_catch
    from /usr/lib/libguile.so.17
  • #54 scm_i_with_continuation_barrier
    from /usr/lib/libguile.so.17
  • #55 scm_c_with_continuation_barrier
    from /usr/lib/libguile.so.17
  • #56 scm_i_with_guile_and_parent
    from /usr/lib/libguile.so.17
  • #57 scm_with_guile
    from /usr/lib/libguile.so.17
  • #58 scm_boot_guile
    from /usr/lib/libguile.so.17
  • #59 main
    at gnucash-bin.c line 871

Comment 6 Bob Brush 2010-12-16 04:05:59 UTC
R19850 does not have this problem, I'll check for other versions I have laying around..
Comment 7 Bob Brush 2010-12-16 04:26:08 UTC
R19910 does have this bug, if that helps..
Comment 8 Bob Brush 2010-12-16 05:34:29 UTC
R19860 is the last version to work for me
R19861 is the first version this bug shows up

I hope this is helpful..
Comment 9 Derek Atkins 2010-12-16 13:43:06 UTC
Thanks.  That's the patch that was included to fix Bug #635439
Comment 10 Matthijs Kooijman 2010-12-16 13:45:38 UTC
Hmm, that's my patch. I'll try to investigate tonight or tomorrow.
Comment 11 Christian Stimming 2010-12-16 21:45:53 UTC
Dear Matthijs, I now realized my decision to apply your patch from bug#635439 was probably a bit too fast *for this point in time*. As we are now targetting towards the 2.4.0 release very soon and as the code you touched seems to be much more fragile than initially expected, I decided to revert your patch for now and schedule it to be applied right after the 2.4.0 release is out. I'll attach an appropriate patch to bug#635439 to get the feature back in, but reverting for sure gets rid of any time pressure on you or us concerning this crasher. Sorry for that.

*** This bug has been marked as a duplicate of bug 635439 ***
Comment 12 Matthijs Kooijman 2010-12-16 22:06:38 UTC
Sounds like a good plan!
Comment 13 Matthijs Kooijman 2011-01-02 14:39:17 UTC
I've been trying to fix my patch to prevent this bug, but I can't quite reproduce this here. I've tried a recent trunk revision with my patch applied, as well as running a clean r19909 (before it got reverted). I don't see this crash with either.

Also, I can't completely apply your instructions for reproducing this crash:

> >>Business>>Vendor>>Process Payment
OK

> Carefully place cursor over the field to the left of a button saying "Bill"
I don't have any buttons saying "Bill" in this dialog. I only see a single label saying "Bill", followed horizontally by in input box and a button labeled "Select...". Do you mean to put the cursor over this input box?

> Click just once, you can see the cursor is in the field
So you just put the cursor in the field, but don't actually select or type anything?

> Now click anywhere else on the form, or for that matter the screen
> Bang!!  no more gnucash..

That doesn't seem to happen for me...

There might be something specific with your gnucash accounts file (perhaps a weird or corrupted bill, in particular one that has an empty invoice ID?). It might help if you could send over your gnucash file, could test with a new and empty file, or could look over the gnucash file yourself to see if there is anything weird (look for "<invoice:id></invoice:id>").
Comment 14 Bob Brush 2011-01-02 20:06:31 UTC
>>Do you mean to put the cursor over this input box?
Yes
>>So you just put the cursor in the field, but don't actually select or type
anything?
Yes

>>There might be something specific with your gnucash accounts file (perhaps a
weird or corrupted bill, in particular one that has an empty invoice ID?)

It could be, I'll try and find out if it is related, if it is something in the file, could we make a handler for cases such as that, or is it better to figure out how they got introduced in the first place and implement a bug fix in that area instead, I don't know which way is considered better software development.

Send me an email with your information and I'll set up a remote desktop scenario/call.  I like your improvement very much and would like to see it back again soon..
Comment 15 John Ralls 2018-06-29 22:49:21 UTC
GnuCash bug tracking has moved to a new Bugzilla host. This bug has been copied to https://bugs.gnucash.org/show_bug.cgi?id=637041. Please update any external references or bookmarks.