Bug 124718 - [WebKitGtk][WK2] WebProcess 100% CPU usage for no apparent reason
Summary: [WebKitGtk][WK2] WebProcess 100% CPU usage for no apparent reason
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Major
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-11-21 08:00 PST by Sergio Villar Senin
Modified: 2017-03-11 10:52 PST (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sergio Villar Senin 2013-11-21 08:00:53 PST
Every now and then the WebProcess rockets to 100% CPU usage for no apparent reason, no dynamic content, no multimedia play, no workers...

We should investigate what's going on there. CC'ing Carlos who also noticed this behavior.
Comment 1 Sergio Villar Senin 2013-11-21 08:05:30 PST
This is a backtrace I got (from a Release build so not extremely useful). It looks like there are 3 running threads doing gc. Might be the reason?

(gdb) t apply all bt

Thread 12 (Thread 0x7f713ff72700 (LWP 29044)):
#0  0x00007f714be8d19d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f714cdfc0c4 in g_poll (fds=0x7f71380010c0, nfds=3, timeout=-1) at gpoll.c:132
#2  0x00007f714cdeb5a2 in g_main_context_poll (context=0xe1e160, timeout=-1, priority=2147483647, fds=0x7f71380010c0, n_fds=3) at gmain.c:4006
#3  0x00007f714cdeaf2b in g_main_context_iterate (context=0xe1e160, block=1, dispatch=1, self=0xdbc4a0) at gmain.c:3707
#4  0x00007f714cdeb386 in g_main_loop_run (loop=0xe1e0f0) at gmain.c:3906
#5  0x00007f714d4480d4 in gdbus_shared_thread_func (user_data=0xe1e130) at gdbusprivate.c:278
#6  0x00007f714ce180e1 in g_thread_proxy (data=0xdbc4a0) at gthread.c:798
#7  0x00007f714c163e0e in start_thread (arg=0x7f713ff72700) at pthread_create.c:311
#8  0x00007f714be9893d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 11 (Thread 0x7f713eee2700 (LWP 29045)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f7152c53194 in WTF::TCMalloc_PageHeap::scavengerThread() () from /opt/gnome3/lib64/libjavascriptcoregtk-3.0.so.0
#2  0x00007f7152c531b9 in WTF::TCMalloc_PageHeap::runScavengerThread(void*) () from /opt/gnome3/lib64/libjavascriptcoregtk-3.0.so.0
#3  0x00007f714c163e0e in start_thread (arg=0x7f713eee2700) at pthread_create.c:311
#4  0x00007f714be9893d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 10 (Thread 0x7f713e5df700 (LWP 29046)):
#0  0x00007f714be8d19d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f714cdfc0c4 in g_poll (fds=0x7f70e40010e0, nfds=1, timeout=-1) at gpoll.c:132
#2  0x00007f714cdeb5a2 in g_main_context_poll (context=0xeb8b20, timeout=-1, priority=2147483647, fds=0x7f70e40010e0, n_fds=1) at gmain.c:4006
#3  0x00007f714cdeaf2b in g_main_context_iterate (context=0xeb8b20, block=1, dispatch=1, self=0x7f70e8002060) at gmain.c:3707
#4  0x00007f714cdeb386 in g_main_loop_run (loop=0xec7f40) at gmain.c:3906
#5  0x00007f7152c6c01a in WTF::wtfThreadEntryPoint(void*) () from /opt/gnome3/lib64/libjavascriptcoregtk-3.0.so.0
#6  0x00007f714c163e0e in start_thread (arg=0x7f713e5df700) at pthread_create.c:311
#7  0x00007f714be9893d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 9 (Thread 0x7f713ddde700 (LWP 29047)):
#0  0x00007f714be8d19d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f714cdfc0c4 in g_poll (fds=0x7f70f00010e0, nfds=1, timeout=-1) at gpoll.c:132
#2  0x00007f714cdeb5a2 in g_main_context_poll (context=0xe642d0, timeout=-1, priority=2147483647, fds=0x7f70f00010e0, n_fds=1) at gmain.c:4006
#3  0x00007f714cdeaf2b in g_main_context_iterate (context=0xe642d0, block=1, dispatch=1, self=0xe7c470) at gmain.c:3707
#4  0x00007f714cdeb386 in g_main_loop_run (loop=0xec7f60) at gmain.c:3906
#5  0x00007f7152c6c01a in WTF::wtfThreadEntryPoint(void*) () from /opt/gnome3/lib64/libjavascriptcoregtk-3.0.so.0
#6  0x00007f714c163e0e in start_thread (arg=0x7f713ddde700) at pthread_create.c:311
#7  0x00007f714be9893d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 8 (Thread 0x7f713d5dd700 (LWP 29048)):
#0  0x00007f714be8d19d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f714cdfc0c4 in g_poll (fds=0x7f70ec0010e0, nfds=3, timeout=-1) at gpoll.c:132
#2  0x00007f714cdeb5a2 in g_main_context_poll (context=0xe96340, timeout=-1, priority=2147483647, fds=0x7f70ec0010e0, n_fds=3) at gmain.c:4006
#3  0x00007f714cdeaf2b in g_main_context_iterate (context=0xe96340, block=1, dispatch=1, self=0x7f70e8003cf0) at gmain.c:3707
#4  0x00007f714cdeb386 in g_main_loop_run (loop=0xdc8f40) at gmain.c:3906
#5  0x00007f7152c6c01a in WTF::wtfThreadEntryPoint(void*) () from /opt/gnome3/lib64/libjavascriptcoregtk-3.0.so.0
#6  0x00007f714c163e0e in start_thread (arg=0x7f713d5dd700) at pthread_create.c:311
#7  0x00007f714be9893d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 7 (Thread 0x7f713cbd8700 (LWP 29049)):
#0  0x00007f714be8d19d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f714cdfc0c4 in g_poll (fds=0x7f70e80010c0, nfds=1, timeout=-1) at gpoll.c:132
#2  0x00007f714cdeb5a2 in g_main_context_poll (context=0xeb6740, timeout=-1, priority=2147483647, fds=0x7f70e80010c0, n_fds=1) at gmain.c:4006
#3  0x00007f714cdeaf2b in g_main_context_iterate (context=0xeb6740, block=1, dispatch=1, self=0xe511e0) at gmain.c:3707
#4  0x00007f714cdeb01a in g_main_context_iteration (context=0xeb6740, may_block=1) at gmain.c:3773
#5  0x00007f713ff7aa99 in dconf_gdbus_worker_thread (user_data=0xeb6740) at dconf-gdbus-thread.c:81
#6  0x00007f714ce180e1 in g_thread_proxy (data=0xe511e0) at gthread.c:798
#7  0x00007f714c163e0e in start_thread (arg=0x7f713cbd8700) at pthread_create.c:311
#8  0x00007f714be9893d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 6 (Thread 0x7f70f687f700 (LWP 29061)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f71529ddbd5 in JSC::BlockAllocator::blockFreeingThreadMain() () from /opt/gnome3/lib64/libjavascriptcoregtk-3.0.so.0
#2  0x00007f7152c6c01a in WTF::wtfThreadEntryPoint(void*) () from /opt/gnome3/lib64/libjavascriptcoregtk-3.0.so.0
#3  0x00007f714c163e0e in start_thread (arg=0x7f70f687f700) at pthread_create.c:311
#4  0x00007f714be9893d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 5 (Thread 0x7f70f607e700 (LWP 29062)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f71529deb33 in JSC::GCThread::waitForNextPhase() () from /opt/gnome3/lib64/libjavascriptcoregtk-3.0.so.0
#2  0x00007f71529debc0 in JSC::GCThread::gcThreadMain() () from /opt/gnome3/lib64/libjavascriptcoregtk-3.0.so.0
#3  0x00007f7152c6c01a in WTF::wtfThreadEntryPoint(void*) () from /opt/gnome3/lib64/libjavascriptcoregtk-3.0.so.0
#4  0x00007f714c163e0e in start_thread (arg=0x7f70f607e700) at pthread_create.c:311
#5  0x00007f714be9893d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 4 (Thread 0x7f70f587d700 (LWP 29063)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f71529deb33 in JSC::GCThread::waitForNextPhase() () from /opt/gnome3/lib64/libjavascriptcoregtk-3.0.so.0
#2  0x00007f71529debc0 in JSC::GCThread::gcThreadMain() () from /opt/gnome3/lib64/libjavascriptcoregtk-3.0.so.0
#3  0x00007f7152c6c01a in WTF::wtfThreadEntryPoint(void*) () from /opt/gnome3/lib64/libjavascriptcoregtk-3.0.so.0
#4  0x00007f714c163e0e in start_thread (arg=0x7f70f587d700) at pthread_create.c:311
#5  0x00007f714be9893d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 3 (Thread 0x7f70f507c700 (LWP 29064)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f71529deb33 in JSC::GCThread::waitForNextPhase() () from /opt/gnome3/lib64/libjavascriptcoregtk-3.0.so.0
#2  0x00007f71529debc0 in JSC::GCThread::gcThreadMain() () from /opt/gnome3/lib64/libjavascriptcoregtk-3.0.so.0
#3  0x00007f7152c6c01a in WTF::wtfThreadEntryPoint(void*) () from /opt/gnome3/lib64/libjavascriptcoregtk-3.0.so.0
#4  0x00007f714c163e0e in start_thread (arg=0x7f70f507c700) at pthread_create.c:311
#5  0x00007f714be9893d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 2 (Thread 0x7f704fa8d700 (LWP 30709)):
#0  0x00007f714be8d19d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f714cdfc0c4 in g_poll (fds=0x7f70e4001190, nfds=1, timeout=-1) at gpoll.c:132
#2  0x00007f714cdeb5a2 in g_main_context_poll (context=0x2f1f300, timeout=-1, priority=2147483647, fds=0x7f70e4001190, n_fds=1) at gmain.c:4006
#3  0x00007f714cdeaf2b in g_main_context_iterate (context=0x2f1f300, block=1, dispatch=1, self=0x7f70c0008940) at gmain.c:3707
#4  0x00007f714cdeb01a in g_main_context_iteration (context=0x2f1f300, may_block=1) at gmain.c:3773
#5  0x00007f714cdecaee in glib_worker_main (data=0x0) at gmain.c:5472
#6  0x00007f714ce180e1 in g_thread_proxy (data=0x7f70c0008940) at gthread.c:798
#7  0x00007f714c163e0e in start_thread (arg=0x7f704fa8d700) at pthread_create.c:311
#8  0x00007f714be9893d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 1 (Thread 0x7f7153117900 (LWP 29041)):
#0  0x00007f714be8d19d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f714cdfc0c4 in g_poll (fds=0x25b66e0, nfds=4, timeout=1) at gpoll.c:132
#2  0x00007f714cdeb5a2 in g_main_context_poll (context=0xdce5d0, timeout=1, priority=2147483647, fds=0x25b66e0, n_fds=4) at gmain.c:4006
#3  0x00007f714cdeaf2b in g_main_context_iterate (context=0xdce5d0, block=1, dispatch=1, self=0xe15a10) at gmain.c:3707
#4  0x00007f714cdeb386 in g_main_loop_run (loop=0xec48d0) at gmain.c:3906
#5  0x00007f7150b83b0d in WebProcessMainGtk () from /opt/gnome3/lib64/libwebkit2gtk-3.0.so.25
#6  0x00007f714bdd1995 in __libc_start_main (main=0x400860 <main>, argc=2, ubp_av=0x7fff2b396148, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff2b396138) at libc-start.c:260
#7  0x000000000040088e in _start ()
Comment 2 Carlos Garcia Campos 2013-11-21 10:07:02 PST
It's probably a timer that is not correctly cancelled.