unity-panel-service consumes 100% of CPU

Bug #1211458 reported by Steve Magoun
70
This bug affects 17 people
Affects Status Importance Assigned to Milestone
Unity
Triaged
High
Unassigned
unity (Ubuntu)
Triaged
High
Unassigned

Bug Description

unity-panel-service frequently gets into a tight loop and consumes 100% of the CPU. It's not always in this state, but often is. A side effect of this state is that indicators and menus can be very slow (~30sec) to open. The indicators/menus open quickly when u-p-s is not consuming lots of CPU. u-p-s can stay in this state for a couple minutes before returning to a quiescent state.

I don't know the exact steps to reproduce this behavior. It's a regression from 13.04.

Stack trace of u-p-s when it's consuming 100% of CPU:

(gdb) thread apply all bt

Thread 3 (Thread 0x7f5130b6e700 (LWP 2118)):
#0 0x00007f51387273dd in poll () at ../sysdeps/unix/syscall-template.S:81
#1 0x00007f5138c66394 in g_main_context_poll (priority=2147483647, n_fds=3,
    fds=0x7f512c0010c0, timeout=-1, context=0x2498e40)
    at /build/buildd/glib2.0-2.37.3/./glib/gmain.c:3999
#2 g_main_context_iterate (context=0x2498e40, block=block@entry=1,
    dispatch=dispatch@entry=1, self=<optimized out>)
    at /build/buildd/glib2.0-2.37.3/./glib/gmain.c:3700
#3 0x00007f5138c667fa in g_main_loop_run (loop=0x2498dd0)
    at /build/buildd/glib2.0-2.37.3/./glib/gmain.c:3899
#4 0x00007f5139461646 in gdbus_shared_thread_func (user_data=0x2498e10)
    at /build/buildd/glib2.0-2.37.3/./gio/gdbusprivate.c:278
#5 0x00007f5138c8ac25 in g_thread_proxy (data=0x24454f0)
    at /build/buildd/glib2.0-2.37.3/./glib/gthread.c:798
#6 0x00007f5138a08f6e in start_thread (arg=0x7f5130b6e700)
    at pthread_create.c:311
#7 0x00007f5138733e2d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 2 (Thread 0x7f512bdf3700 (LWP 2164)):
#0 0x00007f51387273dd in poll () at ../sysdeps/unix/syscall-template.S:81
#1 0x00007f5138c66394 in g_main_context_poll (priority=2147483647, n_fds=1,
---Type <return> to continue, or q <return> to quit---
    fds=0x7f51240010c0, timeout=-1, context=0x2442d60)
    at /build/buildd/glib2.0-2.37.3/./glib/gmain.c:3999
#2 g_main_context_iterate (context=context@entry=0x2442d60,
    block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
    at /build/buildd/glib2.0-2.37.3/./glib/gmain.c:3700
#3 0x00007f5138c6649c in g_main_context_iteration (context=0x2442d60,
    may_block=1) at /build/buildd/glib2.0-2.37.3/./glib/gmain.c:3766
#4 0x00007f512bdfaa9d in ?? ()
   from /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so
#5 0x00007f5138c8ac25 in g_thread_proxy (data=0x25b2f70)
    at /build/buildd/glib2.0-2.37.3/./glib/gthread.c:798
#6 0x00007f5138a08f6e in start_thread (arg=0x7f512bdf3700)
    at pthread_create.c:311
#7 0x00007f5138733e2d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 1 (Thread 0x7f513adff980 (LWP 2103)):
#0 0x00007f5138f3edd5 in handlers_find (instance=instance@entry=0x247eec0,
    mask=<optimized out>,
    mask@entry=(G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA),
    signal_id=signal_id@entry=0, detail=detail@entry=0,
    closure=closure@entry=0x0,
    func=func@entry=0x7f5139dc0460 <gtk_style_context_cascade_changed>,
---Type <return> to continue, or q <return> to quit---
    data=data@entry=0x518d3d0, one_and_only=one_and_only@entry=0)
    at /build/buildd/glib2.0-2.37.3/./gobject/gsignal.c:555
