RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1040178 - Camel SQLite summary hang
Summary: Camel SQLite summary hang
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: evolution-data-server
Version: 6.3
Hardware: i686
OS: Linux
unspecified
urgent
Target Milestone: rc
: ---
Assignee: Matthew Barnes
QA Contact: Desktop QE
URL:
Whiteboard:
: 1039689 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-12-10 21:37 UTC by Richard Hamlin
Modified: 2018-12-09 17:21 UTC (History)
6 users (show)

Fixed In Version: evolution-data-server-2.32.3-19
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-10-14 04:43:57 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
backported upstream eds patch (33.82 KB, patch)
2014-01-14 09:41 UTC, Milan Crha
no flags Details | Diff


Links
System ID Private Priority Status Summary Last Updated
GNOME Bugzilla 640054 0 None None None Never
Red Hat Product Errata RHBA-2014:1418 0 normal SHIPPED_LIVE evolution-data-server bug fix and enhancement update 2014-10-14 01:06:29 UTC

Description Richard Hamlin 2013-12-10 21:37:09 UTC
Description of problem:
Installed all recent security updates including for Evolution.
This caused Evolution to break, hanging on startup whereas it had worked OK before installing the latest batch of updates for 6.3.

Version-Release number of selected component (if applicable):
evolution-2.32.3-30.el6.i686

How reproducible:
It hangs every time.  

Steps to Reproduce:
1. evolution &
2.
3.

Actual results:
Creates main window, shows on left "Mail, Search Folder, Loading..." forever.
Main area remains entiredly blank.
Never gets past the dialog asking whether to restore unfinished drafts.  Does not even close that dialog or repaint it or the main window.
Then upon:
$ evolution --force-shutdown
No response from Evolution -- killing the process

(evolution:13147): Unique-DBus-WARNING **: Error while sending message: Message did not receive a reply (timeout by message bus)

Expected results:
Should start up normally and show the mail folders on the left and list the messages on the right and let me access those messages.

Additional info:
Nothing gets written the debug file if I provide one via --debug.
In the .xsession-errors I found:
Received quit signal...

(evolution-alarm-notify:4788): libecal-WARNING **: Failed to dispose cal view: GDBus.Error:org.freedesktop.DBus.Error.NoReply: Message did not receive a reply (timeout by message bus)

(evolution-alarm-notify:4788): libecal-WARNING **: Failed to dispose cal view: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name :1.59 was not provided by any .service files

(evolution-alarm-notify:4788): libecal-WARNING **: Failed to dispose cal view: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name :1.59 was not provided by any .service files

(evolution-alarm-notify:4788): libecal-WARNING **: gdbus_cal_disconnect: Failed to close calendar, GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name :1.59 was not provided by any .service files


Also, the first time it ran, it migrated the data to new directories, but that failed in an insignificant way:
  rmdir ~/.evolution/tasks
  FAILED: Directory not empty (contents follows)
          tasks
  rmdir ~/.evolution/cache
  FAILED: Directory not empty (contents follows)
          tmp.orig
tasks had nothing but empty subdirectories, and tmp.orig was a old backup.
So, I got rid of those old directories and ~/.evolution manually before all subsequent attempts to launch the application.
It appeared that everything important was moved successfully, except for the fact that the application hangs on startup!

Comment 1 Richard Hamlin 2013-12-13 06:59:05 UTC
I have not recompiled yet, but I ran a backtrace anyway:

(gdb) bt
#0  0x00110416 in __kernel_vsyscall ()
#1  0x00ba1996 in nanosleep () from /lib/libc.so.6
#2  0x00bdbaec in usleep () from /lib/libc.so.6
#3  0x046d5cf3 in ?? () from /usr/lib/libsqlite3.so.0
#4  0x046c743f in ?? () from /usr/lib/libsqlite3.so.0
#5  0x046c2cf9 in ?? () from /usr/lib/libsqlite3.so.0
#6  0x046c2348 in ?? () from /usr/lib/libsqlite3.so.0
#7  0x046f0c0b in ?? () from /usr/lib/libsqlite3.so.0
#8  0x0472361c in ?? () from /usr/lib/libsqlite3.so.0
#9  0x0470ff48 in sqlite3_step () from /usr/lib/libsqlite3.so.0
#10 0x04713812 in sqlite3_exec () from /usr/lib/libsqlite3.so.0
#11 0x07283c01 in camel_db_select () from /usr/lib/libcamel-1.2.so.19
#12 0x07283ead in camel_db_read_message_info_record_with_uid ()
   from /usr/lib/libcamel-1.2.so.19
#13 0x0756800b in ?? () from /usr/lib/libcamel-provider-1.2.so.19
#14 0x075676a5 in camel_folder_summary_uid ()
   from /usr/lib/libcamel-provider-1.2.so.19
#15 0x0759bdf0 in camel_vee_summary_add ()
   from /usr/lib/libcamel-provider-1.2.so.19
#16 0x07596f5d in ?? () from /usr/lib/libcamel-provider-1.2.so.19
#17 0x067f6965 in g_hash_table_foreach () from /lib/libglib-2.0.so.0
#18 0x07599b45 in ?? () from /usr/lib/libcamel-provider-1.2.so.19
#19 0x07599e61 in ?? () from /usr/lib/libcamel-provider-1.2.so.19
#20 0x07595d5e in camel_vee_folder_add_folder ()
   from /usr/lib/libcamel-provider-1.2.so.19
