Bug 432313

Summary: compiz: activating neg, blur, static switcher plugins segfaults compiz
Product: [openSUSE] openSUSE 11.1 Reporter: Jigish Gohil <cyberorg>
Component: CompizAssignee: David Reveman <dreveman>
Status: RESOLVED FIXED QA Contact: Bryan Perry <bperry>
Severity: Critical    
Priority: P2 - High CC: aaatoja, dannybaumann, lmedinas, mmeeks
Version: Factory   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: crash report
crash report blur
Blur plugin fix
Neg plugin fix.
ColorFilter plugin fix
Cube plugin fix.

Description Jigish Gohil 2008-10-04 14:13:20 UTC
Using packages with NOMAD patches, when activating neg plugin crashes compiz.

This does not happen when using vanilla 0.7.8.
Comment 1 Jigish Gohil 2008-10-04 14:14:20 UTC
Marked "major" as this is one of the popular accessibility features of compiz.
Comment 2 Jigish Gohil 2008-10-06 09:24:55 UTC
Adding more plugins crashing compiz.

This does not happen on vanilla compiz (without NOMAD patches)

Raising the issue to critical as many users are going to use other profile than default via simple-ccsm resulting in compiz crash. Also compiz is enabled by default now so stability should be improved.
Comment 3 Jigish Gohil 2008-10-06 09:27:29 UTC
*** Bug 432451 has been marked as a duplicate of this bug. ***
Comment 4 Jigish Gohil 2008-10-06 16:56:27 UTC
Created attachment 243716 [details]
crash report

crash report when activating neg plugin
Comment 5 Jigish Gohil 2008-10-06 16:58:31 UTC
Created attachment 243718 [details]
crash report blur
Comment 6 Danny Baumann 2008-10-07 07:37:28 UTC
blur and neg assume in their objectAdd functions for window objects that the parent object is a CompScreen* - which doesn't seem to be the case anymore.

From what I understand when reading the code, it seems that the root window is treated as normal window now, what would explain it.

David, mind telling us how this is supposed to work?
Comment 7 David Reveman 2008-10-07 15:44:16 UTC
The root window now being represented as a CompWindow object and top-level windows being children of this object is all part of the support for having compiz not only support top-level window compositing but also compositing of sub-windows.

All windows except the root window has a CompWindow object as parent.

Sorry, I didn't have time to test all plugins and make sure they got adjusted properly before the feature freeze deadline. These issues are all very easy to fix though. I'll attach patches for the above mentioned plugins.

If you find other plugins that don't work properly due to these changes please let me know and I'll get them fixed asap. 
Comment 8 David Reveman 2008-10-07 15:45:18 UTC
Created attachment 244021 [details]
Blur plugin fix
Comment 9 David Reveman 2008-10-07 15:56:32 UTC
Created attachment 244024 [details]
Neg plugin fix.
Comment 10 David Reveman 2008-10-07 15:59:48 UTC
Created attachment 244025 [details]
ColorFilter plugin fix
Comment 11 David Reveman 2008-10-07 16:06:17 UTC
I can't find anything wrong with the jpeg plugin. Is that one actually causing a crash too?
Comment 12 David Reveman 2008-10-07 17:39:47 UTC
Created attachment 244066 [details]
Cube plugin fix.
Comment 13 Rodrigo Moya 2008-10-09 09:43:53 UTC
David, all these patches are in the last compiz submission you did, right? If so, let's close the bug
Comment 14 Jigish Gohil 2008-10-10 10:09:32 UTC
Adding one more crashing plugin to the list: static switcher.
Comment 15 Jigish Gohil 2008-10-12 07:37:21 UTC
From bug #434252
"It seems the static switcher is missing some symbols:

(gdb) r
Starting program: /usr/bin/compiz --ignore-desktop-hints --indirect-rendering
--replace ccp
[Thread debugging using libthread_db enabled]
/usr/bin/compiz: symbol lookup error: /usr/lib/compiz/libstaticswitcher.so:
undefined symbol: unhookWindowFromScreen

Program exited with code 0177.

We used to have this type of problem in OO.o; then we added a 'checkdll' thing
that makes sure all symbols are defined when you load a plugin.

It'd be great to replicate something like this in compiz I guess - so these are
caught at compile time, not run-time."
Comment 16 Jigish Gohil 2008-10-12 07:37:43 UTC
*** Bug 434252 has been marked as a duplicate of this bug. ***
Comment 17 Jigish Gohil 2008-11-05 10:28:10 UTC
Static switcher still crashes with "undefined symbol: unhookWindowFromScreen"

Using 11.1 B4 and the latest packages from X11:Compiz repo.
Comment 18 Timo Hoenig 2008-11-05 10:33:16 UTC
The package seems to be untouched since October, 13th.
Comment 19 Timo Hoenig 2008-11-26 09:30:25 UTC
The static switcher doesn't segfault with the latest FACTORY packages.
Comment 20 Jigish Gohil 2008-11-29 06:42:33 UTC
All these plugins now work fine.