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 568332 - stuck in a loop updating folders.db
stuck in a loop updating folders.db
Status: RESOLVED FIXED
Product: evolution
Classification: Applications
Component: Mailer
2.24.x (obsolete)
Other All
: Normal blocker
: ---
Assigned To: evolution-mail-maintainers
Evolution QA team
evolution[disk-summary]
: 545898 557361 562559 568297 569187 572548 575229 575996 578413 595878 (view as bug list)
Depends on:
Blocks: 543389
 
 
Reported: 2009-01-19 19:25 UTC by Brian J. Murrell
Modified: 2009-09-22 01:22 UTC
See Also:
GNOME target: ---
GNOME version: 2.23/2.24


Attachments
proposed eds patch (10.95 KB, patch)
2009-01-29 10:20 UTC, Milan Crha
committed Details | Review
Revised patch (13.08 KB, patch)
2009-03-11 16:21 UTC, Matthew Barnes
committed Details | Review

Description Brian J. Murrell 2009-01-19 19:25:17 UTC
Steps to reproduce:
Not sure.

Stack trace:

Thread 1 (Thread 0xb62ba940 (LWP 27243))

  • #0 __kernel_vsyscall
  • #1 __lll_lock_wait
    from /lib/tls/i686/cmov/libpthread.so.0
  • #2 _L_lock_89
    from /lib/tls/i686/cmov/libpthread.so.0
  • #3 pthread_mutex_lock
    from /lib/tls/i686/cmov/libpthread.so.0
  • #4 message_info_from_uid
    at camel-folder-summary.c line 551
  • #5 camel_folder_summary_uid
    at camel-folder-summary.c line 624
  • #6 vee_info_uint32
    at camel-vee-summary.c line 92
  • #7 camel_message_info_uint32
    at camel-folder-summary.c line 4503
  • #8 ml_tree_value_at
    at message-list.c line 1292
  • #9 etmc_value_at
    at e-tree-memory-callbacks.c line 114
  • #10 e_tree_model_value_at
    at e-tree-model.c line 816
  • #11 etta_value_at
    at e-tree-table-adapter.c line 621
  • #12 e_table_model_value_at
    at e-table-model.c line 130
  • #13 etog_draw
    at e-cell-toggle.c line 122
  • #14 e_cell_draw
    at e-cell.c line 273
  • #15 eti_draw
    at e-table-item.c line 2044
  • #16 ??
    from /usr/lib/libgnomecanvas-2.so.0
  • #17 ??
    from /usr/lib/libgnomecanvas-2.so.0
  • #18 _gtk_marshal_BOOLEAN__BOXED
    at /build/buildd/gtk+2.0-2.14.4/gtk/gtkmarshalers.c line 84
  • #19 g_type_class_meta_marshal
    at /build/buildd/glib2.0-2.18.2/gobject/gclosure.c line 878
  • #20 IA__g_closure_invoke
    at /build/buildd/glib2.0-2.18.2/gobject/gclosure.c line 767
  • #21 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.18.2/gobject/gsignal.c line 3282
  • #22 IA__g_signal_emit_valist
    at /build/buildd/glib2.0-2.18.2/gobject/gsignal.c line 2987
  • #23 IA__g_signal_emit
    at /build/buildd/glib2.0-2.18.2/gobject/gsignal.c line 3034
  • #24 gtk_widget_event_internal
    at /build/buildd/gtk+2.0-2.14.4/gtk/gtkwidget.c line 4745
  • #25 IA__gtk_main_do_event
    at /build/buildd/gtk+2.0-2.14.4/gtk/gtkmain.c line 1557
  • #26 gdk_window_process_updates_internal
    at /build/buildd/gtk+2.0-2.14.4/gdk/gdkwindow.c line 2598
  • #27 IA__gdk_window_process_all_updates
    at /build/buildd/gtk+2.0-2.14.4/gdk/gdkwindow.c line 2664
  • #28 gdk_window_update_idle
    at /build/buildd/gtk+2.0-2.14.4/gdk/gdkwindow.c line 2508
  • #29 gdk_threads_dispatch
    at /build/buildd/gtk+2.0-2.14.4/gdk/gdk.c line 473
  • #30 g_idle_dispatch
    at /build/buildd/glib2.0-2.18.2/glib/gmain.c line 4235
  • #31 IA__g_main_context_dispatch
    at /build/buildd/glib2.0-2.18.2/glib/gmain.c line 2144
  • #32 g_main_context_iterate
    at /build/buildd/glib2.0-2.18.2/glib/gmain.c line 2778
  • #33 IA__g_main_loop_run
    at /build/buildd/glib2.0-2.18.2/glib/gmain.c line 2986
  • #34 bonobo_main
    from /usr/lib/libbonobo-2.so.0
  • #35 main
    at main.c line 689
  • #0 __kernel_vsyscall

