Ticket #76 (defect)

Opened 8 months ago

Last modified 8 months ago

Hang when going offline with a GMail IMAP account

Status: closed (fixed)

Reported by: anonymous Assigned to: pvanhoof
Priority: major Milestone: A first release
Component: libtinymail-camel Version:
Keywords: Cc:

It happens with Modest, I have a GMail IMAP account configured and then after refresh the INBOX folder I disconnect the device. I close Modest but the process is still there because tinymail is in a deadlock. See the backtrace

(gdb) thread apply all  bt

Thread 6 (Thread 1127101584 (LWP 4443)):
#0  0x40bb6334 in pthread_cond_wait@@GLIBC_2.4 () from /lib/libpthread.so.0
#1  0x40131088 in pthread_cond_wait@@GLIBC_2.4 () from /lib/libc.so.6
#2  0x43b1cbd0 in camel_imap_folder_start_idle (folder=0x2ac008) at camel-imap-folder.c:4230
#3  0x43b25c68 in camel_imap_store_start_idle (store=0x8fa38) at camel-imap-store.c:308
#4  0x43b2b374 in imap_get_folder_status (store=0x8fa38, folder_name=0x1f5d10 "[Gmail]/Destacados", unseen=0x432e2dac, 
    messages=0x432e2db0, uidnext=0x432e2da8) at camel-imap-store.c:2598
#5  0x4175ad34 in camel_store_get_folder_status (store=0x8fa38, folder_name=0x1f5d10 "[Gmail]/Destacados", unseen=0x432e2dac, 
    messages=0x432e2db0, uidnext=0x432e2da8) at camel-store.c:227
#6  0x416ac2f8 in tny_camel_folder_poke_status_thread (user_data=0x1fe8a0) at tny-camel-folder.c:5271
#7  0x416c1c04 in tny_camel_queue_thread_main_func (user_data=0x133f90) at tny-camel-queue.c:194
#8  0x40b58f2c in g_thread_create_proxy (data=0xfffffffc) at gthread.c:591
#9  0x40bb12ac in start_thread () from /lib/libpthread.so.0
#10 0x40125c18 in clone () from /lib/libc.so.6

Thread 3 (Thread 1152652432 (LWP 4478)):
#0  0x40bb3a70 in pthread_mutex_lock () from /lib/libpthread.so.0
#1  0x40131258 in pthread_mutex_lock () from /lib/libc.so.6
#2  0x40b58454 in IA__g_static_rec_mutex_lock (mutex=0x174940) at gthread.c:269
#3  0x43b25958 in let_idle_die (store=0x8fa38, connect_buz=1) at camel-imap-store.c:221
#4  0x43b2a5b4 in imap_disconnect_offline (service=0x8fa38, clean=0, ex=0x0) at camel-imap-store.c:2105
#5  0x41725550 in disco_disconnect (service=0x8fa38, clean=0, ex=0x0) at camel-disco-store.c:218
#6  0x417525c4 in camel_service_disconnect (service=0x8fa38, clean=0, ex=0x0) at camel-service.c:504
#7  0x43b2f9a0 in camel_imap_store_readline_nl (store=0x8fa38, dest=0x44b40d80, ex=0x44b40d78) at camel-imap-store.c:4386
#8  0x43b1bdd8 in idle_real_start (store=0x8fa38) at camel-imap-folder.c:3783
#9  0x43b1c1d8 in idle_thread (data=0x1f4b80) at camel-imap-folder.c:3919
#10 0x40b58f2c in g_thread_create_proxy (data=0xfffffffc) at gthread.c:591
#11 0x40bb12ac in start_thread () from /lib/libpthread.so.0
#12 0x40125c18 in clone () from /lib/libc.so.6

Thread 1 (Thread 1073857008 (LWP 4438)):
#0  0x4011cd14 in poll () from /lib/libc.so.6
#1  0x40b3bf54 in g_main_context_iterate (context=0xaa288, block=1, dispatch=1, self=0x0) at gmain.c:2979
#2  0x40b3c34c in IA__g_main_loop_run (loop=0xfffa0) at gmain.c:2881
#3  0x40696438 in IA__gtk_main () at gtkmain.c:1155
#4  0x414d82b0 in main (argc=1, argv=0x97570) at modest-main.c:157
#5  0x0000a0b0 in main (argc=6, argv=0xbe9f66b4) at launcher.c:153
#0  0x4011cd14 in poll () from /lib/libc.so.6
(gdb) 

Attachments

Change History

04/03/08 11:27:48: Modified by pvanhoof

  • status changed from new to closed.
  • resolution set to fixed.
  • milestone set to A first release.

Fixed in changeset #3542

04/03/08 11:29:00: Modified by pvanhoof

ps. The problem was (most likely) in a incorrect order of lock-lock/unlock-unlock of two dependent recursive locks (idle_prefix and idle).


Add/Change #76 (Hang when going offline with a GMail IMAP account)




Change Properties
Action