Needless memory growth from undeleted Gesture instances

Bug #965260 reported by Daniel d'Andrada
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Grail
Fix Released
Medium
Daniel d'Andrada
utouch-grail (Ubuntu)
Fix Released
Medium
Unassigned

Bug Description

A slice holds a weak_ptr to the gesture until it is flushed out to the event queue. UGSlice::ReferenceGesture() is called at this point to
generate a shared_ptr reference to the gesture. This prevents the gesture from being deleted after the gesture has ended but slice events are still in use by the client. However, when the client unrefs a slice event, the shared_ptr to the gesture is not reset. Since the gesture holds shared_ptr references to the slices too, we have a reference loop. When the recognizer is deleted, all references to gestures and slices end up resolved, but we are essentially growing memory until that time.

Related branches

Changed in utouch-grail:
assignee: nobody → Daniel d'Andrada (dandrader)
importance: Undecided → Medium
status: New → In Progress
Changed in utouch-grail:
status: In Progress → Fix Committed
Stephen M. Webb (bregma)
Changed in utouch-grail (Ubuntu):
status: New → In Progress
importance: Undecided → Medium
Stephen M. Webb (bregma)
Changed in utouch-grail:
milestone: none → utouch-grail-3.0.4
Changed in utouch-grail:
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package utouch-grail - 3.0.4-0ubuntu1

---------------
utouch-grail (3.0.4-0ubuntu1) precise; urgency=low

  [ Stephen M. Webb ]
  * debian/copyright: changed library to LGPL-3 license (LP: #963070)
  * debian/utouch-grail-tools.install: added manpages (LP: #955609)

  [ Daniel d'Andrada ]
  * New upstream release
    - Fix utouch-grail needs to be relicensed under LGPLv3 (LP: #963070)
    - Fix taps time out erroneously and don't fire (LP: #962705)
    - Fix virtual destructors to SliceCheckerState (LP: #962886)
    - Fix uninitialized variable in SliceChecker (LP: #962904)
    - Fix tests can only be run when built in-source (LP: #962919)
    - Fix needless memory growth from undeleted Gesture instances (LP: #965260)
    - Fix touch state accounting should be managed better (LP: #966688)
    - Fix no touch events while utouch-grail clients wait for next timeout
      (LP: #967605)
    - Fix premature gesture acceptance possible upon timestamps mismatch
      (LP: #963379)
    - Fix utouch-grail FTBFS in daily PPA (LP: #966367)
    - Fix utouch-grail-tools package is missing manpages (LP: #955609)

  [ Chase Douglas ]
  * Build with debhelper --parallel
  * Disable integration tests during package build
  * Remove --with-xi configure flag, it is obsolete
 -- Chase Douglas <email address hidden> Fri, 30 Mar 2012 16:03:04 -0700

Changed in utouch-grail (Ubuntu):
status: In Progress → Fix Released
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.