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 617930 - Crash under mail_sidebar_model_loaded_row_cb
Crash under mail_sidebar_model_loaded_row_cb
Status: RESOLVED FIXED
Product: evolution
Classification: Applications
Component: Mailer
3.0.x (obsolete)
Other Linux
: Normal critical
: ---
Assigned To: evolution-mail-maintainers
Evolution QA team
: 621488 627404 634223 638646 644065 644091 644948 648165 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2010-05-06 16:29 UTC by Brian J. Murrell
Modified: 2012-03-28 17:28 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
evo patch (1.33 KB, patch)
2012-03-28 17:20 UTC, Milan Crha
committed Details | Review

Description Brian J. Murrell 2010-05-06 16:29:47 UTC
Using gnome-2-30 in fact:

Thread 1 (Thread 5605)

  • #0 g_hash_table_lookup_node
    at /build/buildd/glib2.0-2.22.3/glib/ghash.c line 195
  • #1 IA__g_hash_table_lookup
    at /build/buildd/glib2.0-2.22.3/glib/ghash.c line 784
  • #2 g_key_file_lookup_group
    at /build/buildd/glib2.0-2.22.3/glib/gkeyfile.c line 3378
  • #3 IA__g_key_file_has_key
    at /build/buildd/glib2.0-2.22.3/glib/gkeyfile.c line 3077
  • #4 mail_sidebar_model_loaded_row_cb
    at e-mail-sidebar.c line 117
  • #5 e_marshal_VOID__POINTER_POINTER
    at e-marshal.c line 1982
  • #6 IA__g_closure_invoke
    at /build/buildd/glib2.0-2.22.3/gobject/gclosure.c line 767
  • #7 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.22.3/gobject/gsignal.c line 3247
  • #8 IA__g_signal_emit_valist
    at /build/buildd/glib2.0-2.22.3/gobject/gsignal.c line 2980
  • #9 IA__g_signal_emit
    at /build/buildd/glib2.0-2.22.3/gobject/gsignal.c line 3037
  • #10 em_folder_tree_model_set_folder_info
    at em-folder-tree-model.c line 787
  • #11 folder_subscribed
    at em-folder-tree-model.c line 841
  • #12 do_async_event
    at mail-mt.c line 622
  • #13 mail_msg_idle_cb
    at mail-mt.c line 444
  • #14 g_idle_dispatch
    at /build/buildd/glib2.0-2.22.3/glib/gmain.c line 4065
  • #15 g_main_dispatch
    at /build/buildd/glib2.0-2.22.3/glib/gmain.c line 1960
  • #16 IA__g_main_context_dispatch
    at /build/buildd/glib2.0-2.22.3/glib/gmain.c line 2513
  • #17 g_main_context_iterate
    at /build/buildd/glib2.0-2.22.3/glib/gmain.c line 2591
  • #18 IA__g_main_loop_run
    at /build/buildd/glib2.0-2.22.3/glib/gmain.c line 2799
  • #19 IA__gtk_main
    at /usr/src/gtk+2.0-2.18.3/gtk/gtkmain.c line 1218
  • #20 create_default_shell
    at main.c line 413
  • #21 main
    at main.c line 556

Comment 1 Brian J. Murrell 2010-05-18 16:30:29 UTC
Just got another of these:

