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 728414 - [abrt] Deliver ESource data changes on idle
[abrt] Deliver ESource data changes on idle
Status: RESOLVED FIXED
Product: evolution
Classification: Applications
Component: Mailer
3.10.x (obsolete)
Other Linux
: Normal critical
: ---
Assigned To: evolution-mail-maintainers
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2014-04-17 11:24 UTC by Milan Crha
Modified: 2014-05-02 14:10 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Milan Crha 2014-04-17 11:24:08 UTC
Moving this from a downstream bug report:
https://bugzilla.redhat.com/show_bug.cgi?id=1071544

Description of problem:
Changed settings

Version-Release number of selected component:
evolution-3.11.90-2.fc21

Additional info:
reporter:       libreport-2.1.12
backtrace_rating: 4
cmdline:        evolution
crash_function: apply_and_free_fixups
executable:     /usr/bin/evolution
kernel:         3.14.0-0.rc4.git1.1.fc21.x86_64

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

Thread 19 (Thread 0x7f8c27764a40 (LWP 21171))

  • #0 _dbus_string_init_preallocated
    at dbus-string.c line 134
  • #1 _dbus_string_init
    at dbus-string.c line 177
  • #2 replacement_block_init
    at dbus-marshal-recursive.c line 1142
  • #3 reader_set_basic_variable_length
    at dbus-marshal-recursive.c line 1280
  • #4 _dbus_type_reader_set_basic
    at dbus-marshal-recursive.c line 1394
  • #5 set_basic_field
    at dbus-marshal-header.c line 371
  • #6 _dbus_header_set_field_basic
    at dbus-marshal-header.c line 1291
  • #7 _dbus_message_iter_close_signature
    at dbus-message.c line 2465
  • #8 _dbus_message_iter_close_signature
    at dbus-message.c line 2456
  • #9 dbus_message_iter_close_container
    at dbus-message.c line 2855
  • #10 emit_event
    at event.c line 529
  • #11 state_event_listener
    at event.c line 688
  • #12 signal_emit_unlocked_R
    at gsignal.c line 3517
  • #13 g_signal_emit_valist
    at gsignal.c line 3307
  • #14 g_signal_emit
    at gsignal.c line 3363
  • #15 gtk_accessible_set_widget
    at gtkaccessible.c line 192
  • #16 gtk_widget_real_destroy
    at gtkwidget.c line 11515
  • #17 g_closure_invoke
    at gclosure.c line 768
  • #18 signal_emit_unlocked_R
    at gsignal.c line 3667
  • #19 g_signal_emit_valist
    at gsignal.c line 3307
  • #20 g_signal_emit
    at gsignal.c line 3363
  • #21 gtk_widget_dispose
    at gtkwidget.c line 11348
  • #22 g_object_run_dispose
    at gobject.c line 1073
  • #23 gtk_box_forall
    at gtkbox.c line 2541
  • #24 gtk_container_destroy
    at gtkcontainer.c line 1409
  • #25 g_closure_invoke
    at gclosure.c line 768
  • #26 signal_emit_unlocked_R
    at gsignal.c line 3667
  • #27 g_signal_emit_valist
    at gsignal.c line 3307
  • #28 g_signal_emit
    at gsignal.c line 3363
  • #29 gtk_widget_dispose
    at gtkwidget.c line 11348
  • #30 g_object_run_dispose
    at gobject.c line 1073
  • #31 gtk_box_forall
    at gtkbox.c line 2541
  • #32 gtk_container_destroy
    at gtkcontainer.c line 1409
  • #33 g_closure_invoke
    at gclosure.c line 768
  • #34 signal_emit_unlocked_R
    at gsignal.c line 3667
  • #35 g_signal_emit_valist
    at gsignal.c line 3307
  • #36 g_signal_emit
    at gsignal.c line 3363
  • #37 gtk_widget_dispose
    at gtkwidget.c line 11348
  • #38 g_object_run_dispose
    at gobject.c line 1073
  • #39 gtk_notebook_forall
    at gtknotebook.c line 4562
  • #40 gtk_container_destroy
    at gtkcontainer.c line 1409
  • #41 g_closure_invoke
    at gclosure.c line 768
  • #42 signal_emit_unlocked_R
    at gsignal.c line 3667
  • #43 g_signal_emit_valist
    at gsignal.c line 3307
  • #44 g_signal_emit
    at gsignal.c line 3363
  • #45 gtk_widget_dispose
    at gtkwidget.c line 11348
  • #46 g_object_run_dispose
    at gobject.c line 1073
  • #47 gtk_grid_forall
    at gtkgrid.c line 549
  • #48 gtk_container_destroy
    at gtkcontainer.c line 1409
  • #49 g_closure_invoke
    at gclosure.c line 768
  • #50 signal_emit_unlocked_R
    at gsignal.c line 3667
  • #51 g_signal_emit_valist
    at gsignal.c line 3307
  • #52 g_signal_emit
    at gsignal.c line 3363
  • #53 gtk_widget_dispose
    at gtkwidget.c line 11348
  • #54 g_object_run_dispose
    at gobject.c line 1073
  • #55 gtk_box_forall
    at gtkbox.c line 2541
  • #56 gtk_container_destroy
    at gtkcontainer.c line 1409
  • #57 g_closure_invoke
    at gclosure.c line 768
  • #58 signal_emit_unlocked_R
    at gsignal.c line 3667
  • #59 g_signal_emit_valist
    at gsignal.c line 3307
  • #60 g_signal_emit
    at gsignal.c line 3363
  • #61 gtk_widget_dispose
    at gtkwidget.c line 11348
  • #62 g_object_run_dispose
    at gobject.c line 1073
  • #63 gtk_window_forall
    at gtkwindow.c line 8082
  • #64 gtk_container_destroy
    at gtkcontainer.c line 1409
  • #65 g_closure_invoke
    at gclosure.c line 768
  • #66 signal_emit_unlocked_R
    at gsignal.c line 3667
  • #67 g_signal_emit_valist
    at gsignal.c line 3307
  • #68 g_signal_emit
    at gsignal.c line 3363
  • #69 gtk_widget_dispose
    at gtkwidget.c line 11348
  • #70 g_object_run_dispose
    at gobject.c line 1073
  • #71 gtk_widget_destroy
    at gtkwidget.c line 4323
  • #72 mail_config_window_commit_cb
    at e-mail-config-window.c line 169
  • #73 g_simple_async_result_complete
    at gsimpleasyncresult.c line 763
  • #74 mail_config_notebook_page_submit_cb
    at e-mail-config-notebook.c line 729
  • #75 g_simple_async_result_complete
    at gsimpleasyncresult.c line 763
  • #76 complete_in_idle_cb
    at gsimpleasyncresult.c line 775
  • #77 g_main_dispatch
    at gmain.c line 3066
  • #78 g_main_context_dispatch
    at gmain.c line 3641
  • #79 g_main_context_iterate
    at gmain.c line 3712
  • #80 g_main_loop_run
    at gmain.c line 3906
  • #81 gtk_main
    at gtkmain.c line 1192
  • #82 main
    at main.c line 680

