Bug 3476

Summary: loading a certain message's remote content causes hang and 200% CPU
Product: Claws Mail (GTK 2) Reporter: Dieter Plaetinck <dieter>
Component: Plugins/FancyAssignee: users
Status: NEW ---    
Severity: normal CC: claws-bugs-20218
Priority: P3    
Version: 3.12.0   
Hardware: PC   
OS: Linux   
Attachments:
Description Flags
email triggering the issue none

Description Dieter Plaetinck 2015-07-22 17:16:54 UTC
Created attachment 1546 [details]
email triggering the issue

the attached msg causes Claws to hang when remote content is enabled in the fancy plugin
Comment 1 Khumba 2015-10-02 08:23:43 UTC
That email works for me...  Loaded it into my local IMAP server and tested with Claws 3.12.0, webkitgtk 2.4.9, NixOS master.
Comment 2 Dieter Plaetinck 2015-10-02 09:53:04 UTC
@Khumba, the images load, and you're able to go to other emails once the email has finished loading?

for me, it the UI gets stuck at "loading 50%", it shows no images, when I click on other emails, it doesn't open them.
it takes a while for cpu to climb to 200% though, i wonder if that only happens when i switch to another window and then back. but the UI always hangs for me.

i just tried it again with Claws Mail version 3.12.0


System Information
GTK+ 2.24.28 / GLib 2.44.1
Locale: en_US.UTF-8 (charset: UTF-8)
Operating System: Linux 4.2.1-1-ARCH (x86_64)
Comment 3 Khumba 2015-10-02 17:29:44 UTC
Okay, bug confirmed on Gentoo (all the same versions as in your and my posts, except LANG=en_CA.UTF-8 and kernel 4.0.5-gentoo).
Comment 4 Khumba 2015-10-02 18:08:22 UTC
When the crash occurs, Claws has two "pool" threads that are taking the 200% CPU.

(gdb) i thr
  Id   Target Id         Frame
  18   Thread 0x7fffe7e49700 (LWP 4314) "gmain" 0x00007ffff3a965cd in poll () at ../sysdeps/unix/syscall-template.S:81
  17   Thread 0x7fffe6646700 (LWP 4321) "gdbus" 0x00007ffff3a965cd in poll () at ../sysdeps/unix/syscall-template.S:81
  16   Thread 0x7fffe7648700 (LWP 4389) "claws-mail" pthread_cond_wait () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  15   Thread 0x7fffe6e47700 (LWP 4795) "claws-mail" pthread_cond_wait () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  14   Thread 0x7fff8bcf2700 (LWP 4796) "claws-mail" pthread_cond_wait () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  13   Thread 0x7fff8ae04700 (LWP 4799) "claws-mail" pthread_cond_wait () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  12   Thread 0x7fff8a603700 (LWP 4800) "claws-mail" pthread_cond_wait () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  11   Thread 0x7fff89e02700 (LWP 4801) "claws-mail" pthread_cond_wait () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  10   Thread 0x7fff893fb700 (LWP 4814) "claws-mail" pthread_cond_wait () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  9    Thread 0x7fff88bfa700 (LWP 4815) "claws-mail" pthread_cond_wait () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  8    Thread 0x7fff83fff700 (LWP 4816) "claws-mail" pthread_cond_wait () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  7    Thread 0x7fff837fe700 (LWP 4817) "claws-mail" pthread_cond_wait () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  6    Thread 0x7fff82ffd700 (LWP 4818) "claws-mail" pthread_cond_wait () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  5    Thread 0x7fff827fc700 (LWP 4819) "claws-mail" pthread_cond_wait () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  4    Thread 0x7fff81ffb700 (LWP 4820) "claws-mail" pthread_cond_wait () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  3    Thread 0x7fff63fff700 (LWP 4884) "pool" 0x00007fff801b186c in ?? () from /usr/lib64/gio/modules/libgiognutls.so
  2    Thread 0x7fff80fd1700 (LWP 4821) "pool" 0x00007fff801b1864 in ?? () from /usr/lib64/gio/modules/libgiognutls.so
* 1    Thread 0x7ffff7fab940 (LWP 4238) "claws-mail" 0x00007ffff3a965cd in poll () at ../sysdeps/unix/syscall-template.S:81
(gdb) bt 2
#0  0x00007ffff3a965cd in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007ffff4890ea4 in g_main_context_poll (priority=2147483647, n_fds=7, fds=0x4dd3ac0, timeout=99, context=0xa8eae0) at /var/tmp/portage/dev-libs/glib-2.44.1/work/glib-2.44.1/glib/gmain.c:4103
(More stack frames follow...)
(gdb) bt 3
#0  0x00007ffff3a965cd in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007ffff4890ea4 in g_main_context_poll (priority=2147483647, n_fds=7, fds=0x4dd3ac0, timeout=99, context=0xa8eae0) at /var/tmp/portage/dev-libs/glib-2.44.1/work/glib-2.44.1/glib/gmain.c:4103
#2  g_main_context_iterate (context=0xa8eae0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.44.1/work/glib-2.44.1/glib/gmain.c:3803
(More stack frames follow...)
Comment 5 Khumba 2015-10-02 18:17:08 UTC
Also happens with 3.11.1.  (Sorry for the mail spam.)