Thread 1 (Thread 9893)

  • #0 g_hash_table_lookup_node
    at /build/buildd/glib2.0-2.24.0/glib/ghash.c line 309
  • #1 IA__g_hash_table_lookup
    at /build/buildd/glib2.0-2.24.0/glib/ghash.c line 898
  • #2 g_key_file_lookup_group
    at /build/buildd/glib2.0-2.24.0/glib/gkeyfile.c line 3378
  • #3 IA__g_key_file_has_key
    at /build/buildd/glib2.0-2.24.0/glib/gkeyfile.c line 3077
  • #4 mail_sidebar_model_loaded_row_cb
    at e-mail-sidebar.c line 117
  • #5 e_marshal_VOID__POINTER_POINTER
    at e-marshal.c line 1994
  • #6 IA__g_closure_invoke
    at /build/buildd/glib2.0-2.24.0/gobject/gclosure.c line 767
  • #7 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.24.0/gobject/gsignal.c line 3248
  • #8 IA__g_signal_emit_valist
    at /build/buildd/glib2.0-2.24.0/gobject/gsignal.c line 2981
  • #9 IA__g_signal_emit
    at /build/buildd/glib2.0-2.24.0/gobject/gsignal.c line 3038
  • #10 em_folder_tree_model_set_folder_info
    at em-folder-tree-model.c line 787
  • #11 folder_tree_get_folder_info__done
    at em-folder-tree.c line 304
  • #12 mail_msg_idle_cb
    at mail-mt.c line 453
  • #13 g_idle_dispatch
    at /build/buildd/glib2.0-2.24.0/glib/gmain.c line 4065
  • #14 g_main_dispatch
    at /build/buildd/glib2.0-2.24.0/glib/gmain.c line 1960
  • #15 IA__g_main_context_dispatch
    at /build/buildd/glib2.0-2.24.0/glib/gmain.c line 2513
  • #16 g_main_context_iterate
    at /build/buildd/glib2.0-2.24.0/glib/gmain.c line 2591
  • #17 IA__g_main_loop_run
    at /build/buildd/glib2.0-2.24.0/glib/gmain.c line 2799
  • #18 IA__gtk_main
    at /build/buildd/gtk+2.0-2.20.0/gtk/gtkmain.c line 1219
  • #19 main
    at main.c line 578

Comment 2 Brian J. Murrell 2010-08-05 17:07:10 UTC
And another one of these on gnome-2-30:


Thread 1 (Thread 10160)

  • #0 g_hash_table_lookup_node
    at /build/buildd/glib2.0-2.24.1/glib/ghash.c line 309
  • #1 IA__g_hash_table_lookup
    at /build/buildd/glib2.0-2.24.1/glib/ghash.c line 898
  • #2 g_key_file_lookup_group
    at /build/buildd/glib2.0-2.24.1/glib/gkeyfile.c line 3378
  • #3 IA__g_key_file_has_key
    at /build/buildd/glib2.0-2.24.1/glib/gkeyfile.c line 3077
  • #4 mail_sidebar_model_loaded_row_cb
    at e-mail-sidebar.c line 117
  • #5 e_marshal_VOID__POINTER_POINTER
    at e-marshal.c line 1994
  • #6 IA__g_closure_invoke
    at /build/buildd/glib2.0-2.24.1/gobject/gclosure.c line 767
  • #7 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.24.1/gobject/gsignal.c line 3248
  • #8 IA__g_signal_emit_valist
    at /build/buildd/glib2.0-2.24.1/gobject/gsignal.c line 2981
  • #9 IA__g_signal_emit
    at /build/buildd/glib2.0-2.24.1/gobject/gsignal.c line 3038
  • #10 em_folder_tree_model_set_folder_info
    at em-folder-tree-model.c line 787
  • #11 folder_tree_get_folder_info__done
    at em-folder-tree.c line 304
  • #12 mail_msg_idle_cb
    at mail-mt.c line 453
  • #13 g_idle_dispatch
    at /build/buildd/glib2.0-2.24.1/glib/gmain.c line 4065
  • #14 g_main_dispatch
    at /build/buildd/glib2.0-2.24.1/glib/gmain.c line 1960
  • #15 IA__g_main_context_dispatch
    at /build/buildd/glib2.0-2.24.1/glib/gmain.c line 2513
  • #16 g_main_context_iterate
    at /build/buildd/glib2.0-2.24.1/glib/gmain.c line 2591
  • #17 IA__g_main_loop_run
    at /build/buildd/glib2.0-2.24.1/glib/gmain.c line 2799
  • #18 IA__gtk_main
    at /build/buildd/gtk+2.0-2.20.1/gtk/gtkmain.c line 1219
  • #19 main
    at main.c line 639

Comment 3 Akhil Laddha 2010-08-20 03:31:46 UTC
*** Bug 627404 has been marked as a duplicate of this bug. ***
Comment 4 Brian J. Murrell 2010-09-03 15:13:25 UTC
Looks like I got another one of these using gnome-2-30 f3faa077093912674aacf91905136375f03a44d2 and ff3413b5cd96b3f490b760e4c7160ac64cbff7c6:

