Some more findings: This is the strace snipped that gets repeated all over:
read(3, "\2\0\0\0\0\0\0\0", 16) = 8 futex(0x194b7ac, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x194b7a8, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1 futex(0x194b790, FUTEX_WAKE_PRIVATE, 1) = 1 futex(0x194b5e4, FUTEX_WAKE_PRIVATE, 1) = 1 futex(0x194b7ac, FUTEX_WAIT_PRIVATE, 1280555, NULL) = -1 EAGAIN (Resource temporarily unavailable) futex(0x194b790, FUTEX_WAKE_PRIVATE, 1) = 0 clock_gettime(CLOCK_MONOTONIC, {9601, 188387021}) = 0 clock_gettime(CLOCK_MONOTONIC, {9601, 189027949}) = 0 poll([{fd=3, events=POLLIN}, {fd=22, events=POLLIN}, {fd=23, events=POLLIN}, {fd=36, events=POLLIN}, {fd=39, events=POLLIN}, {fd=48, events=POLLIN}, {fd=49, events=POLLIN}], 7, -1) = 1 ([{fd=3, revents=POLLIN}]) One of the threads when attaching gdb: Thread 15 (Thread 0x40f15460 (LWP 2067)): #0 0x418a8fe4 in __libc_do_syscall () from /lib/arm-linux-gnueabihf/libpthread.so.0 #1 0x418a6432 in do_futex_wait () from /lib/arm-linux-gnueabihf/libpthread.so.0 #2 0x418a64a6 in sem_wait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0 #3 0x413b7ab6 in v8::internal::LinuxSemaphore::Wait (this=0x44b00468) at ../3rdparty/v8/src/platform-linux.cc:857 #4 0x4133f292 in v8::internal::RuntimeProfiler::WaitForSomeIsolateToEnterJS () at ../3rdparty/v8/src/runtime-profiler.cc:420 #5 0x4133f388 in v8::internal::RuntimeProfilerRateLimiter::SuspendIfNecessary (this=this@entry=0x196a2d4) at ../3rdparty/v8/src/runtime-profiler.cc:467 #6 0x413b8928 in v8::internal::SignalSender::Run (this=0x196a2b0) at ../3rdparty/v8/src/platform-linux.cc:1136 #7 0x413b7a98 in v8::internal::ThreadEntry (arg=0x196a2b0) at ../3rdparty/v8/src/platform-linux.cc:733 #8 0x418a1e64 in start_thread () from /lib/arm-linux-gnueabihf/libpthread.so.0 #9 0x410257c8 in ?? () from /lib/arm-linux-gnueabihf/libc.so.6 #10 0x410257c8 in ?? () from /lib/arm-linux-gnueabihf/libc.so.6 Backtrace stopped: previous frame identical to this frame (corrupt stack?) This thread seems to do the futex_waits. According to https://groups.google.com/forum/#!topic/nodejs/XPO7aVOVrds this seems to happen when v8 starts garbage collecting. Other applications using v8 seem to show the exact same behavior. Same strace output and same CPU hogging behavior. And I still can't reproduce this. While it happens every once in a while I still can't trigger this intentionally. (After installing tons of dbgsym packages I don't see the corrupt stack trace from the "dconf worker" any more. So the previous comments might be wrong information) -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1219871 Title: when idle with screen blank, unity8 generates hundreds of context switches per second To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/unity8/+bug/1219871/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs