[regression] Starting a second instance of compiz (without --replace) causes the existing instance to shut down (gracefully)

Bug #988684 reported by Daniel van Vugt on 2012-04-26
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Compiz
Medium
Daniel van Vugt
Compiz Core
Medium
Daniel van Vugt
compiz (Ubuntu)
Undecided
Unassigned

Bug Description

Traditionally, running "compiz" with no parameters should fail and exit gracefully if a window manager is already running.

It does that, but also somehow causes the existing instance of compiz to shut down when this happens.

Related branches

Changed in compiz-core:
assignee: nobody → Daniel van Vugt (vanvugt)
Daniel van Vugt (vanvugt) wrote :

Partially bisected:
r3099 = working
r3110 = broken

So it looks like a regression introduced to lp:compiz-core after we branched for 0.9.8.

summary: - Starting a second instance of compiz (without --replace) causes the
- existing instance to shut down (gracefully)
+ [regression] Starting a second instance of compiz (without --replace)
+ causes the existing instance to shut down (gracefully)
Daniel van Vugt (vanvugt) wrote :

r3105 = working

Daniel van Vugt (vanvugt) wrote :

r3107 = working, r3108 = broken.

The cause of this regression is therefore:
------------------------------------------------------------
revno: 3108 [merge]
committer: Daniel van Vugt <email address hidden>
branch nick: trunk
timestamp: Fri 2012-04-20 17:58:29 +0800
message:
  Tidy up PrivateScreen construction and destruction:
   - Remove a local masking a member variable.
   - Add members missing from the constructor's initialization list.
   - Free more resources, more clearly, in the destructor.
------------------------------------------------------------

Changed in compiz-core:
status: New → In Progress
Daniel van Vugt (vanvugt) wrote :

Fix committed into lp:compiz-core at revision 3115

Changed in compiz-core:
status: In Progress → Fix Committed
Changed in compiz:
status: New → Fix Committed
importance: Undecided → Medium
assignee: nobody → Daniel van Vugt (vanvugt)
milestone: none → 0.9.8.0
Changed in compiz-core:
milestone: 0.9.8.0 → none
Changed in compiz:
milestone: 0.9.8.0 → none
Changed in compiz-core:
milestone: none → 0.9.7.10
Daniel van Vugt (vanvugt) wrote :

This regression never existed in the 0.9.7 series, or precise. The bug was introduced upstream in r3108. However the 0.9.7 maintenance branch for precise is only up to r3102.

Changed in compiz:
milestone: none → 0.9.8.0
Changed in compiz-core:
status: Fix Committed → Invalid
milestone: 0.9.7.10 → none
Launchpad Janitor (janitor) wrote :
Download full text (7.6 KiB)

This bug was fixed in the package compiz - 1:0.9.8+bzr3249-0ubuntu1

---------------
compiz (1:0.9.8+bzr3249-0ubuntu1) quantal-proposed; urgency=low

  * New upstream snapshot.
    - Fall back to a refresh rate that is more likely to look correct; 60Hz.
      (LP: #1009338)
    - Benchmark plugin should consume its key binding, and not pass the key to
      the underlying window. (LP: #1009320)
    - Avoid needless STL operations leading to expensive heap operations.
      (LP: #1006335)
    - Fix a typo that was causing (LP: #1002606)
      (widthIncBorders/heightIncBorders)
    - Check if the window is decorated before trying to change its event window
      states (which won't exist if not decorated) (LP: #1007754)
    - Use the XDamage extension more efficiently (the way it was designed to be
      used). This dramatically reduces CPU usage, reduces wakeups, and
      increases frame rates. It also solves at least one observed performance
      bug (LP: #1007299) and probably several more.
    - Avoid constructing and destructing lots of strings on every single event,
      which was wasting lots of CPU (LP: #1005569)
    - md LINGUAS doesn't exist, it's mnk (Mandinka in ISO 639-3)
    - Move grid plugin to google test and don't depend on the plugin for the
      test (LP: #1005009)
    - Don't read plugin.Initialized and test the value. (LP: #1004848)
    - libcompizconfig's install () commands were still using the old includedir
      and libdir variables rather than their libcompizconfig_* variants.
      (LP: #1005176)
    - Execute the cmake files separately to ensure that DESTDIR is respected.
      (LP: #1005177)
    - Don't set_target_properties on a target that might not exist
      (LP: #1005008)
    - Don't allow windows which we weren't even tracking as decoratable to
      become decorated if they try and change their hints. (LP: #963794)
    - Change the mouse pointer while dragging windows in expo. Just like the
      ubuntu branches do. (LP: #987647)
    - Fix uninitialized memory use (LP: #1004338)
    - Fix uninitialized variable (LP: #1004335)
    - Delay unbinding of pixmaps until then next rebind (LP: #729979)
      (LP: #1002602)
    - Don't drop plugins from the list to try and load before you've even tried
      to load them. Doing so makes missing plugins silently ignored instead of
      an error message (LP: #1002715). It also means valid plugins in more
      unusual, but real locations in LD_LIBRARY_PATH will never get loaded
      (LP: #1002721).
    - If running test cases under a real X server, we don't care if Xvfb is
      missing (LP: #994841)
    - Don't assume pkg_check_modules always sets _PREFIX (LP: #993608)
    - Don't clear selections in ~PrivateScreen because it causes a race between
      the existing and the new compiz instances, breaking --replace and
      non-replace behaviour. (LP: #988684) (LP: #989545)
    - Always paint with infiniteRegion as the clip region if the window is
      transformed and always use the supplied region if painting with offset or
      on transformed screen. (LP: #987639)
    - Add synchronization primitives to the decoration protocol so that there
      isn't a r...

Read more...

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

Other bug subscribers