HUD denial of service

Bug #948820 reported by Jean-Baptiste Lallement
22
This bug affects 4 people
Affects Status Importance Assigned to Milestone
Application Menu Indicator
Fix Released
High
desrt
Unity
Fix Released
High
Gord Allott
indicator-appmenu (Ubuntu)
Fix Released
High
Unassigned
Precise
Fix Released
High
Unassigned
unity (Ubuntu)
Fix Released
Undecided
Unassigned
Precise
Fix Released
Undecided
Unassigned

Bug Description

TEST CASE
1. Tap <Alt> to open the HUD
2. Press a key and keep it pressed for 2 seconds in order to get a long string

RESULT:
HUD uses 100% CPU and cannot be used until it recovers minutes later

Top shows 'hud-service' uses 100% of one core.

ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: indicator-appmenu 0.3.91-0ubuntu2
ProcVersionSignature: Ubuntu 3.2.0-18.28-generic 3.2.9
Uname: Linux 3.2.0-18-generic x86_64
ApportVersion: 1.94-0ubuntu2
Architecture: amd64
Date: Wed Mar 7 10:07:05 2012
EcryptfsInUse: Yes
InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Release amd64 (20111012)
ProcEnviron:
 TERM=xterm
 PATH=(custom, user)
 LANG=en_US.utf8
 SHELL=/bin/bash
SourcePackage: indicator-appmenu
UpgradeStatus: No upgrade log present (probably fresh install)

Related branches

Revision history for this message
Jean-Baptiste Lallement (jibel) wrote :
Changed in indicator-appmenu (Ubuntu Precise):
importance: Undecided → High
tags: added: qa-manual-testing rls-mgr-p-tracking
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in indicator-appmenu (Ubuntu):
status: New → Confirmed
Revision history for this message
Simon Watson (simon-swat) wrote :

I can confirm the same problem occurs on my install - but the hud CPU hasn't yet recovered after approximately 10 minutes.

David Barth (dbarth)
Changed in indicator-appmenu:
importance: Undecided → High
Olli Ries (ories)
Changed in indicator-appmenu:
assignee: nobody → Ryan Lortie (desrt)
Revision history for this message
desrt (desrt) wrote :

a lot of this is bug 938584

we could also add a maximum string length limitation (because larger searches take longer to complete)

the hud UI could also refuse to submit a new search while one is still in progress to prevent the stacking effect (that causes it to take 10 minutes for the CPU to clear up). another possibility is that it will only submit a search after the user has stopped typing for a short interval (100-200ms?)

tags: added: rls-p-tracking
Olli Ries (ories)
Changed in indicator-appmenu:
status: New → In Progress
Revision history for this message
desrt (desrt) wrote :

Both of my suggestions for how to fix this need to be completed in Unity. We could put the string length limitation in hud-service but to do so would be bad because the user interface would still allow longer strings to be entered -- we would simply ignore them. The limitation needs to be in the UI.

The other part of fixing this -- which is not submitting a query while one is still active -- definitely can only be done in the front-end.

Gord Allott (gordallott)
Changed in unity:
assignee: nobody → Gord Allott (gordallott)
Omer Akram (om26er)
Changed in unity:
status: New → Confirmed
Tim Penhey (thumper)
Changed in unity:
importance: Undecided → High
Gord Allott (gordallott)
Changed in unity:
status: Confirmed → Fix Committed
milestone: none → 5.10.0
Revision history for this message
Charles Kerr (charlesk) wrote :

After the commit that Gord noted in unity on 2012-03-30, is there anything left in this ticket not duplicated by bug 938584 ?

Revision history for this message
Sebastien Bacher (seb128) wrote :

indicator-appmenu (0.3.96-0ubuntu3) precise; urgency=low

  * Backport desrt's performance improvement work:
    - reduce hud cpu usage and DoS on long strings (lp: #938584, ##948820)
    - should stop stripping issues (lp: #937020)
    - fixes a small leak (lp: #972354)

Changed in indicator-appmenu (Ubuntu Precise):
status: Confirmed → Fix Released
Olli Ries (ories)
Changed in indicator-appmenu:
status: In Progress → Fix Committed
Charles Kerr (charlesk)
Changed in indicator-appmenu:
status: Fix Committed → Fix Released
Changed in unity:
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (9.2 KiB)

This bug was fixed in the package unity - 5.10.0-0ubuntu3

---------------
unity (5.10.0-0ubuntu3) precise-proposed; urgency=low

  [ Oliver Grawert ]
  * Enable subarch specific quilt support
  * add linaros disable_standalone-clients.patch to make unity build with GLES

  [ Didier Roche ]
  * remove a symlink and replace with a real file for
    debian/patches/series.<arch> as not supported in non v3 (and we don't
    want v3 format with full source upstream derived branch)

unity (5.10.0-0ubuntu2) precise-proposed; urgency=low

  [ Ricardo Salveti de Araujo ]
  * Enabling build with OpenGL ES2.0 support for ARM and disable maintainer
     mode on that arch to avoid -Werror failure (LP: #980544)

unity (5.10.0-0ubuntu1) precise-proposed; urgency=low

  * New upstream release:
    - bamfdaemon crashed with SIGABRT in g_assertion_message() (LP: #926208)
    - We are using 1 bad hack for compiz hanging on startup (LP: #963264)
    - GConf backend steals glib events from compiz (LP: #965220)
    - when I closed QupZill brawser it crashed and then and then I sow
      worrning that compiz crashed but fire fox and chrome is estle working.
      gtk-window-decorator crashed with SIGSEGV in max_window_name_width()
      (LP: #948580)
    - compiz crashed with SIGSEGV in std::basic_string<...>::basic_string()
      from unity::launcher::HudLauncherIcon::HudLauncherIcon()::{lambda} from
      unity::UBusManager::OnCallback (LP: #964897)
    - unity-panel-service crashed due to heap corruption in g_free() from
      service_proxy_name_changed() [libindicator/indicator-service-
      manager.c:574] (LP: #969360)
    - Opening dash while an application is maximized makes unity completely
      useless, have to relogin (LP: #975103)
    - unity crash on alt-tab (LP: #975168)
    - Top bar - Menus should be condensed to fit panel/overlay of appmenu
      (LP: #655184)
    - Topbar - window controls for maximised windows in the top bar should
      conform to Fitts's law (LP: #839690)
    - [FFe, UIFe] Dash - When the Dash is open and there is a maximised app in
      the background, the top bar background should not disappear
      (LP: #839480)
    - Dash - The inner bottom left, bottom right and top right corners of the
      desktop dash border are rendered incorrectly (LP: #839476)
    - Showdesktoped window contents invisible in window spread (LP: #877778)
    - Maximized windows can be accidentally closed from wrong monitor.
      (LP: #865701)
    - Unity launcher on-screen corruption on resume from suspend with nVidia
      proprietary driver (LP: #915265)
    - Launcher - Inserting items into launcher makes unnecessary animations on
      other monitors (LP: #925021)
    - Far left character in panel (and launcher popups) distorted
      (LP: #927441)
    - Jenkins build failure: SetAcceptKeyNavFocusOnMouseEnter not declared
      (LP: #938037)
    - super+<unbound key> and sometimes super+<number> keys now cause launch
      to wedge with the key hints shown and retains focus instead of selecting
      the requested window (LP: #934084)
    - three-finger move does not move (Precise) (LP: #940612)
    - compiz crashed with SIGSEGV in std::__de...

Read more...

Changed in unity (Ubuntu Precise):
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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