Re: [compiz] Crash in blur.c (SIGSEGV)

2007-05-24 Thread Artur Uszyński
David Reveman pisze:
> On Sat, 2007-05-19 at 12:14 +0200, Artur Uszyński wrote:
>> Hello.
>>
>> System info:
>> OS: FC6 x86_64
>> video: Nvidia GF 7900 GT, driver version 97.55
>> compiz version: git
>> config backend used: ccp
>>
>> I can reproduce this crash every time on my system. When blur plugin is 
>> active and I try to access any right-click menu, regular application menu or 
>> drop-down list, compiz crashes. Backtrace produced by crashhandler plugin 
>> shows crash in blur.c in function blurWindowResizeNotify, in the following 
>> line:
>>
>> if (bw->state[BLUR_STATE_CLIENT].threshold ||
>>
>> The values of bw seem to be wrong and IMO indicate classic problem with null 
>> or uninitialized pointer (although I'm not a programmer):
>>
>> bw = (BlurWindow *) 0x0
>>
>> Sometimes instead of 0x0 I get values like 0x40 or 0x33373b3338393932, which 
>> don't seem to be right either.
>>
>> After restarting compiz and immediately accessing exactly the same object 
>> (for example repeating right-click on desktop) crash does not happen, but 
>> then accessing other similar object crashes compiz again.
>>
>> After commenting out the whole "if" statement mentioned above compiz no 
>> longer crashes, but probably graphics glitches are introduced instead.
>>
>> There was a report including similar description sent on Wed Feb 21 04:34:20 
>> PST 2007:
>>
 When I start blurdemo, that works too.  The problem is that sometimes
 changing the filter type crashes compiz.  If I run it under a debugger
 it starts working again.  All the filter types work with blurdemo.
>> "changing the filter type" might be a symptom of the same problem (accessing 
>> drop-down list).
> 
> This crash is likely caused by decoration and blur plugins calling
> wrapped functions from initWindow. I just pushed out some code that
> solves this by adding a new WindowAddNotify function that these plugins
> now hooks into. I'm pretty sure that this will fix your crash. Give the
> latest code a try and let me know.
> 

Yes, the crash has gone :). Thanks.
Now I can enjoy all glitches caused by interactions between blur and other 
plugins ;).

Regards.
--
Artur

___
compiz mailing list
compiz@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/compiz


Re: [compiz] Crash in blur.c (SIGSEGV)