Thread 1 (Thread 0x7f8c1e4a7700 (LWP 21176))

  • #0 __GI_raise
    at ../nptl/sysdeps/unix/sysv/linux/raise.c line 56
  • #1 __GI_abort
    at abort.c line 89
  • #2 __libc_message
    at ../sysdeps/posix/libc_fatal.c line 175
  • #3 malloc_printerr
  • #4 _int_free
    at malloc.c line 3834
  • #5 apply_and_free_fixups
    at dbus-marshal-recursive.c line 113
  • #6 replacement_block_replace
    at dbus-marshal-recursive.c line 1227
  • #7 reader_set_basic_variable_length
    at dbus-marshal-recursive.c line 1300
  • #8 _dbus_type_reader_set_basic
    at dbus-marshal-recursive.c line 1394
  • #9 set_basic_field
    at dbus-marshal-header.c line 371
  • #10 _dbus_header_set_field_basic
    at dbus-marshal-header.c line 1291
  • #11 _dbus_message_iter_close_signature
    at dbus-message.c line 2465
  • #12 _dbus_message_iter_close_signature
    at dbus-message.c line 2456
  • #13 dbus_message_iter_append_basic
    at dbus-message.c line 2671
  • #14 emit_event
    at event.c line 505
  • #15 state_event_listener
    at event.c line 688
  • #16 signal_emit_unlocked_R
    at gsignal.c line 3517
  • #17 g_signal_emit_valist
    at gsignal.c line 3307
  • #18 g_signal_emit
    at gsignal.c line 3363
  • #19 atk_object_notify_state_change
    at atkobject.c line 1304
  • #20 gtk_toggle_button_accessible_notify_gtk
    at gtktogglebuttonaccessible.c line 73
  • #21 g_closure_invoke
    at gclosure.c line 768
  • #22 signal_emit_unlocked_R
    at gsignal.c line 3551
  • #23 g_signal_emit_valist
    at gsignal.c line 3307
  • #24 g_signal_emit
    at gsignal.c line 3363
  • #25 g_object_dispatch_properties_changed
    at gobject.c line 1053
  • #26 g_object_notify_queue_thaw
    at gobject.c line 290
  • #27 g_object_set_property
    at gobject.c line 2308
  • #28 on_source_notify
    at gbinding.c line 387
  • #29 g_closure_invoke
    at gclosure.c line 768
  • #30 signal_emit_unlocked_R
    at gsignal.c line 3551
  • #31 g_signal_emit_valist
    at gsignal.c line 3307
  • #32 g_signal_emit
    at gsignal.c line 3363
  • #33 g_object_dispatch_properties_changed
    at gobject.c line 1053
  • #34 g_object_notify_queue_thaw
    at gobject.c line 290
  • #35 g_object_thaw_notify
    at gobject.c line 1290
  • #36 source_load_from_key_file
  • #37 source_parse_dbus_data
    at e-source.c line 782
  • #38 source_notify_dbus_data_cb
    at e-source.c line 799
  • #39 g_closure_invoke
    at gclosure.c line 768
  • #40 signal_emit_unlocked_R
    at gsignal.c line 3551
  • #41 g_signal_emit_valist
    at gsignal.c line 3307
  • #42 g_signal_emit
    at gsignal.c line 3363
  • #43 g_object_dispatch_properties_changed
    at gobject.c line 1053
  • #44 g_object_notify_by_spec_internal
    at gobject.c line 1147
  • #45 g_object_notify
    at gobject.c line 1194
  • #46 e_dbus_source_proxy_g_properties_changed
    at e-dbus-source.c line 708
  • #47 ffi_call_unix64
    at ../src/x86/unix64.S line 76
  • #48 ffi_call
    at ../src/x86/ffi64.c line 522
  • #49 g_cclosure_marshal_generic
    at gclosure.c line 1445
  • #50 g_closure_invoke
    at gclosure.c line 768
  • #51 signal_emit_unlocked_R
    at gsignal.c line 3589
  • #52 g_signal_emit_valist
    at gsignal.c line 3307
  • #53 g_signal_emit_by_name
    at gsignal.c line 3403
  • #54 signal_cb
    at gdbusobjectmanagerclient.c line 1049
  • #55 emit_signal_instance_in_idle_cb
    at gdbusconnection.c line 3750
  • #56 g_main_dispatch
    at gmain.c line 3066
  • #57 g_main_context_dispatch
    at gmain.c line 3641
  • #58 g_main_context_iterate
    at gmain.c line 3712
  • #59 g_main_loop_run
    at gmain.c line 3906
  • #60 source_registry_object_manager_thread
    at e-source-registry.c line 1131
  • #61 g_thread_proxy
    at gthread.c line 764
  • #62 start_thread
    at pthread_create.c line 309
  • #63 clone
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S line 111

Comment 1 Milan Crha 2014-04-17 11:24:39 UTC
Evolution does gtk calls in other than the main thread, which can lead to memory corruption. Here a change for a mail account had been received from an evolution-source-registry process and an attempt to update account's editor UI was made immediately, which causes the gtk call being done in a dedicated thread, instead in the main thread.
Comment 2 Milan Crha 2014-05-02 14:10:51 UTC
Created commit 4b42c53 in eds master (3.13.2+) [1]
Created commit d3df516 in eds evolution-data-server-3-12 (3.12.2+)

[1] https://git.gnome.org/browse/evolution-data-server/commit/?id=4b42c53