#21 0x0759000d in ?? () from /usr/lib/libcamel-provider-1.2.so.19
#22 0x013a6c42 in ?? ()
   from /usr/lib/evolution-data-server-1.2/camel-providers/libcamellocal.so
#23 0x0758f5ab in camel_store_get_folder ()
   from /usr/lib/libcamel-provider-1.2.so.19
#24 0x0758f8b6 in camel_store_get_junk ()
   from /usr/lib/libcamel-provider-1.2.so.19
#25 0x0107fe74 in ?? () from /usr/lib/evolution/2.32/libevolution-mail.so.0
#26 0x010ba68d in ?? () from /usr/lib/evolution/2.32/libevolution-mail.so.0
#27 0x010bbcda in ?? () from /usr/lib/evolution/2.32/libevolution-mail.so.0
#28 0x06803fd2 in ?? () from /lib/libglib-2.0.so.0
#29 0x068060b5 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#30 0x06809f68 in ?? () from /lib/libglib-2.0.so.0
#31 0x0680a4af in g_main_loop_run () from /lib/libglib-2.0.so.0
#32 0x06e79345 in gtk_dialog_run () from /usr/lib/libgtk-x11-2.0.so.0
#33 0x07468972 in e_alert_run_dialog ()
   from /usr/lib/evolution/2.32/libeutil.so.0
#34 0x07468a1e in e_alert_run_dialog_for_args ()
   from /usr/lib/evolution/2.32/libeutil.so.0
#35 0x005aef57 in ?? ()
   from /usr/lib/evolution/2.32/modules/libevolution-module-composer-autosave.so
#36 0x06f16498 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#37 0x00809f23 in g_closure_invoke () from /lib/libgobject-2.0.so.0
#38 0x00820bf5 in ?? () from /lib/libgobject-2.0.so.0
#39 0x00821e7d in g_signal_emit_valist () from /lib/libgobject-2.0.so.0
#40 0x008224a3 in g_signal_emit () from /lib/libgobject-2.0.so.0
#41 0x0705f496 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#42 0x06f0ebfc in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
#43 0x00d6417b in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#44 0x068060b5 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#45 0x06809f68 in ?? () from /lib/libglib-2.0.so.0
#46 0x0680a4af in g_main_loop_run () from /lib/libglib-2.0.so.0
#47 0x06f0f099 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#48 0x0804a18f in ?? ()
#49 0x00b16d26 in __libc_start_main () from /lib/libc.so.6
#50 0x08049801 in ?? ()


It looked to me that it was getting stuck on loading the autosaved drafts, so I blew those away and I no longer the get pop-up dialog, but it just gets stuck elsewhere on startup (but still in libsqlite3):

(gdb) bt
#0  0x00110416 in __kernel_vsyscall ()
#1  0x00ba1996 in nanosleep () from /lib/libc.so.6
#2  0x00bdbaec in usleep () from /lib/libc.so.6
#3  0x046d5cf3 in ?? () from /usr/lib/libsqlite3.so.0
#4  0x046c743f in ?? () from /usr/lib/libsqlite3.so.0
#5  0x046c2cf9 in ?? () from /usr/lib/libsqlite3.so.0
#6  0x046c2348 in ?? () from /usr/lib/libsqlite3.so.0
#7  0x046f0c0b in ?? () from /usr/lib/libsqlite3.so.0
#8  0x0472361c in ?? () from /usr/lib/libsqlite3.so.0
#9  0x0470ff48 in sqlite3_step () from /usr/lib/libsqlite3.so.0
#10 0x04713812 in sqlite3_exec () from /usr/lib/libsqlite3.so.0
#11 0x07283c01 in camel_db_select () from /usr/lib/libcamel-1.2.so.19
#12 0x07283ead in camel_db_read_message_info_record_with_uid ()
   from /usr/lib/libcamel-1.2.so.19
#13 0x0756800b in ?? () from /usr/lib/libcamel-provider-1.2.so.19
#14 0x075676a5 in camel_folder_summary_uid ()
   from /usr/lib/libcamel-provider-1.2.so.19
#15 0x0759bdf0 in camel_vee_summary_add ()
   from /usr/lib/libcamel-provider-1.2.so.19
#16 0x07596f5d in ?? () from /usr/lib/libcamel-provider-1.2.so.19
#17 0x067f6965 in g_hash_table_foreach () from /lib/libglib-2.0.so.0
#18 0x07599b45 in ?? () from /usr/lib/libcamel-provider-1.2.so.19
#19 0x07599e61 in ?? () from /usr/lib/libcamel-provider-1.2.so.19
#20 0x07595d5e in camel_vee_folder_add_folder ()
   from /usr/lib/libcamel-provider-1.2.so.19
#21 0x0759000d in ?? () from /usr/lib/libcamel-provider-1.2.so.19
#22 0x013a6c42 in ?? ()
   from /usr/lib/evolution-data-server-1.2/camel-providers/libcamellocal.so
#23 0x0758f5ab in camel_store_get_folder ()
   from /usr/lib/libcamel-provider-1.2.so.19
#24 0x0758f8b6 in camel_store_get_junk ()
   from /usr/lib/libcamel-provider-1.2.so.19
