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
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs