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