Thread 1 (Thread 0xb63a6940 (LWP 15974))

  • #0 ____strtoul_l_internal
    from /lib/tls/i686/cmov/libc.so.6
  • #1 strtoul
    from /lib/tls/i686/cmov/libc.so.6
  • #2 uidcmp
    at camel-folder.c line 1271
  • #3 msort_with_tmp
    from /lib/tls/i686/cmov/libc.so.6
  • #4 msort_with_tmp
    from /lib/tls/i686/cmov/libc.so.6
  • #5 qsort_r
    from /lib/tls/i686/cmov/libc.so.6
  • #6 qsort
    from /lib/tls/i686/cmov/libc.so.6
  • #7 sort_uids
    at camel-folder.c line 1285
  • #8 camel_folder_sort_uids
    at camel-folder.c line 1301
  • #9 message_list_get_selected
    at message-list.c line 3534
  • #10 emfv_enable_menus
    at em-folder-view.c line 2172
  • #11 emfv_list_built
    at em-folder-view.c line 2622
  • #12 IA__g_cclosure_marshal_VOID__VOID
    at /build/buildd/glib2.0-2.18.2/gobject/gmarshal.c line 77
  • #13 IA__g_closure_invoke
    at /build/buildd/glib2.0-2.18.2/gobject/gclosure.c line 767
  • #14 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.18.2/gobject/gsignal.c line 3244
  • #15 IA__g_signal_emit_valist
    at /build/buildd/glib2.0-2.18.2/gobject/gsignal.c line 2977
  • #16 IA__g_signal_emit
    at /build/buildd/glib2.0-2.18.2/gobject/gsignal.c line 3034
  • #17 main_folder_changed
    at message-list.c line 3226
  • #18 do_async_event
    at mail-mt.c line 681
  • #19 mail_msg_idle_cb
    at mail-mt.c line 491
  • #20 g_idle_dispatch
    at /build/buildd/glib2.0-2.18.2/glib/gmain.c line 4235
  • #21 IA__g_main_context_dispatch
    at /build/buildd/glib2.0-2.18.2/glib/gmain.c line 2144
  • #22 g_main_context_iterate
    at /build/buildd/glib2.0-2.18.2/glib/gmain.c line 2778
  • #23 IA__g_main_loop_run
    at /build/buildd/glib2.0-2.18.2/glib/gmain.c line 2986
  • #24 bonobo_main
    from /usr/lib/libbonobo-2.so.0
  • #25 main
    at main.c line 690
  • #0 ____strtoul_l_internal
    from /lib/tls/i686/cmov/libc.so.6


Other information:
evolution seems to be in a loop, continually updating the folders.db file in an imap account.  See the following strace excerpt.  This happens over and over again.  Probably the lseek offsets are different each time through though.  However while this is all happening, the UI is completely unresponsive and does not react to expose events (i.e. does not repaint).

