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 702959 - [abrt] Abort under settings_mail_formatter_headers_changed_cb()
[abrt] Abort under settings_mail_formatter_headers_changed_cb()
Status: RESOLVED OBSOLETE
Product: evolution
Classification: Applications
Component: Mailer
3.8.x (obsolete)
Other Linux
: Normal critical
: ---
Assigned To: evolution-mail-maintainers
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2013-06-24 11:07 UTC by Milan Crha
Modified: 2014-07-29 09:31 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
evo patch (838 bytes, patch)
2014-07-29 09:30 UTC, Milan Crha
reviewed Details | Review

Description Milan Crha 2013-06-24 11:07:10 UTC
Moving this from a downstream bug report:
https://bugzilla.redhat.com/show_bug.cgi?id=976807

Version-Release number of selected component:
evolution-3.8.3-1.fc19

Additional info:
reporter:       libreport-2.1.5
backtrace_rating: 4
cmdline:        evolution
crash_function: g_thread_abort
executable:     /usr/bin/evolution
kernel:         3.10.0-0.rc6.git0.1.fc20.x86_64

Core was generated by `evolution'.
Program terminated with signal 6, Aborted.

Thread 1 (Thread 0x7f4335736a40 (LWP 11142))

  • #0 __GI_raise
    at ../nptl/sysdeps/unix/sysv/linux/raise.c line 56
  • #1 __GI_abort
    at abort.c line 90
  • #2 g_thread_abort
    at gthread-posix.c line 76
  • #3 g_mutex_lock
    at gthread-posix.c line 211
  • #4 e_mail_formatter_add_header
    at e-mail-formatter.c line 1524
  • #5 settings_mail_formatter_headers_changed_cb
    at e-settings-mail-formatter.c line 74
  • #6 g_cclosure_marshal_VOID__STRINGv
    at gmarshal.c line 1004
  • #7 _g_closure_invoke_va
    at gclosure.c line 840
  • #8 g_signal_emit_valist
    at gsignal.c line 3234
  • #9 g_signal_emit
    at gsignal.c line 3384
  • #10 g_settings_real_change_event
    at gsettings.c line 288
  • #11 ffi_call_unix64
    at ../src/x86/unix64.S line 76
  • #12 ffi_call
    at ../src/x86/ffi64.c line 522
  • #13 g_cclosure_marshal_generic_va
    at gclosure.c line 1550
  • #14 _g_closure_invoke_va
    at gclosure.c line 840
  • #15 g_signal_emit_valist
    at gsignal.c line 3234
  • #16 g_signal_emit
    at gsignal.c line 3384
  • #17 settings_backend_path_changed
    at gsettings.c line 363
  • #18 g_settings_backend_invoke_closure
    at gsettingsbackend.c line 271
  • #19 g_main_dispatch
    at gmain.c line 3054
  • #20 g_main_context_dispatch
    at gmain.c line 3630
  • #21 g_main_context_iterate
    at gmain.c line 3701
  • #22 g_main_loop_run
    at gmain.c line 3895
  • #23 gtk_main
    at gtkmain.c line 1156
  • #24 main
    at main.c line 707

Comment 1 Matthew Barnes 2013-06-24 11:38:38 UTC
This is obsolete in 3.9.  I rewrote all that code.
Comment 2 Milan Crha 2014-07-29 09:30:55 UTC
Created attachment 281928 [details] [review]
evo patch

for evolution;

You are right, this is obsolete in current code, there is absolutely no checking of changes, thus invalid change notifications from GSettings causes unnecessary UI updates and has other such side effects.

Anyway, the bug was that there was not checked whether the old labels list is shorter than the new list of headers, which made NULL dereferences (the 'list' was NULL here, when there was added a new header to the list. This patch is here for anyone interested.