#25 0x0107fe74 in ?? () from /usr/lib/evolution/2.32/libevolution-mail.so.0
#26 0x010ba68d in ?? () from /usr/lib/evolution/2.32/libevolution-mail.so.0
#27 0x010bbcda in ?? () from /usr/lib/evolution/2.32/libevolution-mail.so.0
#28 0x06803fd2 in ?? () from /lib/libglib-2.0.so.0
#29 0x068060b5 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#30 0x06809f68 in ?? () from /lib/libglib-2.0.so.0
#31 0x0680a4af in g_main_loop_run () from /lib/libglib-2.0.so.0
#32 0x06e79345 in gtk_dialog_run () from /usr/lib/libgtk-x11-2.0.so.0
#33 0x07468972 in e_alert_run_dialog ()
   from /usr/lib/evolution/2.32/libeutil.so.0
#34 0x07468a1e in e_alert_run_dialog_for_args ()
   from /usr/lib/evolution/2.32/libeutil.so.0
#35 0x005aef57 in ?? ()
   from /usr/lib/evolution/2.32/modules/libevolution-module-composer-autosave.so
#36 0x06f16498 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#37 0x00809f23 in g_closure_invoke () from /lib/libgobject-2.0.so.0
#38 0x00820bf5 in ?? () from /lib/libgobject-2.0.so.0
#39 0x00821e7d in g_signal_emit_valist () from /lib/libgobject-2.0.so.0
#40 0x008224a3 in g_signal_emit () from /lib/libgobject-2.0.so.0
#41 0x0705f496 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#42 0x06f0ebfc in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
#43 0x00d6417b in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#44 0x068060b5 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#45 0x06809f68 in ?? () from /lib/libglib-2.0.so.0
#46 0x0680a4af in g_main_loop_run () from /lib/libglib-2.0.so.0
#47 0x06f0f099 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#48 0x0804a18f in ?? ()
#49 0x00b16d26 in __libc_start_main () from /lib/libc.so.6
#50 0x08049801 in ?? ()

Comment 2 Richard Hamlin 2013-12-23 22:34:46 UTC
I recompiled from the SRPMS, so now I have the debug info for the backtrace:

(gdb) bt
#0  0x00110416 in __kernel_vsyscall ()
#1  0x00ba1996 in nanosleep () from /lib/libc.so.6
#2  0x00bdbaec in usleep () from /lib/libc.so.6
#3  0x046d5cf3 in unixSleep (NotUsed=0x55e260, microseconds=20000)
    at sqlite3.c:25848
#4  0x046c743f in sqlite3OsSleep (ptr=0x83f7cc8, count=5) at sqlite3.c:12277
#5  sqliteDefaultBusyCallback (ptr=0x83f7cc8, count=5) at sqlite3.c:29995
#6  0x046c2cf9 in sqlite3InvokeBusyHandler (pArg=0x83f8ef0) at sqlite3.c:95554
#7  btreeInvokeBusyHandler (pArg=0x83f8ef0) at sqlite3.c:39305
#8  0x046c2348 in pager_wait_on_lock (pPager=0x83f9368, locktype=1)
    at sqlite3.c:33868
#9  0x046f0c0b in sqlite3PagerSharedLock (p=0x83f8eb0, wrflag=0)
    at sqlite3.c:34887
#10 lockBtree (p=0x83f8eb0, wrflag=0) at sqlite3.c:39874
#11 sqlite3BtreeBeginTrans (p=0x83f8eb0, wrflag=0) at sqlite3.c:40129
#12 0x0472361c in sqlite3VdbeExec (p=0x9411b18) at sqlite3.c:54783
#13 0x0470ff48 in sqlite3Step (pStmt=0x9411b18) at sqlite3.c:50609
#14 sqlite3_step (pStmt=0x9411b18) at sqlite3.c:50668
#15 0x04713812 in sqlite3_exec (db=0x83f7cc8, zSql=
    0x941c2e0 "SELECT uid, flags, size, dsent, dreceived, subject, mail_from, mail_to, mail_cc, mlist, part, labels, usertags, cinfo, bdata FROM 'Inbox' WHERE uid = '334982'", xCallback=0x374ca0 <camel_read_mir_callback>, pArg=
    0xbffff0d8, pzErrMsg=0xbffff03c) at sqlite3.c:75299
#16 0x004f4be1 in camel_db_select (cdb=0x83f9d78, stmt=
    0x941c2e0 "SELECT uid, flags, size, dsent, dreceived, subject, mail_from, mail_to, mail_cc, mlist, part, labels, usertags, cinfo, bdata FROM 'Inbox' WHERE uid = '334982'", callback=0x374ca0 <camel_read_mir_callback>, data=
    0xbffff0d8, error=0x0) at camel-db.c:970
#17 0x004f4e8d in camel_db_read_message_info_record_with_uid (cdb=0x83f9d78, 
    folder_name=0x8439b40 "Inbox", uid=0x8867728 "334982", p=0xbffff0d8, 
    read_mir_callback=0x374ca0 <camel_read_mir_callback>, error=0x0)
    at camel-db.c:1909
#18 0x00375feb in message_info_from_uid (s=0x8456008, uid=0x8867728 "334982")
    at camel-folder-summary.c:1279
#19 0x00375685 in camel_folder_summary_uid (summary=0x8456008, uid=
    0x8867728 "334982") at camel-folder-summary.c:1325
#20 0x003a9dd0 in camel_vee_summary_add (s=0x872e4c0, summary=0x8456008, uid=
    0x8867728 "334982", hash=0xbffff294 "rGkUcdfp") at camel-vee-summary.c:472