...
[pid 19499] gettimeofday({1232392892, 231337}, NULL) = 0
[pid 19499] gettimeofday({1232392892, 268685}, NULL) = 0
[pid 19499] fcntl64(40, F_SETLK64, {type=F_RDLCK, whence=SEEK_SET, start=1073741824, len=1}, 0xb29fea04) = 0
[pid 19499] fcntl64(40, F_SETLK64, {type=F_RDLCK, whence=SEEK_SET, start=1073741826, len=510}, 0xb29fea04) = 0
[pid 19499] fcntl64(40, F_SETLK64, {type=F_UNLCK, whence=SEEK_SET, start=1073741824, len=1}, 0xb29fea04) = 0
[pid 19499] access("/home/brian/.evolution/mail/imap/brian@mail/folders.db-journal", F_OK) = -1 ENOENT (No such file or directory)
[pid 19499] fstat64(40, {st_mode=S_IFREG|0644, st_size=267448320, ...}) = 0
[pid 19499] _llseek(40, 24, [24], SEEK_SET) = 0
[pid 19499] read(40, "\0\3[x\0\0\0\0\0\0\203Z\0\0\rx", 16) = 16
[pid 19499] fcntl64(40, F_SETLK64, {type=F_WRLCK, whence=SEEK_SET, start=1073741825, len=1}, 0xb29feaa4) = 0
[pid 19499] open("/home/brian/.evolution/mail/imap/brian@mail/folders.db-journal", O_RDWR|O_CREAT|O_EXCL|O_LARGEFILE|O_NOFOLLOW, 0644) = 31
[pid 19499] open("/home/brian/.evolution/mail/imap/brian@mail", O_RDONLY|O_LARGEFILE) = 32
[pid 19499] fcntl64(32, F_GETFD)        = 0
[pid 19499] fcntl64(32, F_SETFD, FD_CLOEXEC) = 0
[pid 19499] fcntl64(31, F_GETFD)        = 0
[pid 19499] fcntl64(31, F_SETFD, FD_CLOEXEC) = 0
[pid 19499] fstat64(31, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
[pid 19499] _llseek(31, 0, [0], SEEK_SET) = 0
[pid 19499] write(31, "\331\325\5\371 \241c\327\0\0\0\0\273\332\212u\0\3\374<"..., 512) = 512
[pid 19499] _llseek(31, 512, [512], SEEK_SET) = 0
[pid 19499] write(31, "\0\2\202\304", 4) = 4
[pid 19499] _llseek(31, 516, [516], SEEK_SET) = 0
[pid 19499] write(31, "\2\0\0\0\26\1\356\0\0\2*\245\0029\2Q\2i\2\201\2\231\2\261"..., 1024) = 1024
[pid 19499] _llseek(31, 1540, [1540], SEEK_SET) = 0
[pid 19499] write(31, "\273\332\212\334", 4) = 4
[pid 19499] _llseek(31, 1544, [1544], SEEK_SET) = 0
[pid 19499] write(31, "\0\3\227n", 4)   = 4
[pid 19499] _llseek(31, 1548, [1548], SEEK_SET) = 0
[pid 19499] write(31, "\n\0\0\0.\0f\0\0\272\0\317\0\344\0\371\1\16\1#\0018\1M"..., 1024) = 1024
[pid 19499] _llseek(31, 2572, [2572], SEEK_SET) = 0
[pid 19499] write(31, "\273\332\213\220", 4) = 4
[pid 19499] _llseek(31, 2576, [2576], SEEK_SET) = 0
[pid 19499] write(31, "\0\3\204\214", 4) = 4
[pid 19499] _llseek(31, 2580, [2580], SEEK_SET) = 0
[pid 19499] write(31, "\n\0\0\0*\0\216\0\0\216\0\243\0\270\0\315\0\342\0\367\1"..., 1024) = 1024
[pid 19499] _llseek(31, 3604, [3604], SEEK_SET) = 0
[pid 19499] write(31, "\273\332\213\326", 4) = 4
[pid 19499] _llseek(31, 3608, [3608], SEEK_SET) = 0
[pid 19499] write(31, "\0\3\237\267", 4) = 4
[pid 19499] _llseek(31, 3612, [3612], SEEK_SET) = 0
[pid 19499] write(31, "\n\0\0\0)\0\365\0\0\365\1\10\1\33\1.\1A\1T\1g\1z\1\215"..., 1024) = 1024
[pid 19499] _llseek(31, 4636, [4636], SEEK_SET) = 0
[pid 19499] write(31, "\273\332\213S", 4) = 4
[pid 19499] _llseek(31, 4640, [4640], SEEK_SET) = 0
[pid 19499] write(31, "\0\2\204\f", 4)  = 4
[pid 19499] _llseek(31, 4644, [4644], SEEK_SET) = 0
[pid 19499] write(31, "\2\0\0\0\26\1\356\0\0\2*\246\0029\2Q\2i\2\201\2\231\2\261"..., 1024) = 1024
[pid 19499] _llseek(31, 5668, [5668], SEEK_SET) = 0
[pid 19499] write(31, "\273\332\212\334", 4) = 4
[pid 19499] _llseek(31, 5672, [5672], SEEK_SET) = 0
[pid 19499] write(31, "\0\3\327\362", 4) = 4
[pid 19499] _llseek(31, 5676, [5676], SEEK_SET) = 0
[pid 19499] write(31, "\n\0\0\0.\0f\0\0\272\0\317\0\344\0\371\1\16\1#\0018\1M"..., 1024) = 1024
[pid 19499] _llseek(31, 6700, [6700], SEEK_SET) = 0
[pid 19499] write(31, "\273\332\213\220", 4) = 4
[pid 19499] _llseek(31, 6704, [6704], SEEK_SET) = 0
[pid 19499] write(31, "\0\3\326\312", 4) = 4
[pid 19499] _llseek(31, 6708, [6708], SEEK_SET) = 0
[pid 19499] write(31, "\n\0\0\0*\0\216\0\0\216\0\243\0\270\0\315\0\342\0\367\1"..., 1024) = 1024
[pid 19499] _llseek(31, 7732, [7732], SEEK_SET) = 0
[pid 19499] write(31, "\273\332\213\326", 4) = 4
[pid 19499] _llseek(31, 7736, [7736], SEEK_SET) = 0
[pid 19499] write(31, "\0\3\336x", 4)   = 4
[pid 19499] _llseek(31, 7740, [7740], SEEK_SET) = 0
[pid 19499] write(31, "\n\0\0\0)\0\365\0\0\365\1\10\1\33\1.\1A\1T\1g\1z\1\215"..., 1024) = 1024
[pid 19499] _llseek(31, 8764, [8764], SEEK_SET) = 0
[pid 19499] write(31, "\273\332\213S", 4) = 4
[pid 19499] _llseek(31, 8768, [8768], SEEK_SET) = 0
[pid 19499] write(31, "\0\0cF", 4)      = 4
[pid 19499] _llseek(31, 8772, [8772], SEEK_SET) = 0
[pid 19499] write(31, "\r\0\0\0-\0|\0\3\354\3\330\3\304\3\260\3\234\3\210\3t\3"..., 1024) = 1024
[pid 19499] _llseek(31, 9796, [9796], SEEK_SET) = 0
[pid 19499] write(31, "\273\332\212\270", 4) = 4
[pid 19499] _llseek(31, 9800, [9800], SEEK_SET) = 0
[pid 19499] write(31, "\0\0\0\1", 4)    = 4
[pid 19499] _llseek(31, 9804, [9804], SEEK_SET) = 0
[pid 19499] write(31, "SQLite format 3\0\4\0\1\1\0@  \0\3[x\0\0\0\0"..., 1024) = 1024
[pid 19499] _llseek(31, 10828, [10828], SEEK_SET) = 0
[pid 19499] write(31, "\273\332\212u", 4) = 4
[pid 19499] fsync(31)                   = 0
[pid 19499] fsync(32)                   = 0
[pid 19499] close(32)                   = 0
[pid 19499] _llseek(31, 8, [8], SEEK_SET) = 0
[pid 19499] write(31, "\0\0\0\n", 4)    = 4
[pid 19499] fsync(31)                   = 0
[pid 19499] fcntl64(40, F_SETLK64, {type=F_WRLCK, whence=SEEK_SET, start=1073741824, len=1}, 0xb29fe904) = 0
[pid 19499] fcntl64(40, F_SETLK64, {type=F_WRLCK, whence=SEEK_SET, start=1073741826, len=510}, 0xb29fe904) = 0
[pid 19499] _llseek(40, 0, [0], SEEK_SET) = 0
[pid 19499] write(40, "SQLite format 3\0\4\0\1\1\0@  \0\3[y\0\0\0\0"..., 1024) = 1024
[pid 19499] _llseek(40, 26022912, [26022912], SEEK_SET) = 0
[pid 19499] write(40, "\r\0\0\0.\0h\0\3\354\3\330\3\304\3\260\3\234\3\210\3t\3"..., 1024) = 1024
[pid 19499] _llseek(40, 168496128, [168496128], SEEK_SET) = 0
[pid 19499] write(40, "\2\0\0\0\26\1\356\0\0\2*\245\0029\2Q\2i\2\201\2\231\2\261"..., 1024) = 1024
[pid 19499] _llseek(40, 168832000, [168832000], SEEK_SET) = 0
[pid 19499] write(40, "\2\0\0\0\26\1\356\0\0\2*\246\0029\2Q\2i\2\201\2\231\2\261"..., 1024) = 1024
[pid 19499] _llseek(40, 236071936, [236071936], SEEK_SET) = 0
[pid 19499] write(40, "\n\0\0\0+\0y\0\0y\0\216\0\243\0\270\0\315\0\342\0\367\1"..., 1024) = 1024
[pid 19499] _llseek(40, 241021952, [241021952], SEEK_SET) = 0
[pid 19499] write(40, "\n\0\0\0+\0\237\0\0\237\0\264\0\311\0\336\0\363\1\10\1"..., 1024) = 1024
[pid 19499] _llseek(40, 243193856, [243193856], SEEK_SET) = 0
[pid 19499] write(40, "\n\0\0\0,\0\274\0\0\274\0\317\0\342\0\365\1\10\1\33\1."..., 1024) = 1024
[pid 19499] _llseek(40, 257631232, [257631232], SEEK_SET) = 0
[pid 19499] write(40, "\n\0\0\0+\0y\0\0y\0\216\0\243\0\270\0\315\0\342\0\367\1"..., 1024) = 1024
[pid 19499] _llseek(40, 257934336, [257934336], SEEK_SET) = 0
[pid 19499] write(40, "\n\0\0\0+\0\237\0\0\237\0\264\0\311\0\336\0\363\1\10\1"..., 1024) = 1024
[pid 19499] _llseek(40, 259644416, [259644416], SEEK_SET) = 0
[pid 19499] write(40, "\n\0\0\0,\0\274\0\0\274\0\317\0\342\0\365\1\10\1\33\1."..., 1024) = 1024
[pid 19499] fsync(40)                   = 0
[pid 19499] close(31)                   = 0
[pid 19499] unlink("/home/brian/.evolution/mail/imap/brian@mail/folders.db-journal") = 0
[pid 19499] fcntl64(40, F_SETLK64, {type=F_RDLCK, whence=SEEK_SET, start=1073741826, len=510}, 0xb29fea84) = 0
[pid 19499] fcntl64(40, F_SETLK64, {type=F_UNLCK, whence=SEEK_SET, start=1073741824, len=2}, 0xb29fea84) = 0
[pid 19499] fcntl64(40, F_SETLK64, {type=F_UNLCK, whence=SEEK_SET, start=0, len=0}, 0xb29fea64) = 0
[pid 19499] gettimeofday({1232392892, 406435}, NULL) = 0
[pid 19499] gettimeofday({1232392892, 469793}, NULL) = 0
[pid 19499] brk(0xffc9000)              = 0xffc9000
[pid 19499] brk(0x10009000)             = 0x10009000
[pid 19499] gettimeofday({1232392892, 675978}, NULL) = 0
[pid 19499] gettimeofday({1232392892, 676142}, NULL) = 0
[pid 19499] gettimeofday({1232392892, 676272}, NULL) = 0
[pid 19499] gettimeofday({1232392892, 676398}, NULL) = 0
Comment 1 Brian J. Murrell 2009-01-19 22:54:14 UTC
And here it goes again.  While this is happening, I see the following in my .evolution/mail/imap/brian@mail/ dir:

$ ls -sltar /home/brian/.evolution/mail/imap/brian@mail/
total 265316
     4 drwx------ 105 brian brian      4096 2008-11-30 10:32 folders
     4 drwxr-xr-x  11 brian brian      4096 2008-11-30 10:54 ..
     4 -rw-------   1 brian brian      3729 2009-01-19 17:25 .ev-store-summary
     4 drwxr-xr-x   2 brian brian      4096 2009-01-19 17:26 system
     4 drwx------   4 brian brian      4096 2009-01-19 17:26 .
  3856 -rw-r--r--   1 brian brian   3941056 2009-01-19 17:27 folders.db-journal
261440 -rw-r--r--   1 brian brian 267448320 2009-01-19 17:27 folders.db
$ ls -sltar /home/brian/.evolution/mail/imap/brian@mail/
total 265320
     4 drwx------ 105 brian brian      4096 2008-11-30 10:32 folders
     4 drwxr-xr-x  11 brian brian      4096 2008-11-30 10:54 ..
     4 -rw-------   1 brian brian      3729 2009-01-19 17:25 .ev-store-summary
     4 drwxr-xr-x   2 brian brian      4096 2009-01-19 17:26 system
     4 drwx------   4 brian brian      4096 2009-01-19 17:26 .
  3860 -rw-r--r--   1 brian brian   3944984 2009-01-19 17:27 folders.db-journal
261440 -rw-r--r--   1 brian brian 267448320 2009-01-19 17:27 folders.db
$ ls -sltar /home/brian/.evolution/mail/imap/brian@mail/
total 265396
     4 drwx------ 105 brian brian      4096 2008-11-30 10:32 folders
     4 drwxr-xr-x  11 brian brian      4096 2008-11-30 10:54 ..
     4 -rw-------   1 brian brian      3729 2009-01-19 17:25 .ev-store-summary
     4 drwxr-xr-x   2 brian brian      4096 2009-01-19 17:26 system
     4 drwx------   4 brian brian      4096 2009-01-19 17:26 .
  3936 -rw-r--r--   1 brian brian   4022384 2009-01-19 17:27 folders.db-journal
261440 -rw-r--r--   1 brian brian 267448320 2009-01-19 17:27 folders.db
$ ls -sltar /home/brian/.evolution/mail/imap/brian@mail/
total 265464
     4 drwx------ 105 brian brian      4096 2008-11-30 10:32 folders
     4 drwxr-xr-x  11 brian brian      4096 2008-11-30 10:54 ..
     4 -rw-------   1 brian brian      3729 2009-01-19 17:25 .ev-store-summary
     4 drwxr-xr-x   2 brian brian      4096 2009-01-19 17:26 system
     4 drwx------   4 brian brian      4096 2009-01-19 17:26 .
  4004 -rw-r--r--   1 brian brian   4095656 2009-01-19 17:27 folders.db-journal
261440 -rw-r--r--   1 brian brian 267448320 2009-01-19 17:27 folders.db
$ ls -sltar /home/brian/.evolution/mail/imap/brian@mail/
total 265464
     4 drwx------ 105 brian brian      4096 2008-11-30 10:32 folders
     4 drwxr-xr-x  11 brian brian      4096 2008-11-30 10:54 ..
     4 -rw-------   1 brian brian      3729 2009-01-19 17:25 .ev-store-summary
     4 drwxr-xr-x   2 brian brian      4096 2009-01-19 17:26 system
     4 drwx------   4 brian brian      4096 2009-01-19 17:26 .
  4004 -rw-r--r--   1 brian brian   4095656 2009-01-19 17:27 folders.db-journal
261440 -rw-r--r--   1 brian brian 267448320 2009-01-19 17:27 folders.db
$ ls -sltar /home/brian/.evolution/mail/imap/brian@mail/
total 265520
     4 drwx------ 105 brian brian      4096 2008-11-30 10:32 folders
     4 drwxr-xr-x  11 brian brian      4096 2008-11-30 10:54 ..
     4 -rw-------   1 brian brian      3729 2009-01-19 17:25 .ev-store-summary
     4 drwxr-xr-x   2 brian brian      4096 2009-01-19 17:26 system
     4 drwx------   4 brian brian      4096 2009-01-19 17:26 .
  4060 -rw-r--r--   1 brian brian   4153272 2009-01-19 17:27 folders.db-journal
261440 -rw-r--r--   1 brian brian 267448320 2009-01-19 17:27 folders.db
$ ls -sltar /home/brian/.evolution/mail/imap/brian@mail/
total 265620
     4 drwx------ 105 brian brian      4096 2008-11-30 10:32 folders
     4 drwxr-xr-x  11 brian brian      4096 2008-11-30 10:54 ..
     4 -rw-------   1 brian brian      3729 2009-01-19 17:25 .ev-store-summary
     4 drwxr-xr-x   2 brian brian      4096 2009-01-19 17:26 system
     4 drwx------   4 brian brian      4096 2009-01-19 17:26 .
  4160 -rw-r--r--   1 brian brian   4247184 2009-01-19 17:27 folders.db-journal
261440 -rw-r--r--   1 brian brian 267448320 2009-01-19 17:27 folders.db
$ ls -sltar /home/brian/.evolution/mail/imap/brian@mail/
total 265628
     4 drwx------ 105 brian brian      4096 2008-11-30 10:32 folders
     4 drwxr-xr-x  11 brian brian      4096 2008-11-30 10:54 ..
     4 -rw-------   1 brian brian      3729 2009-01-19 17:25 .ev-store-summary
     4 drwxr-xr-x   2 brian brian      4096 2009-01-19 17:26 system
     4 drwx------   4 brian brian      4096 2009-01-19 17:26 .
  4168 -rw-r--r--   1 brian brian   4252344 2009-01-19 17:27 folders.db-journal
261440 -rw-r--r--   1 brian brian 267448320 2009-01-19 17:27 folders.db
$ ls -sltar /home/brian/.evolution/mail/imap/brian@mail/
total 265628
     4 drwx------ 105 brian brian      4096 2008-11-30 10:32 folders
     4 drwxr-xr-x  11 brian brian      4096 2008-11-30 10:54 ..
     4 -rw-------   1 brian brian      3729 2009-01-19 17:25 .ev-store-summary
     4 drwxr-xr-x   2 brian brian      4096 2009-01-19 17:26 system
     4 drwx------   4 brian brian      4096 2009-01-19 17:26 .
  4168 -rw-r--r--   1 brian brian   4252344 2009-01-19 17:27 folders.db-journal
261440 -rw-r--r--   1 brian brian 267448320 2009-01-19 17:27 folders.db
$ ls -sltar /home/brian/.evolution/mail/imap/brian@mail/
total 265656
     4 drwx------ 105 brian brian      4096 2008-11-30 10:32 folders
     4 drwxr-xr-x  11 brian brian      4096 2008-11-30 10:54 ..
     4 -rw-------   1 brian brian      3729 2009-01-19 17:25 .ev-store-summary
     4 drwxr-xr-x   2 brian brian      4096 2009-01-19 17:26 system
     4 drwx------   4 brian brian      4096 2009-01-19 17:26 .
  4196 -rw-r--r--   1 brian brian   4283112 2009-01-19 17:27 folders.db-journal
261440 -rw-r--r--   1 brian brian 267448320 2009-01-19 17:27 folders.db
$ ls -sltar /home/brian/.evolution/mail/imap/brian@mail/
total 265740
     4 drwx------ 105 brian brian      4096 2008-11-30 10:32 folders
     4 drwxr-xr-x  11 brian brian      4096 2008-11-30 10:54 ..
     4 -rw-------   1 brian brian      3729 2009-01-19 17:25 .ev-store-summary
     4 drwxr-xr-x   2 brian brian      4096 2009-01-19 17:26 system
     4 drwx------   4 brian brian      4096 2009-01-19 17:26 .
  4280 -rw-r--r--   1 brian brian   4368768 2009-01-19 17:27 folders.db-journal
261440 -rw-r--r--   1 brian brian 267448320 2009-01-19 17:27 folders.db
$ ls -sltar /home/brian/.evolution/mail/imap/brian@mail/
total 265776
     4 drwx------ 105 brian brian      4096 2008-11-30 10:32 folders
     4 drwxr-xr-x  11 brian brian      4096 2008-11-30 10:54 ..
     4 -rw-------   1 brian brian      3729 2009-01-19 17:25 .ev-store-summary
     4 drwxr-xr-x   2 brian brian      4096 2009-01-19 17:26 system
     4 drwx------   4 brian brian      4096 2009-01-19 17:26 .
  4316 -rw-r--r--   1 brian brian   4406952 2009-01-19 17:27 folders.db-journal
261440 -rw-r--r--   1 brian brian 267448320 2009-01-19 17:27 folders.db
$ ls -sltar /home/brian/.evolution/mail/imap/brian@mail/
total 265788
     4 drwx------ 105 brian brian      4096 2008-11-30 10:32 folders
     4 drwxr-xr-x  11 brian brian      4096 2008-11-30 10:54 ..
     4 -rw-------   1 brian brian      3729 2009-01-19 17:25 .ev-store-summary
     4 drwxr-xr-x   2 brian brian      4096 2009-01-19 17:26 system
     4 drwx------   4 brian brian      4096 2009-01-19 17:26 .
  4328 -rw-r--r--   1 brian brian   4417096 2009-01-19 17:27 folders.db-journal
261440 -rw-r--r--   1 brian brian 267448320 2009-01-19 17:27 folders.db
$ ls -sltar /home/brian/.evolution/mail/imap/brian@mail/

Obviously it's doing massive updates to the folders.db database but while it does it, the UI is completely dead.

I thought this new SQLite database scheme was supposed to make things faster/better, not make my evolution go AWOL for hours at a time updating databases.
Comment 2 Akhil Laddha 2009-01-20 04:07:20 UTC
*** Bug 568297 has been marked as a duplicate of this bug. ***
Comment 3 Srinivasa Ragavan 2009-01-20 08:42:51 UTC
Fairly the fsync/sqlite3/ext3 issue. This must be solved like what FF did by writing a async io/fsync thread. 
Comment 4 Srinivasa Ragavan 2009-01-29 04:35:22 UTC
Milan, keep your sqlite-vfs patches here. I would like to push them for tomorrow's release. Thanks.
Comment 5 Milan Crha 2009-01-29 10:20:28 UTC
Created attachment 127442 [details] [review]
proposed eds patch

for evolution-data-server;
Comment 6 Srinivasa Ragavan 2009-01-29 15:04:51 UTC
Milan commit to stable/trunk. Yeah, Im brave to say so ;-) also I'm confident. I see that this brings in 75% performance improvement. FF does teh same. Lets see if we get back any regressions, I hope not, given that I have been using it for a week almost.
Comment 7 Milan Crha 2009-01-29 18:22:22 UTC
Committed to trunk. Committed revision 9993.
Committed to gnome-2-24. Committed revision 9994.