Thread 1 (Thread 18632)

  • #0 g_hash_table_lookup_node
    at /build/buildd/glib2.0-2.24.1/glib/ghash.c line 309
  • #1 IA__g_hash_table_lookup
    at /build/buildd/glib2.0-2.24.1/glib/ghash.c line 898
  • #2 g_key_file_lookup_group
    at /build/buildd/glib2.0-2.24.1/glib/gkeyfile.c line 3378
  • #3 IA__g_key_file_has_key
    at /build/buildd/glib2.0-2.24.1/glib/gkeyfile.c line 3077
  • #4 mail_sidebar_model_loaded_row_cb
    at e-mail-sidebar.c line 117
  • #5 e_marshal_VOID__POINTER_POINTER
    at e-marshal.c line 1994
  • #6 IA__g_closure_invoke
    at /build/buildd/glib2.0-2.24.1/gobject/gclosure.c line 767
  • #7 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.24.1/gobject/gsignal.c line 3248
  • #8 IA__g_signal_emit_valist
    at /build/buildd/glib2.0-2.24.1/gobject/gsignal.c line 2981
  • #9 IA__g_signal_emit
    at /build/buildd/glib2.0-2.24.1/gobject/gsignal.c line 3038
  • #10 em_folder_tree_model_set_folder_info
    at em-folder-tree-model.c line 787
  • #11 folder_tree_get_folder_info__done
    at em-folder-tree.c line 304
  • #12 mail_msg_idle_cb
    at mail-mt.c line 453
  • #13 g_idle_dispatch
    at /build/buildd/glib2.0-2.24.1/glib/gmain.c line 4065
  • #14 g_main_dispatch
    at /build/buildd/glib2.0-2.24.1/glib/gmain.c line 1960
  • #15 IA__g_main_context_dispatch
    at /build/buildd/glib2.0-2.24.1/glib/gmain.c line 2513
  • #16 g_main_context_iterate
    at /build/buildd/glib2.0-2.24.1/glib/gmain.c line 2591
  • #17 IA__g_main_loop_run
    at /build/buildd/glib2.0-2.24.1/glib/gmain.c line 2799
  • #18 IA__gtk_dialog_run
    at /build/buildd/gtk+2.0-2.20.1/gtk/gtkdialog.c line 1089
  • #19 action_mail_move_cb
    at e-mail-reader.c line 639
  • #20 IA__g_cclosure_marshal_VOID__VOID
    at /build/buildd/glib2.0-2.24.1/gobject/gmarshal.c line 77
  • #21 IA__g_closure_invoke
    at /build/buildd/glib2.0-2.24.1/gobject/gclosure.c line 767
  • #22 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.24.1/gobject/gsignal.c line 3248
  • #23 IA__g_signal_emit_valist
    at /build/buildd/glib2.0-2.24.1/gobject/gsignal.c line 2981
  • #24 IA__g_signal_emit
    at /build/buildd/glib2.0-2.24.1/gobject/gsignal.c line 3038
  • #25 _gtk_action_emit_activate
    at /build/buildd/gtk+2.0-2.20.1/gtk/gtkaction.c line 755
  • #26 IA__gtk_action_activate
    at /build/buildd/gtk+2.0-2.20.1/gtk/gtkaction.c line 785
  • #27 IA__g_cclosure_marshal_VOID__VOID
    at /build/buildd/glib2.0-2.24.1/gobject/gmarshal.c line 77
  • #28 IA__g_closure_invoke
    at /build/buildd/glib2.0-2.24.1/gobject/gclosure.c line 767
  • #29 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.24.1/gobject/gsignal.c line 3248
  • #30 IA__g_signal_emit_valist
    at /build/buildd/glib2.0-2.24.1/gobject/gsignal.c line 2981
  • #31 IA__g_signal_emit
    at /build/buildd/glib2.0-2.24.1/gobject/gsignal.c line 3038
  • #32 _gtk_action_emit_activate
    at /build/buildd/gtk+2.0-2.20.1/gtk/gtkaction.c line 755
  • #33 IA__gtk_action_activate
    at /build/buildd/gtk+2.0-2.20.1/gtk/gtkaction.c line 785
  • #34 IA__g_cclosure_marshal_VOID__VOID
    at /build/buildd/glib2.0-2.24.1/gobject/gmarshal.c line 77
  • #35 g_type_class_meta_marshal
    at /build/buildd/glib2.0-2.24.1/gobject/gclosure.c line 878
  • #36 IA__g_closure_invoke
    at /build/buildd/glib2.0-2.24.1/gobject/gclosure.c line 767
  • #37 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.24.1/gobject/gsignal.c line 3178
  • #38 IA__g_signal_emit_valist
    at /build/buildd/glib2.0-2.24.1/gobject/gsignal.c line 2981
  • #39 IA__g_signal_emit
    at /build/buildd/glib2.0-2.24.1/gobject/gsignal.c line 3038
  • #40 IA__gtk_widget_activate
    at /build/buildd/gtk+2.0-2.20.1/gtk/gtkwidget.c line 4982
  • #41 IA__gtk_menu_shell_activate_item
    at /build/buildd/gtk+2.0-2.20.1/gtk/gtkmenushell.c line 1293
  • #42 gtk_menu_shell_button_release
    at /build/buildd/gtk+2.0-2.20.1/gtk/gtkmenushell.c line 720
  • #43 gtk_menu_button_release
    at /build/buildd/gtk+2.0-2.20.1/gtk/gtkmenu.c line 3005
  • #44 _gtk_marshal_BOOLEAN__BOXED
    at /build/buildd/gtk+2.0-2.20.1/gtk/gtkmarshalers.c line 84
  • #45 g_type_class_meta_marshal
    at /build/buildd/glib2.0-2.24.1/gobject/gclosure.c line 878
  • #46 IA__g_closure_invoke
    at /build/buildd/glib2.0-2.24.1/gobject/gclosure.c line 767
  • #47 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.24.1/gobject/gsignal.c line 3286
  • #48 IA__g_signal_emit_valist
    at /build/buildd/glib2.0-2.24.1/gobject/gsignal.c line 2991
  • #49 IA__g_signal_emit
    at /build/buildd/glib2.0-2.24.1/gobject/gsignal.c line 3038
  • #50 gtk_widget_event_internal
    at /build/buildd/gtk+2.0-2.20.1/gtk/gtkwidget.c line 4951
  • #51 IA__gtk_propagate_event
    at /build/buildd/gtk+2.0-2.20.1/gtk/gtkmain.c line 2447
  • #52 IA__gtk_main_do_event
    at /build/buildd/gtk+2.0-2.20.1/gtk/gtkmain.c line 1647
  • #53 gdk_event_dispatch
    at /build/buildd/gtk+2.0-2.20.1/gdk/x11/gdkevents-x11.c line 2372
  • #54 g_main_dispatch
    at /build/buildd/glib2.0-2.24.1/glib/gmain.c line 1960
  • #55 IA__g_main_context_dispatch
    at /build/buildd/glib2.0-2.24.1/glib/gmain.c line 2513
  • #56 g_main_context_iterate
    at /build/buildd/glib2.0-2.24.1/glib/gmain.c line 2591
  • #57 IA__g_main_loop_run
    at /build/buildd/glib2.0-2.24.1/glib/gmain.c line 2799
  • #58 IA__gtk_main
    at /build/buildd/gtk+2.0-2.20.1/gtk/gtkmain.c line 1219
  • #59 main
    at main.c line 639