2007-05-21 Thread David Reveman
On Sat, 2007-05-19 at 12:14 +0200, Artur Uszyński wrote:
> Hello.
> 
> System info:
> OS: FC6 x86_64
> video: Nvidia GF 7900 GT, driver version 97.55
> compiz version: git
> config backend used: ccp
> 
> I can reproduce this crash every time on my system. When blur plugin is 
> active and I try to access any right-click menu, regular application menu or 
> drop-down list, compiz crashes. Backtrace produced by crashhandler plugin 
> shows crash in blur.c in function blurWindowResizeNotify, in the following 
> line:
> 
> if (bw->state[BLUR_STATE_CLIENT].threshold ||
> 
> The values of bw seem to be wrong and IMO indicate classic problem with null 
> or uninitialized pointer (although I'm not a programmer):
> 
> bw = (BlurWindow *) 0x0
> 
> Sometimes instead of 0x0 I get values like 0x40 or 0x33373b3338393932, which 
> don't seem to be right either.
> 
> After restarting compiz and immediately accessing exactly the same object 
> (for example repeating right-click on desktop) crash does not happen, but 
> then accessing other similar object crashes compiz again.
> 
> After commenting out the whole "if" statement mentioned above compiz no 
> longer crashes, but probably graphics glitches are introduced instead.
> 
> There was a report including similar description sent on Wed Feb 21 04:34:20 
> PST 2007:
> 
> > > When I start blurdemo, that works too.  The problem is that sometimes
> > > changing the filter type crashes compiz.  If I run it under a debugger
> > > it starts working again.  All the filter types work with blurdemo.
> 
> "changing the filter type" might be a symptom of the same problem (accessing 
> drop-down list).

This crash is likely caused by decoration and blur plugins calling
wrapped functions from initWindow. I just pushed out some code that
solves this by adding a new WindowAddNotify function that these plugins
now hooks into. I'm pretty sure that this will fix your crash. Give the
latest code a try and let me know.

Thanks,

-David

___
compiz mailing list
compiz@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/compiz


Re: [compiz] Crash in blur.c (SIGSEGV)

2007-05-20 Thread Artur Uszyński
I forgot to mention, that crashes happen only when alpha blur is turned on, 
sorry.
___
compiz mailing list
compiz@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/compiz


[compiz] Crash in blur.c (SIGSEGV)

2007-05-19 Thread Artur Uszyński
Hello.

System info:
OS: FC6 x86_64
video: Nvidia GF 7900 GT, driver version 97.55
compiz version: git
config backend used: ccp

I can reproduce this crash every time on my system. When blur plugin is active 
and I try to access any right-click menu, regular application menu or drop-down 
list, compiz crashes. Backtrace produced by crashhandler plugin shows crash in 
blur.c in function blurWindowResizeNotify, in the following line:

if (bw->state[BLUR_STATE_CLIENT].threshold ||

The values of bw seem to be wrong and IMO indicate classic problem with null or 
uninitialized pointer (although I'm not a programmer):

bw = (BlurWindow *) 0x0

Sometimes instead of 0x0 I get values like 0x40 or 0x33373b3338393932, which 
don't seem to be right either.

After restarting compiz and immediately accessing exactly the same object (for 
example repeating right-click on desktop) crash does not happen, but then 
accessing other similar object crashes compiz again.

After commenting out the whole "if" statement mentioned above compiz no longer 
crashes, but probably graphics glitches are introduced instead.

There was a report including similar description sent on Wed Feb 21 04:34:20 
PST 2007:

> > When I start blurdemo, that works too.  The problem is that sometimes
> > changing the filter type crashes compiz.  If I run it under a debugger
> > it starts working again.  All the filter types work with blurdemo.

"changing the filter type" might be a symptom of the same problem (accessing 
drop-down list).

Here is exemplary backtrace:

Thread 1 (Thread 46912509935360 (LWP 6335)):
#0  0x003be36942f5 in waitpid () from /lib64/libc.so.6
#1  0x003be363bd13 in do_system () from /lib64/libc.so.6
#2  0x2d0d42d6 in crash_handler (sig=11) at crashhandler.c:50
count = 1
#3  
#4  blurWindowResizeNotify (w=0x1e67540, dx=0, dy=0, dwidth=0, dheight=0) at 
blur.c:2273
bw = (BlurWindow *) 0x0
bs = (BlurScreen *) 0xcc2130
#5  0x2e94879b in decorWindowResizeNotify (w=0x1e67540, dx=0, dy=0, 
dwidth=0, dheight=0)
at decoration.c:1148
ds = (DecorScreen *) 0xce9b10
#6  0x2ef52af2 in resizeWindowResizeNotify (w=0x1e67540, dx=0, dy=5, 
dwidth=8120592, dheight=0)
at resize.c:770
rd = (ResizeDisplay *) 0xcc2ed0
rs = (ResizeScreen *) 0xd24800
#7  0x2f172a21 in animWindowResizeNotify (w=0x1e67540, dx=0, dy=0, 
dwidth=0, dheight=0)
at animation.c:8217
as = (AnimScreen *) 0xd6c2c0
aw = (AnimWindow *) 0x1e6cd70
#8  0x2f37be56 in wobblyWindowResizeNotify (w=0x1e67540, dx=0, dy=0, 
dwidth=0, dheight=0)
at wobbly.c:2429
ws = (WobblyScreen *) 0xdf85c0
ww = (WobblyWindow *) 0x1e601e0
#9  0x2f582806 in fadeWindowResizeNotify (w=0x1e67540, dx=0, dy=0, 
dwidth=0, dheight=0) at fade.c:623
fs = (FadeScreen *) 0xdeb900
#10 0x2f9991dd in groupWindowResizeNotify (w=0x1e67540, dx=0, dy=0, 
dwidth=0, dheight=0)
at group.c:1444
gs = (GroupScreen *) 0xe85380
gd = (GroupDisplay *) 0xe64a10
gw = (GroupWindow *) 0x1e664e0
#11 0x00415e1b in updateWindowOutputExtents (w=0x1e67540) at 
window.c:1216
output = {left = 9, right = 9, top = 7, bottom = 11}
#12 0x2e948468 in decorWindowUpdate (w=0x1e67540, move=) at decoration.c:756
wd = (WindowDecoration *) 0x0
old = (Decoration *) 0x0
decor = (Decoration *) 0xcdcc30
decorate = 
dd = 
ds = (DecorScreen *) 0xce9b10
dw = (DecorWindow *) 0x1e60200
#13 0x2e94902a in decorInitWindow (p=, 
w=0x1e67540) at decoration.c:1343
No locals.
#14 0x0042380a in windowInitPlugins (w=0x1e67540) at plugin.c:391
p = (CompPlugin *) 0xcc1cb0
#15 0x0041c918 in addWindow (screen=0x7be910, id=, 
aboveId=20989985)
at window.c:2132
w = (CompWindow *) 0x1e67540
#16 0x0041e832 in handleEvent (d=0x633f00, event=0x7fff0f24ad30) at 
event.c:1249
raise = 
delay = 
s = (CompScreen *) 0x7be910
w = 
#17 0x2cac355d in thumbHandleEvent (d=0x633f00, event=0x7fff0f24ad30) 
at thumbnail.c:588
td = (ThumbDisplay *) 0x8ceb30
w = (CompWindow *) 0x81b460
#18 0x2d2de65a in ringHandleEvent (d=0x633f00, event=0x7fff0f24ad30) at 
ring.c:1498
rd = (RingDisplay *) 0xbdd9c0
#19 0x2d8f40f9 in NEGHandleEvent (d=0x633f00, event=0x7fff0f24ad30) at 
neg.c:570
w = (CompWindow *) 0x1
nd = (NEGDisplay *) 0xc36550
#20 0x2e30a3b2 in zoomHandleEvent (d=0x633f00, event=0x7fff0f24ad30) at 
zoom.c:537
s = (CompScreen *) 0x7fff0f24ad30
zd = (ZoomDisplay *) 0xc732e0
#21 0x2e5135f5 in blurHandleEvent (d=0x1e67540, event=0x0) at 
blur.c:2210
activeWindow = 20971530
bd = (BlurDisplay *) 0xc80dc0
#22 0x2e9495ed in decorHandleEvent (d=0x633f00, event=0x7fff0f24ad30) 
at decoration.c:910
activeWindow = 20971