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 606676 - balsa-2.4.2 crash when entering address in new mail (GPE backend)
balsa-2.4.2 crash when entering address in new mail (GPE backend)
Status: RESOLVED FIXED
Product: balsa
Classification: Other
Component: general
unspecified
Other Linux
: Normal critical
: ---
Assigned To: Balsa Maintainers
Balsa Maintainers
Depends on:
Blocks:
 
 
Reported: 2010-01-11 21:34 UTC by Stanislav Brabec
Modified: 2010-01-12 01:07 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
libbalsa-gpe-corruption.patch (457 bytes, patch)
2010-01-11 22:42 UTC, Stanislav Brabec
none Details | Review

Description Stanislav Brabec 2010-01-11 21:34:29 UTC
When trying to enter e-mail address to the new mail, balsa crashes.

Distribution: Angstrom, OpenEmbedded unstable build
Platform: arm-angstrom-linux-gnueabi

Backtrace seems to indicate invalid free() in GPE backend:
  • #0 *__GI_raise
    at ../nptl/sysdeps/unix/sysv/linux/raise.c line 67
  • #1 *__GI_abort
    at abort.c line 88
  • #2 __libc_message
    at ../sysdeps/unix/sysv/linux/libc_fatal.c line 170
  • #3 malloc_printerr
  • #4 _int_free
    at malloc.c line 4619
  • #5 *__GI___libc_free
    at malloc.c line 3625
  • #6 libbalsa_address_book_gpe_alias_complete
    at address-book-gpe.c line 795
  • #7 libbalsa_address_book_alias_complete
    at address-book.c line 252
  • #8 lbav_get_matching_addresses
    at address-view.c line 167
  • #9 lbav_entry_setup_matches
    at address-view.c line 231
  • #10 lbav_entry_changed_cb
    at address-view.c line 571
  • #11 IA__g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 77
  • #12 IA__g_closure_invoke
    at gclosure.c line 767
  • #13 signal_emit_unlocked_R
    at gsignal.c line 3247
  • #14 IA__g_signal_emit_valist
    at gsignal.c line 2980
  • #15 IA__g_signal_emit_by_name
    at gsignal.c line 3074
  • #16 emit_changed
    at gtkentry.c line 2395
  • #17 buffer_notify_text
    at gtkentry.c line 4639
  • #18 IA__g_cclosure_marshal_VOID__PARAM
    at gmarshal.c line 531
  • #19 IA__g_closure_invoke
    at gclosure.c line 767
  • #20 signal_emit_unlocked_R
    at gsignal.c line 3247
  • #21 IA__g_signal_emit_valist
    at gsignal.c line 2980
  • #22 IA__g_signal_emit
    at gsignal.c line 3037
  • #23 g_object_dispatch_properties_changed
    at gobject.c line 770
  • #24 g_object_notify_dispatcher
    at gobject.c line 312
  • #25 g_object_notify_queue_thaw
    at gobjectnotifyqueue.c line 125
  • #26 IA__g_object_notify
    at gobject.c line 857
  • #27 gtk_entry_buffer_real_inserted_text
    at gtkentrybuffer.c line 229
  • #28 _gtk_marshal_VOID__UINT_STRING_UINT
    at gtkmarshalers.c line 3129
  • #29 g_type_class_meta_marshal
    at gclosure.c line 878
  • #30 IA__g_closure_invoke
    at gclosure.c line 767
  • #31 signal_emit_unlocked_R
    at gsignal.c line 3177
  • #32 IA__g_signal_emit_valist
    at gsignal.c line 2980
  • #33 IA__g_signal_emit
    at gsignal.c line 3037
  • #34 IA__gtk_entry_buffer_emit_inserted_text
    at gtkentrybuffer.c line 731
  • #35 gtk_entry_buffer_normal_insert_text
    at gtkentrybuffer.c line 180
  • #36 IA__gtk_entry_buffer_insert_text
    at gtkentrybuffer.c line 667
  • #37 gtk_entry_real_insert_text
    at gtkentry.c line 4526
  • #38 _gtk_marshal_VOID__STRING_INT_POINTER
    at gtkmarshalers.c line 2811
  • #39 g_type_iface_meta_marshal
    at gclosure.c line 901
  • #40 IA__g_closure_invoke
    at gclosure.c line 767
  • #41 signal_emit_unlocked_R
    at gsignal.c line 3285
  • #42 IA__g_signal_emit_valist
    at gsignal.c line 2980
  • #43 IA__g_signal_emit_by_name
    at gsignal.c line 3074
  • #44 gtk_entry_insert_text
    at gtkentry.c line 4263
  • #45 IA__gtk_editable_insert_text
    at gtkeditable.c line 172
  • #46 lbav_insert_text_cb
    at address-view.c line 637
  • #47 _gtk_marshal_VOID__STRING_INT_POINTER
    at gtkmarshalers.c line 2811
  • #48 IA__g_closure_invoke
    at gclosure.c line 767
  • #49 signal_emit_unlocked_R
    at gsignal.c line 3247
  • #50 IA__g_signal_emit_valist
    at gsignal.c line 2980
  • #51 IA__g_signal_emit_by_name
    at gsignal.c line 3074
  • #52 gtk_entry_insert_text
    at gtkentry.c line 4263
  • #53 IA__gtk_editable_insert_text
    at gtkeditable.c line 172
  • #54 gtk_entry_enter_text
    at gtkentry.c line 5205
  • #55 gtk_entry_commit_cb
    at gtkentry.c line 5128
  • #56 IA__g_cclosure_marshal_VOID__STRING
    at gmarshal.c line 496
  • #57 IA__g_closure_invoke
    at gclosure.c line 767
  • #58 signal_emit_unlocked_R
    at gsignal.c line 3247
  • #59 IA__g_signal_emit_valist
    at gsignal.c line 2980
  • #60 IA__g_signal_emit_by_name
    at gsignal.c line 3074
  • #61 gtk_im_multicontext_commit_cb
    at gtkimmulticontext.c line 458
  • #62 IA__g_cclosure_marshal_VOID__STRING
    at gmarshal.c line 496
  • #63 IA__g_closure_invoke
    at gclosure.c line 767
  • #64 signal_emit_unlocked_R
    at gsignal.c line 3247
  • #65 IA__g_signal_emit_valist
    at gsignal.c line 2980
  • #66 IA__g_signal_emit_by_name
    at gsignal.c line 3074
  • #67 gtk_im_context_simple_commit_char
    at gtkimcontextsimple.c line 167
  • #68 no_sequence_matches
    at gtkimcontextsimple.c line 727
  • #69 gtk_im_context_simple_filter_keypress
    at gtkimcontextsimple.c line 1033
  • #70 IA__gtk_im_context_filter_keypress
    at gtkimcontext.c line 473
  • #71 gtk_im_multicontext_filter_keypress
    at gtkimmulticontext.c line 325
  • #72 IA__gtk_im_context_filter_keypress
    at gtkimcontext.c line 473
  • #73 gtk_entry_key_press
    at gtkentry.c line 4053
  • #74 _gtk_marshal_BOOLEAN__BOXED
    at gtkmarshalers.c line 84
  • #75 g_type_class_meta_marshal
    at gclosure.c line 878
  • #76 IA__g_closure_invoke
    at gclosure.c line 767
  • #77 signal_emit_unlocked_R
    at gsignal.c line 3285
  • #78 IA__g_signal_emit_valist
    at gsignal.c line 2990
  • #79 IA__g_signal_emit
    at gsignal.c line 3037
  • #80 gtk_widget_event_internal
    at gtkwidget.c line 4767
  • #81 IA__gtk_widget_event
    at gtkwidget.c line 4564
  • #82 IA__gtk_window_propagate_key_event
    at gtkwindow.c line 5144
  • #83 gtk_window_key_press_event
    at gtkwindow.c line 5174
  • #84 _gtk_marshal_BOOLEAN__BOXED
    at gtkmarshalers.c line 84
  • #85 g_type_class_meta_marshal
    at gclosure.c line 878
  • #86 IA__g_closure_invoke
    at gclosure.c line 767
  • #87 signal_emit_unlocked_R
    at gsignal.c line 3285
  • #88 IA__g_signal_emit_valist
    at gsignal.c line 2990
  • #89 IA__g_signal_emit
    at gsignal.c line 3037
  • #90 gtk_widget_event_internal
    at gtkwidget.c line 4767
  • #91 IA__gtk_widget_event
    at gtkwidget.c line 4564
  • #92 IA__gtk_propagate_event
    at gtkmain.c line 2391
  • #93 IA__gtk_main_do_event
    at gtkmain.c line 1622
  • #94 gtkstylus_event
    at gtkstylus.c line 310
  • #95 gdk_event_dispatch
    at gdkevents-x11.c line 2369
  • #96 g_main_dispatch
    at gmain.c line 1960
  • #97 IA__g_main_context_dispatch
    at gmain.c line 2513
  • #98 g_main_context_iterate
    at gmain.c line 2591
  • #99 IA__g_main_loop_run
    at gmain.c line 2799
  • #100 IA__gtk_main
    at gtkmain.c line 1218
  • #101 main
    at main.c line 1155

Comment 1 Stanislav Brabec 2010-01-11 22:42:38 UTC
Created attachment 151202 [details] [review]
libbalsa-gpe-corruption.patch

Possible fix. It seems to fix the crash.
Comment 2 Peter Bloomfield 2010-01-12 01:07:42 UTC
Thanks for the report!  Indeed, <url:http://www.sqlite.org/c3ref/exec.html> states quite clearly that the error string should be freed with sqlite3_free().  I guess free() was OK for a while, but we keep getting more careful about memory management :)

Resolving as FIXED...

Peter