#1 0x00007f5138f3f0df in signal_handlers_foreach_matched_R (
    instance=instance@entry=0x247eec0,
    mask=mask@entry=(G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA),
    signal_id=signal_id@entry=0, detail=detail@entry=0,
    closure=closure@entry=0x0,
    func=func@entry=0x7f5139dc0460 <gtk_style_context_cascade_changed>,
    data=data@entry=0x518d3d0,
    callback=callback@entry=0x7f5138f3e900 <g_signal_handler_disconnect>)
    at /build/buildd/glib2.0-2.37.3/./gobject/gsignal.c:2730
#2 0x00007f5138f47147 in g_signal_handlers_disconnect_matched (
    instance=0x247eec0,
    mask=mask@entry=(G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA),
    signal_id=signal_id@entry=0, detail=detail@entry=0,
    closure=closure@entry=0x0,
    func=func@entry=0x7f5139dc0460 <gtk_style_context_cascade_changed>,
    data=data@entry=0x518d3d0)
    at /build/buildd/glib2.0-2.37.3/./gobject/gsignal.c:2880
#3 0x00007f5139dc04dc in gtk_style_context_set_cascade (
    context=context@entry=0x518d3d0, cascade=cascade@entry=0x0)
    at /build/buildd/gtk+3.0-3.8.2/./gtk/gtkstylecontext.c:700
#4 0x00007f5139dc20b6 in gtk_style_context_finalize (object=0x518d3d0)
---Type <return> to continue, or q <return> to quit---
    at /build/buildd/gtk+3.0-3.8.2/./gtk/gtkstylecontext.c:858
#5 0x00007f5138f32c9a in g_object_unref (_object=0x518d3d0)
    at /build/buildd/glib2.0-2.37.3/./gobject/gobject.c:3194
#6 0x00007f5139e5ceda in gtk_widget_finalize (object=0x5451c00)
    at /build/buildd/gtk+3.0-3.8.2/./gtk/gtkwidget.c:10850
#7 0x00007f5138f32c9a in g_object_unref (_object=0x5451c00)
    at /build/buildd/glib2.0-2.37.3/./gobject/gobject.c:3194
#8 0x00007f5139cabf50 in gtk_container_destroy (widget=0x54ecb30)
    at /build/buildd/gtk+3.0-3.8.2/./gtk/gtkcontainer.c:1377
#9 0x00007f5138f2e268 in g_closure_invoke (closure=0x241e780,
    return_value=0x0, n_param_values=1, param_values=0x7fff50f0c9a0,
    invocation_hint=0x7fff50f0c940)
    at /build/buildd/glib2.0-2.37.3/./gobject/gclosure.c:777
#10 0x00007f5138f40a64 in signal_emit_unlocked_R (node=node@entry=0x2428450,
    detail=detail@entry=0, instance=instance@entry=0x54ecb30,
    emission_return=emission_return@entry=0x0,
    instance_and_params=instance_and_params@entry=0x7fff50f0c9a0)
    at /build/buildd/glib2.0-2.37.3/./gobject/gsignal.c:3698
#11 0x00007f5138f488ba in g_signal_emit_valist (instance=<optimized out>,
    signal_id=<optimized out>, detail=<optimized out>,
    var_args=var_args@entry=0x7fff50f0cb28)
    at /build/buildd/glib2.0-2.37.3/./gobject/gsignal.c:3326
#12 0x00007f5138f48b92 in g_signal_emit (instance=instance@entry=0x54ecb30,
---Type <return> to continue, or q <return> to quit---
    signal_id=<optimized out>, detail=detail@entry=0)
    at /build/buildd/glib2.0-2.37.3/./gobject/gsignal.c:3382
#13 0x00007f5139e6ac10 in gtk_widget_dispose (object=0x54ecb30)
    at /build/buildd/gtk+3.0-3.8.2/./gtk/gtkwidget.c:10771
#14 0x00007f5138f32c0c in g_object_unref (_object=0x54ecb30)
    at /build/buildd/glib2.0-2.37.3/./gobject/gobject.c:3157
#15 0x00007f5138f31344 in g_cclosure_marshal_VOID__OBJECTv (closure=0x243df00,
    return_value=<optimized out>, instance=<optimized out>,
    args=<optimized out>, marshal_data=0x7f5139d4a6f0 <gtk_menu_remove>,
    n_params=<optimized out>, param_types=0x243df30)
    at /build/buildd/glib2.0-2.37.3/./gobject/gmarshal.c:1316
