Re: [compiz] Crash in blur.c (SIGSEGV)
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)
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)
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)
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