Re: gtk3 imap connection issue



Both stack traces suggest that it's a locking issue: main thread holding lock A and asking for lock B, while a subthread holds lock B and asks for lock A. Identifying A and B is difficult, however, because the traces have no debugging information from Balsa. Could you rebuild Balsa to include it? Perhaps 'make CFLAGS="-g -O2"'?

Of course, see below. On the way I cleared up two minor mysteries or rather misconceptions of mine: – Only gdb made protected the hanging balsa process from SIGTERM. Outside gdb, SIGTERM does the trick, no need for SIGKILL. – The bug I mentioned about the underscore in my IMAP username being displayed as underlining the following character is a pure display issue and has nothing to with our present concerns.—Which I know because I just discovered that same bug in the stable version of Balsa.

The stack trace with debugging information:

Thread 6 (Thread 0xb055ab40 (LWP 30609)):
#0  0xb7fdd424 in __kernel_vsyscall ()
#1 0xb5b5779b in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #2 0x080de37c in libbalsa_lock_mailbox (mailbox=mailbox@entry=0x843d648) at libbalsa.c:709 #3 0x080e5fa8 in libbalsa_mailbox_open (mailbox=mailbox@entry=0x843d648, err=err@entry=0x852e4e0)
    at mailbox.c:578
#4 0x080674e4 in bndx_open_mailbox (info=0x852e4d8) at balsa-index.c:1106
#5  0xb5b53ce8 in start_thread () from /lib/libpthread.so.0
#6  0xb5a9439e in clone () from /lib/libc.so.6

Thread 4 (Thread 0xb0f79b40 (LWP 30607)):
#0  0xb7fdd424 in __kernel_vsyscall ()
#1 0xb5b5779b in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #2 0x08064e48 in ask_password_mt (mbox=0x0, server=0x8453df8) at balsa-app.c:161
#3  ask_password (server=0x8453df8, mbox=0x0) at balsa-app.c:247
#4 0x0810cb03 in libbalsa_POINTER__OBJECT (closure=0x84a89a8, return_value=0xb0f78d2c, n_param_values=2, param_values=0xb0f78c50, invocation_hint=0xb0f78bfc, marshal_data=0x0) at libbalsa-marshal.c:208
#5  0xb5c92606 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#6  0xb5ca40f5 in ?? () from /usr/lib/libgobject-2.0.so.0
#7 0xb5cac011 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#8  0xb5cac453 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#9 0x0810883a in libbalsa_server_get_password (server=server@entry=0x8453df8, mbox=mbox@entry=0x0)
    at server.c:259
#10 0x08108e8f in libbalsa_server_user_cb (ue=IME_GET_USER_PASS, arg=0x8453df8) at server.c:423
#11 0x0811d3f9 in imap_auth_login (handle=0x84568b0) at imap-auth.c:91
#12 0x0811d9c6 in imap_authenticate (handle=handle@entry=0x84568b0) at imap-auth.c:61 #13 0x08116538 in imap_mbox_handle_connect (ret=0x84568b0, host=0x84a88f0 "imap.lavabit.com",
    over_ssl=over_ssl@entry=0) at imap-handle.c:606
#14 0x080dc2d1 in libbalsa_imap_server_get_handle (imap_server=0x8453df8, err=err@entry=0x0)
    at imap-server.c:713
#15 0x080ea5de in libbalsa_mailbox_imap_get_handle (mimap=mimap@entry=0x843d648, err=err@entry=0x0)
    at mailbox_imap.c:652
#16 0x080eed7d in lbm_imap_check (mailbox=0x843d648) at mailbox_imap.c:1298 #17 libbalsa_mailbox_imap_check (mailbox=0x843d648) at mailbox_imap.c:1335 #18 0x080e5dff in libbalsa_mailbox_check (mailbox=mailbox@entry=0x843d648) at mailbox.c:711 #19 0x0809266a in bw_mailbox_check (mailbox=0x843d648, window=<optimized out>) at main-window.c:3022 #20 bw_mailbox_check (mailbox=0x843d648, window=0x82f8000) at main-window.c:2999
#21 0xb5be1ed6 in g_slist_foreach () from /usr/lib/libglib-2.0.so.0
#22 0x0809242e in bw_check_messages_thread (info=0x83dd9f0) at main-window.c:3050
#23 0xb5b53ce8 in start_thread () from /lib/libpthread.so.0
---Type <return> to continue, or q <return> to quit---
#24 0xb5a9439e in clone () from /lib/libc.so.6