#21 0x003a4f3d in vee_folder_add_uid (uidin=0x8867728 "334982", value=0x1, u=
    0xbffff28c) at camel-vee-folder.c:89
#22 folder_added_uid (uidin=0x8867728 "334982", value=0x1, u=0xbffff28c)
    at camel-vee-folder.c:719
#23 0x067f6965 in g_hash_table_foreach () from /lib/libglib-2.0.so.0
#24 0x003a7b25 in vee_folder_rebuild_folder (vee_folder=0x849b2f8, source=
    0x83f8148, error=0x0) at camel-vee-folder.c:1781
#25 0x003a7e41 in vee_folder_add_folder (vee_folder=0x849b2f8, sub=0x83f8148)
    at camel-vee-folder.c:1458
#26 0x003a3d3e in camel_vee_folder_add_folder (vf=0x849b2f8, sub=0x83f8148)
    at camel-vee-folder.c:2123
#27 0x0039dfed in store_get_special (store=<value optimized out>, 
    type=<value optimized out>) at camel-store.c:95
#28 0x02133c22 in local_get_junk (store=0x83f8078, error=0x0)
    at camel-local-store.c:248
#29 0x0039d58b in camel_store_get_folder (store=0x83f8078, 
    folder_name=<value optimized out>, flags=0, error=0x0)
    at camel-store.c:472
#30 0x0039d896 in camel_store_get_junk (store=0x83f8078, error=0x0)
    at camel-store.c:966
#31 0x01390e74 in store_info_new (store=0x83f8078, display_name=
    0x13e4ee8 "On This Computer", callback=
    0x1391480 <mail_store_add_local_done_cb>) at e-mail-store.c:91
#32 mail_store_add (store=0x83f8078, display_name=
    0x13e4ee8 "On This Computer", callback=
    0x1391480 <mail_store_add_local_done_cb>) at e-mail-store.c:177
#33 0x013cb68d in do_async_event (m=0x83ce118) at mail-mt.c:621
#34 0x013cccda in idle_async_event (m=0x83ce118) at mail-mt.c:633
#35 0x06803fd2 in ?? () from /lib/libglib-2.0.so.0
#36 0x068060b5 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#37 0x06809f68 in ?? () from /lib/libglib-2.0.so.0
#38 0x0680a4af in g_main_loop_run () from /lib/libglib-2.0.so.0
#39 0x06f0f099 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#40 0x0804a18f in main (argc=1, argv=0xbffff814) at main.c:720
(gdb) c
Continuing.
  C-c C-c
Program received signal SIGINT, Interrupt.
0x00110416 in __kernel_vsyscall ()
(gdb) bt
#0  0x00110416 in __kernel_vsyscall ()
#1  0x00ba1996 in nanosleep () from /lib/libc.so.6
#2  0x00bdbaec in usleep () from /lib/libc.so.6
#3  0x046d5cf3 in unixSleep (NotUsed=0x55e260, microseconds=25000)
    at sqlite3.c:25848
#4  0x046c743f in sqlite3OsSleep (ptr=0x83f7cc8, count=6) at sqlite3.c:12277
#5  sqliteDefaultBusyCallback (ptr=0x83f7cc8, count=6) at sqlite3.c:29995
#6  0x046c2cf9 in sqlite3InvokeBusyHandler (pArg=0x83f8ef0) at sqlite3.c:95554
#7  btreeInvokeBusyHandler (pArg=0x83f8ef0) at sqlite3.c:39305
#8  0x046c2348 in pager_wait_on_lock (pPager=0x83f9368, locktype=1)
    at sqlite3.c:33868
#9  0x046f0c0b in sqlite3PagerSharedLock (p=0x83f8eb0, wrflag=0)
    at sqlite3.c:34887
#10 lockBtree (p=0x83f8eb0, wrflag=0) at sqlite3.c:39874
#11 sqlite3BtreeBeginTrans (p=0x83f8eb0, wrflag=0) at sqlite3.c:40129
#12 0x0472361c in sqlite3VdbeExec (p=0x9411b18) at sqlite3.c:54783
#13 0x0470ff48 in sqlite3Step (pStmt=0x9411b18) at sqlite3.c:50609
#14 sqlite3_step (pStmt=0x9411b18) at sqlite3.c:50668
#15 0x04713812 in sqlite3_exec (db=0x83f7cc8, zSql=
    0x941c2e0 "SELECT uid, flags, size, dsent, dreceived, subject, mail_from, mail_to, mail_cc, mlist, part, labels, usertags, cinfo, bdata FROM 'Inbox' WHERE uid = '334982'", xCallback=0x374ca0 <camel_read_mir_callback>, pArg=
    0xbffff0d8, pzErrMsg=0xbffff03c) at sqlite3.c:75299
#16 0x004f4be1 in camel_db_select (cdb=0x83f9d78, stmt=
    0x941c2e0 "SELECT uid, flags, size, dsent, dreceived, subject, mail_from, mail_to, mail_cc, mlist, part, labels, usertags, cinfo, bdata FROM 'Inbox' WHERE uid = '334982'", callback=0x374ca0 <camel_read_mir_callback>, data=
    0xbffff0d8, error=0x0) at camel-db.c:970
