Bug 3552 - Hang when retrieving IMAP messages behind a captive portal
Summary: Hang when retrieving IMAP messages behind a captive portal
Status: NEW
Alias: None
Product: Claws Mail (GTK 2)
Classification: Unclassified
Component: Other (show other bugs)
Version: 3.11.1
Hardware: PC Linux
: P3 normal
Assignee: users
URL:
Depends on:
Blocks:
 
Reported: 2015-10-29 12:15 UTC by Max
Modified: 2015-11-17 13:14 UTC (History)
0 users

See Also:


Attachments

Description Max 2015-10-29 12:15:49 UTC
I access the internet primarily through wireless internet with a captive portal, i.e. when you first connect, all traffic is redirected to the login page until you authenticate.  Sometimes (but not all the time) claws will hang upon trying to update my IMAP account.

Steps to reproduce:

1. Connect to the wireless internet (when not yet authenticated)
2. If claws has not already begun an automatic mail check, initiate a manual mail check.
3. Authenticate in the browser
4. Claws hangs

Note that claws does not hang until a successful connection has been established.  Before authentication in the portal, claws responds normally.  

A temporary workaround is to just ensure that claws is not in the middle of a mail check when you authenticate.

I am running Claws 3.11.1 (3.11.1-1ubuntu1ppa1~precise2 package on Ubuntu 12.04).  It is compiled with NetworkManager support (NetworkManager version 0.9.4.0).

Here is the bt:


Thread 55 (Thread 0x7fffeba5f700 (LWP 25960)):
#0  0x00007ffff511b0fe in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007ffff4c4e925 in g_cond_wait_until () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007ffff4be91c1 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff4be97da in g_async_queue_timeout_pop () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007ffff4c35164 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007ffff4c349e5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#6  0x00007ffff5116e9a in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#7  0x00007ffff408b8bd in clone () from /lib/x86_64-linux-gnu/libc.so.6
#8  0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7fffd16d8700 (LWP 492)):
#0  0x00007ffff407ff03 in poll () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007fffd28fe35f in ?? () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#2  0x00007fffd28ef76c in pa_mainloop_poll () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#3  0x00007fffd28efdd9 in pa_mainloop_iterate () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#4  0x00007fffd28efe90 in pa_mainloop_run () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#5  0x00007fffd28fe30f in ?? () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#6  0x00007fffd24a7d18 in ?? () from /usr/lib/x86_64-linux-gnu/libpulsecommon-1.1.so
#7  0x00007ffff5116e9a in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#8  0x00007ffff408b8bd in clone () from /lib/x86_64-linux-gnu/libc.so.6
#9  0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7fffd3928700 (LWP 491)):
#0  0x00007ffff511ad84 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007ffff463d4eb in mailsem_internal_wait () from /usr/lib/x86_64-linux-gnu/libetpan.so.17
#2  0x00000000005ea839 in thread_run (data=0xf0caf0) at etpan-thread-manager.c:331
#3  0x00007ffff5116e9a in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#4  0x00007ffff408b8bd in clone () from /lib/x86_64-linux-gnu/libc.so.6
#5  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7fffeb25e700 (LWP 490)):
---Type <return> to continue, or q <return> to quit---
#0  0x00007ffff407ff03 in poll () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007ffff4c13036 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007ffff4c1349a in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff6c20406 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#4  0x00007ffff4c349e5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007ffff5116e9a in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#6  0x00007ffff408b8bd in clone () from /lib/x86_64-linux-gnu/libc.so.6
#7  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7ffff7fad9c0 (LWP 486)):
#0  0x00007ffff3fce0d5 in raise () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007ffff3fd183b in abort () from /lib/x86_64-linux-gnu/libc.so.6
#2  0x00007ffff400b61e in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#3  0x00007ffff4015e16 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#4  0x00000000005d5556 in session_destroy (session=0x12ed510) at session.c:228
#5  0x00000000004a2c04 in imap_session_get (folder=0xd36800) at imap.c:1086
#6  0x00000000004a4d7e in imap_scan_required (folder=0xd36800, _item=0xd320b0) at imap.c:4768
#7  0x000000000049ab7d in folderview_check_new (folder=0xd36800) at folderview.c:1113
#8  0x00000000004b26ef in inc_all_account_mail (mainwin=0xa45a60, autocheck=0, notify=0) at inc.c:362
#9  0x00007ffff4ecfeca in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#10 0x00007ffff4ee8741 in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#11 0x00007ffff4ee9754 in g_signal_emit_by_name () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#12 0x00007ffff4ecfeca in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#13 0x00007ffff4ee8741 in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#14 0x00007ffff4ee9242 in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#15 0x00007ffff71e6845 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#16 0x00007ffff4ecfeca in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#17 0x00007ffff4ee8741 in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#18 0x00007ffff4ee9242 in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#19 0x00007ffff71e566d in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#20 0x00007ffff728edd8 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#21 0x00007ffff4ecfca2 in g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#22 0x00007ffff4ee1339 in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#23 0x00007ffff4ee8d7e in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#24 0x00007ffff4ee9242 in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#25 0x00007ffff73a9191 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#26 0x00007ffff728cf63 in gtk_propagate_event () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#27 0x00007ffff728d2c3 in gtk_main_do_event () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#28 0x00007ffff6f01cac in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#29 0x00007ffff4c12d53 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#30 0x00007ffff4c130a0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#31 0x00007ffff4c1349a in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#32 0x00007ffff728c2f7 in gtk_main () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#33 0x00000000004491cd in main (argc=1, argv=0x7fffffffe038) at main.c:1559
Comment 1 Paul 2015-11-17 11:38:32 UTC
You probably just need to set the 'Socket I/O timeout' a bit lower.
Comment 2 Max 2015-11-17 13:14:43 UTC
(In reply to comment #1)
> You probably just need to set the 'Socket I/O timeout' a bit lower.

Currently it is set at 60 seconds.  The hang is definitely a true hang and not just waiting for the timeout.  (After this bug occurs, claws remains frozen for at least 15 minutes... I haven't tried it for any longer.)  Also, during this bug, claws will stop drawing, whereas normally it continues to draw while fetching mail.

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