Thread 3 (Thread 0xb1a0ab40 (LWP 30606)):
#0  0xb7fdd424 in __kernel_vsyscall ()
#1  0xb5a8a2ab in poll () from /lib/libc.so.6
#2  0xb5bd417b in g_poll () from /usr/lib/libglib-2.0.so.0
#3  0xb5bc5a70 in ?? () from /usr/lib/libglib-2.0.so.0
#4  0xb5bc5f4b in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#5  0xb298e224 in ?? () from /usr/lib/gio/modules/libdconfsettings.so
#6  0xb5be9d23 in ?? () from /usr/lib/libglib-2.0.so.0
#7  0xb5b53ce8 in start_thread () from /lib/libpthread.so.0
#8  0xb5a9439e in clone () from /lib/libc.so.6

Thread 2 (Thread 0xb3510b40 (LWP 30605)):
#0  0xb7fdd424 in __kernel_vsyscall ()
#1  0xb5a8a2ab in poll () from /lib/libc.so.6
#2  0xb5bd417b in g_poll () from /usr/lib/libglib-2.0.so.0
#3  0xb5bc5a70 in ?? () from /usr/lib/libglib-2.0.so.0
#4  0xb5bc5f4b in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#5  0xb5da23fa in ?? () from /usr/lib/libgio-2.0.so.0
#6  0xb5be9d23 in ?? () from /usr/lib/libglib-2.0.so.0
#7  0xb5b53ce8 in start_thread () from /lib/libpthread.so.0
#8  0xb5a9439e in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb3512840 (LWP 30599)):
#0  0xb7fdd424 in __kernel_vsyscall ()
#1 0xb5b5779b in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #2 0x080de37c in libbalsa_lock_mailbox (mailbox=mailbox@entry=0x843d648) at libbalsa.c:709 #3 0x080e5c20 in libbalsa_mailbox_set_threading (mailbox=0x843d648, thread_type=LB_MAILBOX_THREADING_JWZ)
    at mailbox.c:2495
#4 0x0806d355 in bmbl_open_mailbox (mailbox=mailbox@entry=0x843d648, set_current=set_current@entry=0)
    at balsa-mblist.c:1150
#5 0x0806e57b in balsa_mblist_open_mailbox_hidden (mailbox=mailbox@entry=0x843d648) at balsa-mblist.c:1169 #6 0x08065795 in open_mailbox_by_url (url=0x84a40a0 "imap://carlos_franke imap lavabit com/INBOX", hidden=1)
    at balsa-app.c:516
#7 0x08065925 in open_mailboxes_idle_cb (urls=0x83c69e8) at balsa-app.c:567
#8  0xb5bc3230 in ?? () from /usr/lib/libglib-2.0.so.0
#9 0xb5bc5753 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#10 0xb5bc5af0 in ?? () from /usr/lib/libglib-2.0.so.0
#11 0xb5bc5f4b in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#12 0xb658337d in gtk_main () from /usr/lib/libgtk-3.so.0
---Type <return> to continue, or q <return> to quit---
#13 0x0809a758 in real_main (argv=0x8179058, argc=<optimized out>) at main.c:762 #14 command_line_cb (application=0x816e008, command_line=0x816d390) at main.c:900
#15 0xb36d657e in ffi_call_SYSV () from /usr/lib/libffi.so.6
#16 0xb36d62df in ffi_call () from /usr/lib/libffi.so.6
#17 0xb5c92f3c in g_cclosure_marshal_generic () from /usr/lib/libgobject-2.0.so.0
#18 0xb5c92606 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#19 0xb5ca40f5 in ?? () from /usr/lib/libgobject-2.0.so.0
#20 0xb5cac011 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#21 0xb5cac453 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#22 0xb5d6addd in g_application_run () from /usr/lib/libgio-2.0.so.0
#23 0x080608d7 in main (argc=1, argv=0xbffff954) at main.c:920

Attachment: pgpnn4021gYUL.pgp
Description: PGP signature



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]