Bug 1080467

Summary: mark-all-read plugin can cause UI freeze
Product: Red Hat Enterprise Linux 6 Reporter: Aleš Mareček <amarecek>
Component: evolutionAssignee: Matthew Barnes <mbarnes>
Status: CLOSED ERRATA QA Contact: Desktop QE <desktop-qa-list>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 6.5CC: amarecek, fidencio, jkoten, mcrha, tpelka
Target Milestone: rcKeywords: Patch
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: evolution-2.32.3-33.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1089907 (view as bug list) Environment:
Last Closed: 2014-10-14 04:41:22 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
evolution patch none

Description Aleš Mareček 2014-03-25 13:49:28 UTC
Description of problem:
Evolution's UI hangs when authentication is skipped (white UI screen).

$ rpm -q evolution-data-server evolution
evolution-data-server-2.32.3-18.2.el6.x86_64
evolution-2.32.3-30.el6.x86_64
$ cat bt_2013-03-24.txt | grep -v "pass"

[New LWP 26072]
[New LWP 10626]
[New LWP 6954]
[New LWP 6950]
[New LWP 6949]
[New LWP 6948]
[Thread debugging using libthread_db enabled]
__lll_lock_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:136
136	2:	movl	%edx, %eax

Thread 7 (Thread 0x7fa6e36d5700 (LWP 6948)):
#0  0x00000032326df343 in __poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=<value optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x0000003233e43ac9 in g_main_context_poll (context=0x1229430, block=1, dispatch=1, self=<value optimized out>) at gmain.c:3093
#2  g_main_context_iterate (context=0x1229430, block=1, dispatch=1, self=<value optimized out>) at gmain.c:2775
#3  0x0000003233e44275 in g_main_loop_run (loop=0x1229510) at gmain.c:2988
#4  0x00000032366a6024 in gdbus_shared_thread_func (data=<value optimized out>) at gdbusprivate.c:277
#5  0x0000003233e691b4 in g_thread_create_proxy (data=0x1229530) at gthread.c:1897
#6  0x0000003232a079d1 in start_thread (arg=0x7fa6e36d5700) at pthread_create.c:301
#7  0x00000032326e8b6d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 6 (Thread 0x7fa6e1072700 (LWP 6949)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:183
#1  0x0000003233e18012 in g_async_queue_pop_intern_unlocked (queue=0x12956f0, try=0, end_time=0x0) at gasyncqueue.c:416
#2  0x0000003233e183f6 in g_async_queue_pop (queue=0x12956f0) at gasyncqueue.c:456
#3  0x000000350ec26e8a in sync_request_thread_cb (cFile=0x128bf18) at camel-db.c:86
#4  0x0000003233e691b4 in g_thread_create_proxy (data=0x128d760) at gthread.c:1897
#5  0x0000003232a079d1 in start_thread (arg=0x7fa6e1072700) at pthread_create.c:301
#6  0x00000032326e8b6d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 5 (Thread 0x7fa6dbfff700 (LWP 6950)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:183
#1  0x0000003233e18012 in g_async_queue_pop_intern_unlocked (queue=0x12e5b00, try=0, end_time=0x0) at gasyncqueue.c:416
#2  0x0000003233e183f6 in g_async_queue_pop (queue=0x12e5b00) at gasyncqueue.c:456
#3  0x000000350ec26e8a in sync_request_thread_cb (cFile=0x12fc788) at camel-db.c:86
#4  0x0000003233e691b4 in g_thread_create_proxy (data=0x12e5b40) at gthread.c:1897
#5  0x0000003232a079d1 in start_thread (arg=0x7fa6dbfff700) at pthread_create.c:301
#6  0x00000032326e8b6d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 4 (Thread 0x7fa6da1fc700 (LWP 6954)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:183
#1  0x0000003233e18012 in g_async_queue_pop_intern_unlocked (queue=0x140bdf0, try=0, end_time=0x0) at gasyncqueue.c:416
#2  0x0000003233e183f6 in g_async_queue_pop (queue=0x140bdf0) at gasyncqueue.c:456
#3  0x000000350ec26e5b in sync_request_thread_cb (cFile=0x140c268) at camel-db.c:86
#4  0x0000003233e691b4 in g_thread_create_proxy (data=0x140be30) at gthread.c:1897
#5  0x0000003232a079d1 in start_thread (arg=0x7fa6da1fc700) at pthread_create.c:301
#6  0x00000032326e8b6d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 3 (Thread 0x7fa6da3e6700 (LWP 10626)):
#0  0x00000032326df343 in __poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=<value optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x0000003233e43ac9 in g_main_context_poll (context=0x7fa6a8018370, block=1, dispatch=1, self=<value optimized out>) at gmain.c:3093
#2  g_main_context_iterate (context=0x7fa6a8018370, block=1, dispatch=1, self=<value optimized out>) at gmain.c:2775
#3  0x0000003233e44275 in g_main_loop_run (loop=0x7fa6a8018490) at gmain.c:2988
#4  0x000000323ce47740 in ?? () from /usr/lib64/libORBit-2.so.0
#5  0x0000003233e691b4 in g_thread_create_proxy (data=0x7fa6a800e4c0) at gthread.c:1897
#6  0x0000003232a079d1 in start_thread (arg=0x7fa6da3e6700) at pthread_create.c:301
#7  0x00000032326e8b6d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 2 (Thread 0x7fa6aeffb700 (LWP 26072)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:183
#1  0x000000350e40ed7d in e_flag_wait (flag=0x58e8a60) at e-flag.c:130
#5  0x00007fa6e045e93c in imap_auth_loop (service=0xdd31f0 [CamelImapStore], error=0x0) at camel-imap-store.c:1175
#6  imap_connect (service=0xdd31f0 [CamelImapStore], error=0x0) at camel-imap-store.c:1243
#7  0x0000003510047880 in camel_service_connect (service=0xdd31f0 [CamelImapStore], error=0x0) at camel-service.c:370
#8  0x00007fa6e045ab7c in camel_imap_store_connected (store=0xdd31f0 [CamelImapStore], error=0x0) at camel-imap-store.c:3016
#9  0x00007fa6e044ffbb in replay_offline_journal (imap_store=0xdd31f0 [CamelImapStore], imap_folder=0x7fa6c5e7a830 [CamelImapFolder], error=0x0) at camel-imap-folder.c:328
#10 0x00007fa6e0457bbe in imap_sync (folder=0x7fa6c5e7a830 [CamelImapFolder], expunge=0, error=0x0) at camel-imap-folder.c:1535
#11 0x0000003510034c88 in camel_folder_sync (folder=0x7fa6c5e7a830 [CamelImapFolder], expunge=0, error=0x0) at camel-folder.c:1124
#12 0x00007fa6e5957f2c in refresh_folders_exec (m=0x5aa1f20) at mail-send-recv.c:911
#13 0x00007fa6e5951308 in mail_msg_proxy (msg=0x5aa1f20) at mail-mt.c:469
#14 0x0000003233e6b0fb in g_thread_pool_thread_proxy (data=<value optimized out>) at gthreadpool.c:319
#15 0x0000003233e691b4 in g_thread_create_proxy (data=0x3c49bc0) at gthread.c:1897
#16 0x0000003232a079d1 in start_thread (arg=0x7fa6aeffb700) at pthread_create.c:301
#17 0x00000032326e8b6d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 1 (Thread 0x7fa6ee210980 (LWP 6942)):
#0  __lll_lock_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:136
#1  0x0000003232a09508 in _L_lock_854 () from /lib64/libpthread.so.0
#2  0x0000003232a093d7 in __pthread_mutex_lock (mutex=0xdd3338) at pthread_mutex_lock.c:61
#3  0x0000003233e69cdc in g_static_rec_mutex_lock (mutex=0xdd3330) at gthread.c:1424
#4  0x00007fa6e045cc5a in get_folder_info (store=0xdd31f0 [CamelImapStore], top=0x7fa6b1927f60 "memo-list", flags=3, error=0x0) at camel-imap-store.c:2715
#5  0x0000003510050a0e in camel_store_get_folder_info (store=0xdd31f0 [CamelImapStore], top=0x7fa6b1927f60 "memo-list", flags=3, error=0x0) at camel-store.c:1118
#6  0x00007fa6d8335d74 in mar_got_folder (folder_uri=<value optimized out>, folder=0x7fa6b063ba00 [CamelImapFolder], data=<value optimized out>) at mark-all-read.c:392
#7  0x00007fa6e59526a1 in mail_msg_idle_cb () at mail-mt.c:451
#8  0x0000003233e3feb2 in g_main_dispatch (context=0xddce30) at gmain.c:2149
#9  g_main_context_dispatch (context=0xddce30) at gmain.c:2702
#10 0x0000003233e43d68 in g_main_context_iterate (context=0xddce30, block=1, dispatch=1, self=<value optimized out>) at gmain.c:2780
#11 0x0000003233e44275 in g_main_loop_run (loop=0x12636a0) at gmain.c:2988
#12 0x000000323bf49da7 in IA__gtk_main () at gtkmain.c:1219
#13 0x00000000004027b7 in main (argc=1, argv=0x7fff65e95158) at main.c:720

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 2 Milan Crha 2014-03-25 18:33:11 UTC
Created attachment 878613 [details]
evolution patch

I wanted to backport the upstream fix (as mentioned at bug #1040178 comment #15), but the 2.32.3 is missing some API, thus I rather chose to create a patch on its own, to address the freeze/deadlock part.

I'm currently building evolution-2.32.3-30.1 as a test package at:
https://brewweb.devel.redhat.com/taskinfo?taskID=7252069

Give it a try, please. I do not expect you are able to reproduce this reliably, thus just use it with your day-ly mail workflow and we'll see whether you get the same freeze again.

Comment 3 RHEL Program Management 2014-04-07 21:51:13 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 12 errata-xmlrpc 2014-10-14 04:41:22 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-1416.html