#17 0x004f4e8d in camel_db_read_message_info_record_with_uid (cdb=0x83f9d78, 
    folder_name=0x8439b40 "Inbox", uid=0x8867728 "334982", p=0xbffff0d8, 
    read_mir_callback=0x374ca0 <camel_read_mir_callback>, error=0x0)
    at camel-db.c:1909
#18 0x00375feb in message_info_from_uid (s=0x8456008, uid=0x8867728 "334982")
    at camel-folder-summary.c:1279
#19 0x00375685 in camel_folder_summary_uid (summary=0x8456008, uid=
    0x8867728 "334982") at camel-folder-summary.c:1325
#20 0x003a9dd0 in camel_vee_summary_add (s=0x872e4c0, summary=0x8456008, uid=
    0x8867728 "334982", hash=0xbffff294 "rGkUcdfp") at camel-vee-summary.c:472
#21 0x003a4f3d in vee_folder_add_uid (uidin=0x8867728 "334982", value=0x1, u=
    0xbffff28c) at camel-vee-folder.c:89
#22 folder_added_uid (uidin=0x8867728 "334982", value=0x1, u=0xbffff28c)
    at camel-vee-folder.c:719
#23 0x067f6965 in g_hash_table_foreach () from /lib/libglib-2.0.so.0
#24 0x003a7b25 in vee_folder_rebuild_folder (vee_folder=0x849b2f8, source=
    0x83f8148, error=0x0) at camel-vee-folder.c:1781
#25 0x003a7e41 in vee_folder_add_folder (vee_folder=0x849b2f8, sub=0x83f8148)
    at camel-vee-folder.c:1458
#26 0x003a3d3e in camel_vee_folder_add_folder (vf=0x849b2f8, sub=0x83f8148)
    at camel-vee-folder.c:2123
#27 0x0039dfed in store_get_special (store=<value optimized out>, 
    type=<value optimized out>) at camel-store.c:95
#28 0x02133c22 in local_get_junk (store=0x83f8078, error=0x0)
    at camel-local-store.c:248
#29 0x0039d58b in camel_store_get_folder (store=0x83f8078, 
    folder_name=<value optimized out>, flags=0, error=0x0)
    at camel-store.c:472
#30 0x0039d896 in camel_store_get_junk (store=0x83f8078, error=0x0)
    at camel-store.c:966
#31 0x01390e74 in store_info_new (store=0x83f8078, display_name=
    0x13e4ee8 "On This Computer", callback=
    0x1391480 <mail_store_add_local_done_cb>) at e-mail-store.c:91
#32 mail_store_add (store=0x83f8078, display_name=
    0x13e4ee8 "On This Computer", callback=
    0x1391480 <mail_store_add_local_done_cb>) at e-mail-store.c:177
#33 0x013cb68d in do_async_event (m=0x83ce118) at mail-mt.c:621
#34 0x013cccda in idle_async_event (m=0x83ce118) at mail-mt.c:633
#35 0x06803fd2 in ?? () from /lib/libglib-2.0.so.0
#36 0x068060b5 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#37 0x06809f68 in ?? () from /lib/libglib-2.0.so.0
#38 0x0680a4af in g_main_loop_run () from /lib/libglib-2.0.so.0
#39 0x06f0f099 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#40 0x0804a18f in main (argc=1, argv=0xbffff814) at main.c:720

So, it is getting stuck in an infinite loop at camel-db.c:964:
sqlite3_exec with this statement always returns SQLITE_BUSY.
(It is always the same uid = '334982' that it gets stuck on.)

Comment 3 Richard Hamlin 2013-12-25 20:24:09 UTC
I compared to the source of the previous installed version, evolution-data-server-2.28.3-16, in the hope of getting an idea of what change(s) might be causing it to fail now when it did not previously.  Nothing stood out to me.  The differences are so extensive that this would not likely be helpful, however.

As a matter of policy, RedHat should not combine security updates with substantial version upgrades if avoidable.  Ideally security updates should contain the only the changes needed to correct the vulnerability to minimize the chance of causing problems that users did not have before the update like this.  Users should be able to choose when it is convenient for them to upgrade the EL distribution version to get others enhancements (when they have time to test and deal with any problems that may arise in the process), while being able to install any security updates for their distribution without much worry of these breaking something in the meantime.  The changes were so great in this security update, with data files in different locations and all, that rolling back the changes and reverting to the previous version of evolution could be quite problematic.  Has anyone been able to successfully do that?

Comment 4 Richard Hamlin 2014-01-02 21:02:51 UTC
It appears that the bug may actually be in the sqlite3 layer (although
sqlite3 was not updated and problem did not occur before evolution was
updated), but evolution could handle the error more gracefully by
establishing a time-out and giving an error message instead of letting
itself get stuck in an infinite loop.

Everything seems to be running fine until camel_db_select is called for the 23817th time.
Then while trying to store that UID #403136 into the Junk hash table, i.e. within
sqlite3_exec called by cdb_sql_exec (db=0x8421408, stmt=0x94a1570 "INSERT INTO '.#evolution/Junk' VALUES ('rGkUcdfp403136')", error=0x0) at camel-db.c:371,
the entire folders.db database gets locked even for readers, and the lock is never relinquished.
No error is returned by that sqlite3_exec call, however.  But the next call to sqlite3_exec from
camel_db_select (cdb=0x83f9d78, stmt=
    0x941c2e0 "SELECT uid, flags, size, dsent, dreceived, subject, mail_from, mail_to, mail_cc, mlist, part, labels, usertags, cinfo, bdata FROM 'Inbox' WHERE uid = '334982'", callback=0x374ca0 <camel_read_mir_callback>, data=
    0xbffff0d8, error=0x0) at camel-db.c:953
