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 631341 - [regression] On This Computer/Inbox sub-folders lost
[regression] On This Computer/Inbox sub-folders lost
Status: RESOLVED FIXED
Product: evolution
Classification: Applications
Component: Mailer
3.0.x (obsolete)
Other Linux
: Normal blocker
: ---
Assigned To: evolution-mail-maintainers
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2010-10-04 19:04 UTC by David Ronis
Modified: 2013-09-13 01:10 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
evo patch (763 bytes, patch)
2010-10-07 09:44 UTC, Milan Crha
committed Details | Review

Description David Ronis 2010-10-04 19:04:19 UTC
I just finished a full rebuild of the git master of evolution and all related components (I started from scratch, i.e., I recloned the source trees).   Evo seems to run; however, I just noticed that the folder subtree of Inbox is gone (other ones are still here).   The mail files are still here in .local/share/evolution/mail/local/Inbox.sbd (fortunately).   I tried purging .db files as well as .index, .cmta ones, and restarting but that didn't help.

I have not emptied any trash or otherwise expunged, fearing that the physical files will be deleted and the mail lost.
Comment 1 David Ronis 2010-10-04 19:15:55 UTC
Now this is weird.  I switched to the calendar and had another crash (Bug 631342).  When I restarted and switched back to mail the missing sub-folders were back.
Comment 2 David Ronis 2010-10-05 16:28:03 UTC
Just started (the same version) of evolution this morning.  The folders are gone again.
Comment 3 David Ronis 2010-10-05 18:56:27 UTC
Just had another hang (again involving the calendar); when I restarted the missing sub-folders were back.  One new observation, I had moved from mail -> addressbook -> calendar before the hang.  When I restarted I was initially in the addressbook, not mail

If I exit while looking at mail and restart, the folders are again gone, but simply restarting in a non-mail component and then switching to mail restores them.  Sounds like a synchronization problem.
Comment 4 Milan Crha 2010-10-06 17:03:46 UTC
Good observation, I noticed that too few days ago, no idea what was happening.
Comment 5 Milan Crha 2010-10-07 09:44:43 UTC
Created attachment 171885 [details] [review]
evo patch

for evolution;

I got this finally, but it was pretty hard. :) The problem was with the "folder-created" event invoked when opening evolution in mail component, during the local store initialization (and opening of default local folders there). The folder tree model processed this event and thought the folder is already loaded, but the folder info contained only the Inbox, no subfolders, because only Inbox was created. Preventing processing folder-created events when the store is not loaded yet seems to fix the issue.

Below are two traces to show where was what invoked:

(gdb) p fi->full_name
$1 = (gchar *) 0x825dac0 "Inbox"
(gdb) bt
  • #0 em_folder_tree_model_set_folder_info
    at em-folder-tree-model.c line 626
  • #1 folder_subscribed_cb
    at em-folder-tree-model.c line 864
  • #2 folder_created_cb
    at em-folder-tree-model.c line 904
  • #3 g_cclosure_marshal_VOID__POINTER
    at gmarshal.c line 603
  • #4 g_closure_invoke
    at gclosure.c line 766
  • #5 signal_emit_unlocked_R
    at gsignal.c line 3252
  • #6 g_signal_emit_valist
    at gsignal.c line 2983
  • #7 g_signal_emit
    at gsignal.c line 3040
  • #8 store_emit_folder_created_cb
    at camel-store.c line 125
  • #9 g_idle_dispatch
    at gmain.c line 4254
  • #10 g_main_dispatch
    at gmain.c line 2149
  • #11 g_main_context_dispatch
    at gmain.c line 2702
  • #12 g_main_context_iterate
    at gmain.c line 2780
  • #13 g_main_loop_run
    at gmain.c line 2988
  • #14 IA__gtk_main
    at gtkmain.c line 1237
  • #15 main
    at main.c line 677
  • #0 camel_store_folder_created
    at camel-store.c line 1395
  • #1 camel_local_folder_construct
    at camel-local-folder.c line 624
  • #2 camel_mbox_folder_new
    at camel-mbox-folder.c line 504
  • #3 mbox_store_get_folder_sync
    at camel-mbox-store.c line 415
  • #4 camel_store_get_folder_sync
    at camel-store.c line 2172
  • #5 e_mail_local_init
    at e-mail-local.c line 86
  • #6 mail_store_load_accounts
    at e-mail-store.c line 214
  • #7 e_mail_store_init
    at e-mail-store.c line 275
  • #8 mail_backend_idle_cb
    at e-mail-backend.c line 378
  • #9 g_idle_dispatch
    at gmain.c line 4254
  • #10 g_main_dispatch
    at gmain.c line 2149
  • #11 g_main_context_dispatch
    at gmain.c line 2702
  • #12 g_main_context_iterate
    at gmain.c line 2780
  • #13 g_main_loop_run
    at gmain.c line 2988
  • #14 IA__gtk_main
    at gtkmain.c line 1237
  • #15 main
    at main.c line 677

Comment 6 Milan Crha 2010-10-07 09:46:55 UTC
Created commit ddcbe32 in evo master (2.91.1+)