Comment 5 Milan Crha 2010-10-01 10:21:42 UTC
*** Bug 621488 has been marked as a duplicate of this bug. ***
Comment 6 Milan Crha 2010-10-01 10:36:37 UTC
OK, so it tried to read the "Expanded" state from a key file and it failed there for some reason.

Do you see any runtime warnings on console when this happens, please?

Also, could you run evolution as follows, to see whether there happened something wrong with memory management, please?
   $ G_SLICE=always-malloc valgrind --num-callers=50 evolution &>evo.log

Thanks in advance.
Comment 7 Brian J. Murrell 2010-10-05 15:35:54 UTC
(In reply to comment #6)
> 
> Also, could you run evolution as follows, to see whether there happened
> something wrong with memory management, please?
>    $ G_SLICE=always-malloc valgrind --num-callers=50 evolution &>evo.log

No.  Running evolution under valgrind makes it _completely_ unusable.  It takes 10s of minutes just to start up and every operation after that takes many minutes.  I don't have hours to just sit here idly watching and interacting with a slower-than-molasses evolution.  I use evolution during my day-job and spending hours doing this kind of testing severely impacts my day-job productivity.

Sorry I cannot be more helpful.
Comment 8 Milan Crha 2010-10-06 08:17:13 UTC
No problem, evo is awfully slow when running under valgrind with search folders enabled, that's right. You can try to run evolution with that G_SLICE only, maybe glib's memory error detector will spot something:
   $ G_SLICE=always-malloc evolution
Comment 9 Fabio Durán Verdugo 2010-11-07 15:51:22 UTC
*** Bug 634223 has been marked as a duplicate of this bug. ***
Comment 10 Milan Crha 2010-11-09 07:17:57 UTC
Downstream bug report about the same in 2.32.0:
https://bugzilla.redhat.com/show_bug.cgi?id=644006

Thread 1 (Thread 2925)

  • #0 g_hash_table_lookup_node
  • #1 g_hash_table_lookup
  • #2 g_key_file_lookup_group
    at gkeyfile.c line 3438
  • #3 g_key_file_has_key
    at gkeyfile.c line 3137
  • #4 mail_sidebar_model_loaded_row_cb
    at e-mail-sidebar.c line 117

Comment 11 Akhil Laddha 2011-01-04 16:49:46 UTC
*** Bug 638646 has been marked as a duplicate of this bug. ***
Comment 12 Akhil Laddha 2011-03-07 01:54:03 UTC
*** Bug 644065 has been marked as a duplicate of this bug. ***
Comment 13 Akhil Laddha 2011-03-07 01:54:54 UTC
Steps from Bug 644065

What were you doing when the application crashed?
1. Create a rule on mailinglist (from right-click context menu)
2. Rule action is to move to folder.
3. Specify the folder as a new folder under root node (On This Computer)
4. Ok -> crash
Comment 14 Milan Crha 2011-03-07 12:55:38 UTC
Works for me with 2.91.91, no crash and valgrind doesn't claim anything too.
Comment 15 Fabio Durán Verdugo 2011-03-16 20:45:46 UTC
*** Bug 644948 has been marked as a duplicate of this bug. ***
Comment 16 Akhil Laddha 2011-04-19 03:23:14 UTC
*** Bug 648165 has been marked as a duplicate of this bug. ***
Comment 17 Akhil Laddha 2011-04-20 09:45:09 UTC
*** Bug 644091 has been marked as a duplicate of this bug. ***
Comment 18 Milan Crha 2011-05-23 06:38:05 UTC
Downstream bug report from 3.0.1:
https://bugzilla.redhat.com/show_bug.cgi?id=706401
Comment 19 Milan Crha 2012-03-28 16:53:34 UTC
While looking on another downstream duplicate of this, form 3.2.x this time:
https://bugzilla.redhat.com/show_bug.cgi?id=741171

I think I found what is causing this. I can reproduce something similar with these steps:
a) run evolution in mailer: $ evolution -c mail
b) choose File->New Window
c) close this new window of mailer
d) in the first window choose Edit->Preferences->Mail Accounts and enable
   a new account (or expand account node which wasn't loaded yet
Poof, evolution crashes. (not for me, though, but I get runtime warnings indicating the issue).
Comment 20 Milan Crha 2012-03-28 17:20:36 UTC
Created attachment 210797 [details] [review]
evo patch

for evolution;

The change is pretty simple, after all. The EMailSidebar is using global folder tree model, and connects to it this mail_sidebar_model_loaded_row_cb() function, but never disconnect, though following my steps above result in freed EMailSidebar, with left signal connection on it in the model. That's basically causing trouble here. Knowing this is caused by opening new mail windows I believe it would be fixed much sooner.
Comment 21 Milan Crha 2012-03-28 17:28:10 UTC
Created commit c17965f in evo master (3.5.1+)
Created commit 936a488 in evo gnome-3-4 (3.4.1+)