is doomed to fail, because of that stale lock.

Does anyone have any ideas about why this is happening?  I have plenty of spare memory and hard drive space, so that should not be an insue.
The database file itself does not appear to be corrupt.  I can execute the same read queries manually for these 2 UIDs successfully without any side effects, if I do so earlier in the execution.

Comment 5 Richard Hamlin 2014-01-03 08:00:25 UTC
I get the exact same problem linking to SQLite version 3.8.2.
Happens at the same point too.
(I can delay the point at which it happens a bit by clearing the Junk hash table in advance, however.  I.e., "delete from '.#evolution/Junk'" postpones it to the 25010th call of camel_db_select.  Is there an arbitrary limit that can be raised to prevent it altogether?)
Is there a varient of evolution built to use a different database engine, such as MySQL?

Comment 6 Milan Crha 2014-01-13 08:03:29 UTC
Thanks for a bug report and an extensive investigation. There was done a rebase for evolution packages from 2.28 to 2.32 for more bug fixes being gathered to RHEL6, because there were done quite many fixes between these two versions. The update is part of RHEL6.5 release.

Anyway, I suppose your evolution-data-server is of 2.32.3-18 version. I looked into its build logs, and the SQLite version it was compiled with was 3.6.20-1.el6. I cannot tell whether SQLite 3.8.2 caused the trouble, it might need to be tested.

When you get to the stuck state, and then you stop gdb, could you provide a backtrace for all threads, please? It's "t a a bt" command in gdb. Only make sure you'll not expose any private information in that backtrace, as it can show your password, in case of the process being stuck in certain call(s). I would even try to downgrade SQLite, just to test whether it's the problem or not. There is no other database engine implementation for mail summaries available, only the one with SQLite.

Comment 7 Richard Hamlin 2014-01-14 06:13:47 UTC
Yes, I am using evolution-data-server-2.32.3-18.el6.

Tried to convey in Comment 5 that SQLite 3.8.2 caused the exact same trouble; it happens at the exact same point as it did in the older version of SQLite3.  I have not tried an older version SQLite than the 3.6.20 to which it was intended to be linked, however.  (It is interesting that the 2.28 evolution was using the same SQLite 3.6.20 without provoking the problem, however.)