...cross fingers...
Comment 8 Akhil Laddha 2009-03-03 11:28:11 UTC
*** Bug 557361 has been marked as a duplicate of this bug. ***
Comment 9 Matthew Barnes 2009-03-11 15:47:51 UTC
So it looks like the patch here leaks threads, causing Evolution to eventually stop displaying messages.  Reports of this are already starting to trickle in, such as http://bugzilla.redhat.com/show_bug.cgi?id=489696.

Milan was kind enough to guide me through the logic yesterday, and I rewrote part of it with a simpler thread design and no leaks.

Reopening and marking as BLOCKER.  This might warrant a code freeze break so we don't ship a broken 2.26 right out of the gate.
Comment 10 Matthew Barnes 2009-03-11 16:21:24 UTC
Created attachment 130466 [details] [review]
Revised patch

This spawns a single thread per database file, which just processes sync requests as they arrive on a queue.  The rest of the code rate limits the requests.  Shouldn't be any leaks here.
Comment 11 Matthew Barnes 2009-03-13 13:10:23 UTC
*** Bug 575229 has been marked as a duplicate of this bug. ***
Comment 12 Srinivasa Ragavan 2009-03-14 13:45:36 UTC
Is it in Matt?
Comment 13 Matthew Barnes 2009-03-14 18:18:45 UTC
Yeah, sorry.  Revision 10162.  Closing bug.
Comment 14 Michel Dänzer 2009-03-17 16:04:14 UTC
The revised patch applies to evolution-data-server 2.24.5 and seems to fix the problems I described in bug 575229. Thanks!
Comment 15 Akhil Laddha 2009-03-20 03:47:26 UTC
*** Bug 575996 has been marked as a duplicate of this bug. ***
Comment 16 Akhil Laddha 2009-04-09 03:53:37 UTC
*** Bug 578413 has been marked as a duplicate of this bug. ***
Comment 17 Akhil Laddha 2009-04-09 03:53:44 UTC
*** Bug 569187 has been marked as a duplicate of this bug. ***
Comment 18 Akhil Laddha 2009-04-30 04:04:43 UTC
bug 580820 looks dupe but it has been filed against 2.26.1 :/ 
Comment 19 Akhil Laddha 2009-05-08 06:15:11 UTC
*** Bug 545898 has been marked as a duplicate of this bug. ***
Comment 20 Akhil Laddha 2009-05-28 04:43:17 UTC
*** Bug 572548 has been marked as a duplicate of this bug. ***
Comment 21 Akhil Laddha 2009-05-28 04:56:19 UTC
*** Bug 562559 has been marked as a duplicate of this bug. ***
Comment 22 Fabio Durán Verdugo 2009-09-22 01:22:32 UTC
*** Bug 595878 has been marked as a duplicate of this bug. ***