#16 0x00007f5138f2e497 in _g_closure_invoke_va (closure=0x243df00,
    return_value=0x0, instance=0x568eb30, args=0x7fff50f0ce68, n_params=1,
    param_types=0x243df30)
    at /build/buildd/glib2.0-2.37.3/./gobject/gclosure.c:840
#17 0x00007f5138f482bc in g_signal_emit_valist (instance=0x568eb30,
    signal_id=<optimized out>, detail=<optimized out>,
    var_args=var_args@entry=0x7fff50f0ce68)
    at /build/buildd/glib2.0-2.37.3/./gobject/gsignal.c:3234
#18 0x00007f5138f48b92 in g_signal_emit (instance=<optimized out>,
    signal_id=<optimized out>, detail=detail@entry=0)
    at /build/buildd/glib2.0-2.37.3/./gobject/gsignal.c:3382
#19 0x00007f5139caa4e4 in gtk_container_remove (container=<optimized out>,
---Type <return> to continue, or q <return> to quit---
    widget=<optimized out>)
    at /build/buildd/gtk+3.0-3.8.2/./gtk/gtkcontainer.c:1546
#20 0x00007f5139d5d5ac in gtk_model_menu_binding_populate (
    binding=binding@entry=0x56b6240)
    at /build/buildd/gtk+3.0-3.8.2/./gtk/gtkmodelmenu.c:342
#21 0x00007f5139d5d640 in gtk_model_menu_binding_handle_changes (
    user_data=0x56b6240)
    at /build/buildd/gtk+3.0-3.8.2/./gtk/gtkmodelmenu.c:366
#22 0x00007f513993ac48 in gdk_threads_dispatch (data=0xad58240)
    at /build/buildd/gtk+3.0-3.8.2/./gdk/gdk.c:788
#23 0x00007f5138c660a6 in g_main_dispatch (context=0x247d830)
    at /build/buildd/glib2.0-2.37.3/./glib/gmain.c:3058
#24 g_main_context_dispatch (context=context@entry=0x247d830)
    at /build/buildd/glib2.0-2.37.3/./glib/gmain.c:3634
#25 0x00007f5138c663f8 in g_main_context_iterate (context=0x247d830,
    block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
    at /build/buildd/glib2.0-2.37.3/./glib/gmain.c:3705
#26 0x00007f5138c667fa in g_main_loop_run (loop=0x25f9e00)
    at /build/buildd/glib2.0-2.37.3/./glib/gmain.c:3899
#27 0x00007f5139d3d365 in gtk_main ()
    at /build/buildd/gtk+3.0-3.8.2/./gtk/gtkmain.c:1156
#28 0x0000000000404c87 in main ()
(gdb)

ProblemType: Bug
DistroRelease: Ubuntu 13.10
Package: unity-services 7.1.0+13.10.20130809.1-0ubuntu1
ProcVersionSignature: Ubuntu 3.10.0-6.17-generic 3.10.3
Uname: Linux 3.10.0-6-generic x86_64
NonfreeKernelModules: nvidia
ApportVersion: 2.12-0ubuntu3
Architecture: amd64
CompizPlugins: No value set for `/apps/compiz-1/general/screen0/options/active_plugins'
Date: Mon Aug 12 14:13:56 2013
InstallationDate: Installed on 2010-09-17 (1060 days ago)
InstallationMedia: Ubuntu 10.10 "Maverick Meerkat" - Beta amd64 (20100901.1)
MarkForUpload: True
SourcePackage: unity
UpgradeStatus: Upgraded to saucy on 2013-08-07 (5 days ago)

Revision history for this message
Steve Magoun (smagoun) wrote :
Stephen M. Webb (bregma)
Changed in unity (Ubuntu):
importance: Undecided → High
status: New → Triaged
Changed in unity:
status: New → Triaged
importance: Undecided → High
milestone: none → 7.1.2
Revision history for this message
Christopher Townsend (townsend) wrote :

Marking this as a duplicate to bug #1199877.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.