(I had excluded all but Thread 1 from previous backtraces posted, since I did not see any useful info in those other threads, but perhaps I just did not know what to look for---see below.  NB: since I had previously cleared table '.#evolution/Junk', the occurrence of the problem below is delayed compared to the backtraces given previously, so the msg # will not match what is shown above, but it is repeatable at this new point.  Although it seems like this shift should be helpful in identifying what is actually causing the problem, I have not been able to yet.)

(gdb) t a a bt

Thread 9 (Thread 0xb2f5ab70 (LWP 17392)):
#0  0x00110416 in __kernel_vsyscall ()
#1  0x00cd63ac in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0x067dc379 in ?? () from /lib/libglib-2.0.so.0
#3  0x067dc7af in g_async_queue_pop () from /lib/libglib-2.0.so.0
#4  0x00169cce in sync_request_thread_cb (cFile=0x8409fb8) at camel-db.c:80
#5  0x06831480 in ?? () from /lib/libglib-2.0.so.0
#6  0x00cd2b39 in start_thread () from /lib/libpthread.so.0
#7  0x00be2d6e in clone () from /lib/libc.so.6

Thread 7 (Thread 0xb395bb70 (LWP 17390)):
#0  0x00110416 in __kernel_vsyscall ()
#1  0x00cd63ac in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0x067dc379 in ?? () from /lib/libglib-2.0.so.0
#3  0x067dc7af in g_async_queue_pop () from /lib/libglib-2.0.so.0
#4  0x00169cce in sync_request_thread_cb (cFile=0x8adeba0) at camel-db.c:80
#5  0x06831480 in ?? () from /lib/libglib-2.0.so.0
#6  0x00cd2b39 in start_thread () from /lib/libpthread.so.0
#7  0x00be2d6e in clone () from /lib/libc.so.6

Thread 6 (Thread 0xb45ffb70 (LWP 17389)):
#0  0x00110416 in __kernel_vsyscall ()
#1  0x00cd63ac in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0x067dc379 in ?? () from /lib/libglib-2.0.so.0
#3  0x067dc7af in g_async_queue_pop () from /lib/libglib-2.0.so.0
#4  0x00169cce in sync_request_thread_cb (cFile=0x8acd508) at camel-db.c:80
#5  0x06831480 in ?? () from /lib/libglib-2.0.so.0
#6  0x00cd2b39 in start_thread () from /lib/libpthread.so.0
#7  0x00be2d6e in clone () from /lib/libc.so.6

Thread 4 (Thread 0xb51ffb70 (LWP 17386)):
#0  0x00110416 in __kernel_vsyscall ()
#1  0x00cd63ac in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0x067dc379 in ?? () from /lib/libglib-2.0.so.0
#3  0x067dc7af in g_async_queue_pop () from /lib/libglib-2.0.so.0
#4  0x00169cce in sync_request_thread_cb (cFile=0x8409f80) at camel-db.c:80
#5  0x06831480 in ?? () from /lib/libglib-2.0.so.0
#6  0x00cd2b39 in start_thread () from /lib/libpthread.so.0
#7  0x00be2d6e in clone () from /lib/libc.so.6

Thread 3 (Thread 0xb5d17b70 (LWP 17385)):
#0  0x00110416 in __kernel_vsyscall ()
#1  0x00cd63ac in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0x067dc379 in ?? () from /lib/libglib-2.0.so.0
#3  0x067dc7af in g_async_queue_pop () from /lib/libglib-2.0.so.0
#4  0x00169cce in sync_request_thread_cb (cFile=0x8408a48) at camel-db.c:80
#5  0x06831480 in ?? () from /lib/libglib-2.0.so.0
#6  0x00cd2b39 in start_thread () from /lib/libpthread.so.0
#7  0x00be2d6e in clone () from /lib/libc.so.6

Thread 2 (Thread 0xb7dbeb70 (LWP 17382)):
#0  0x00110416 in __kernel_vsyscall ()
#1  0x00bd7d96 in poll () from /lib/libc.so.6
#2  0x0681752c in g_poll () from /lib/libglib-2.0.so.0
#3  0x06809d44 in ?? () from /lib/libglib-2.0.so.0
#4  0x0680a4af in g_main_loop_run () from /lib/libglib-2.0.so.0
#5  0x0697e4d5 in ?? () from /lib/libgio-2.0.so.0
#6  0x06831480 in ?? () from /lib/libglib-2.0.so.0
#7  0x00cd2b39 in start_thread () from /lib/libpthread.so.0
#8  0x00be2d6e in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb7fbf890 (LWP 17376)):
#0  0x00110416 in __kernel_vsyscall ()
#1  0x00ba1996 in nanosleep () from /lib/libc.so.6
#2  0x00bdbaec in usleep () from /lib/libc.so.6
#3  0x002206d2 in unixSleep (NotUsed=0x1cf260, microseconds=22000) at sqlite3.c:29377
#4  0x001dfb0e in sqlite3OsSleep (ptr=0x8407450, count=7) at sqlite3.c:15507
#5  sqliteDefaultBusyCallback (ptr=0x8407450, count=7) at sqlite3.c:54718
#6  0x001da908 in sqlite3InvokeBusyHandler (pArg=0x84084c0) at sqlite3.c:120277
#7  btreeInvokeBusyHandler (pArg=0x84084c0) at sqlite3.c:52066
#8  0x001d9e80 in pager_wait_on_lock (pPager=0x8408940, locktype=1) at sqlite3.c:42884
#9  0x00218cfd in sqlite3PagerSharedLock (pPager=0x8408940) at sqlite3.c:44069
#10 0x00219712 in lockBtree (p=0x8408480, wrflag=0) at sqlite3.c:52746
#11 sqlite3BtreeBeginTrans (p=0x8408480, wrflag=0) at sqlite3.c:53084
#12 0x00257c40 in sqlite3VdbeExec (p=0x959aa38) at sqlite3.c:69555
#13 0x0023a92d in sqlite3Step (pStmt=0x959aa38) at sqlite3.c:64826
#14 sqlite3_step (pStmt=0x959aa38) at sqlite3.c:64892
#15 0x0023ed1c in sqlite3_exec (db=0x8407450, zSql=<value optimized out>, xCallback=0x2e2eca0 <camel_read_mir_callback>, pArg=0xbffff0d8, pzErrMsg=0xbffff03c) at sqlite3.c:94953
#16 0x00165be1 in camel_db_select (cdb=0x8408918, stmt=0x959cd18 "SELECT uid, flags, size, dsent, dreceived, subject, mail_from, mail_to, mail_cc, mlist, part, labels, usertags, cinfo, bdata FROM 'Inbox' WHERE uid = '525668'", callback=0x2e2eca0 <camel_read_mir_callback>, data=0xbffff0d8, error=0x0) at camel-db.c:970
#17 0x00165e8d in camel_db_read_message_info_record_with_uid (cdb=0x8408918, folder_name=0x84309e0 "Inbox", uid=0x8748868 "525668", p=0xbffff0d8, read_mir_callback=0x2e2eca0 <camel_read_mir_callback>, error=0x0) at camel-db.c:1909
#18 0x02e2ffeb in message_info_from_uid (s=0x846c008, uid=0x8748868 "525668") at camel-folder-summary.c:1279
#19 0x02e2f685 in camel_folder_summary_uid (summary=0x846c008, uid=0x8748868 "525668") at camel-folder-summary.c:1325
#20 0x02e63dd0 in camel_vee_summary_add (s=0x8c2f4d0, summary=0x846c008, uid=0x8748868 "525668", hash=0xbffff294 "rGkUcdfp") at camel-vee-summary.c:472
#21 0x02e5ef3d in vee_folder_add_uid (uidin=0x8748868 "525668", value=0x1, u=0xbffff28c) at camel-vee-folder.c:89
#22 folder_added_uid (uidin=0x8748868 "525668", value=0x1, u=0xbffff28c) at camel-vee-folder.c:719
#23 0x067f6965 in g_hash_table_foreach () from /lib/libglib-2.0.so.0
#24 0x02e61b25 in vee_folder_rebuild_folder (vee_folder=0x8b5b300, source=0x8407948, error=0x0) at camel-vee-folder.c:1781
#25 0x02e61e41 in vee_folder_add_folder (vee_folder=0x8b5b300, sub=0x8407948) at camel-vee-folder.c:1458
#26 0x02e5dd3e in camel_vee_folder_add_folder (vf=0x8b5b300, sub=0x8407948) at camel-vee-folder.c:2123
#27 0x02e57fed in store_get_special (store=<value optimized out>, type=<value optimized out>) at camel-store.c:95
#28 0x01ef0c22 in local_get_junk (store=0x8407878, error=0x0) at camel-local-store.c:248
#29 0x02e5758b in camel_store_get_folder (store=0x8407878, folder_name=<value optimized out>, flags=0, error=0x0) at camel-store.c:472
#30 0x02e57896 in camel_store_get_junk (store=0x8407878, error=0x0) at camel-store.c:966
#31 0x0115ae74 in store_info_new (store=0x8407878, display_name=0x11aeee8 "On This Computer", callback=0x115b480 <mail_store_add_local_done_cb>) at e-mail-store.c:91
#32 mail_store_add (store=0x8407878, display_name=0x11aeee8 "On This Computer", callback=0x115b480 <mail_store_add_local_done_cb>) at e-mail-store.c:177
#33 0x0119568d in do_async_event (m=0x83fc518) at mail-mt.c:621
#34 0x01196cda in idle_async_event (m=0x83fc518) at mail-mt.c:633
#35 0x06803fd2 in ?? () from /lib/libglib-2.0.so.0
#36 0x068060b5 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#37 0x06809f68 in ?? () from /lib/libglib-2.0.so.0
#38 0x0680a4af in g_main_loop_run () from /lib/libglib-2.0.so.0
#39 0x03d1a099 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#40 0x0804a18f in main (argc=1, argv=0xbffff814) at main.c:720
(gdb)

Comment 8 Milan Crha 2014-01-14 09:00:29 UTC
Thanks for the update, I search upstream bugzilla and found a good candidate, luckily with a fix included [1], which I will apply to current evolution-data-server package for testing.

[1] https://bugzilla.gnome.org/show_bug.cgi?id=640054

Comment 9 Milan Crha 2014-01-14 09:41:28 UTC
Created attachment 849826 [details]
backported upstream eds patch

for evolution-data-server;

This is the backported upstream patch I used to build evolution-data-server-2.32.3-18.2.el6. I've a test package with it applied for you, at [1]. Please let me know when you've it downloaded, thus I could delete it from there, same as whether it works for you or not. Thanks in advance.

[1] https://people.gnome.org/~mcrha/1040178/

Comment 10 Richard Hamlin 2014-01-15 02:42:46 UTC
(In reply to Milan Crha from comment #9)
> This is the backported upstream patch I used to build
> evolution-data-server-2.32.3-18.2.el6. I've a test package with it applied
> for you, at [1]. Please let me know when you've it downloaded, thus I could
> delete it from there, same as whether it works for you or not. Thanks in
> advance.

Yes, I downloaded it and it fixes the problem reported above!  Thanks!

(Only wish it had also fixed this old bug:

 "Error while Storing folder 'Sent'.
  Summary and folder mismatch, even after a sync"

But I got that with 2.28 too.  May stem from a crash or full filesystem long ago.
Although I have redundant hardware (RAID10), that does not help me with this, because the software is not fault tolerant!  Wish it was!)

Comment 11 Milan Crha 2014-01-15 09:42:30 UTC
Thanks for the quick testing, I'm marking the bug as patch available, thus it might be applied in some future release.

(In reply to Richard Hamlin from comment #10)
>  "Error while Storing folder 'Sent'.
>   Summary and folder mismatch, even after a sync"

If I recall correctly, the 2.32.x should be free of this error, if the underlying data are not already corrupted, which means once the summary is regenerated it should not break again. Because of that, I guess the summary left broken from the 2.28.x version. Try this, please:
a) close evolution
b) go to ~/.local/share/evolution/mail/local
c) move away the folders.db file
d) run evolution

the folders.db file will be regenerated from scratch, thus it might not be broken and the error should go away. Other accounts may have the folders.db file stored elsewhere.

Comment 12 Milan Crha 2014-02-25 14:48:24 UTC
*** Bug 1039689 has been marked as a duplicate of this bug. ***

Comment 17 RHEL Program Management 2014-04-07 21:51:34 UTC
This request was evaluated by Red Hat Product Management for
inclusion in a Red Hat Enterprise Linux release.  Product
Management has requested further review of this request by
Red Hat Engineering, for potential inclusion in a Red Hat
Enterprise Linux release for currently deployed products.
This request is not yet committed for inclusion in a release.

Comment 19 Milan Crha 2014-04-08 11:09:07 UTC
Oops, the fix comes to the evolution-data-server, not evolution. I've set a wrong component on the bug report.

Comment 21 RHEL Program Management 2014-04-08 20:52:07 UTC
This request was evaluated by Red Hat Product Management for
inclusion in a Red Hat Enterprise Linux release.  Product
Management has requested further review of this request by
Red Hat Engineering, for potential inclusion in a Red Hat
Enterprise Linux release for currently deployed products.
This request is not yet committed for inclusion in a release.

Comment 24 errata-xmlrpc 2014-10-14 04:43:57 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2014-1418.html


Note You need to log in before you can comment on or make changes to this bug.