Bug 55299 - Xorg crashes in drm_intel_bo_is_reusable() from intel_set_pixmap_bo()
Summary: Xorg crashes in drm_intel_bo_is_reusable() from intel_set_pixmap_bo()
Status: RESOLVED INVALID
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/intel (show other bugs)
Version: 7.6 (2010.12)
Hardware: x86-64 (AMD64) Linux (All)
: medium critical
Assignee: Chris Wilson
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-09-25 02:12 UTC by Daniel van Vugt
Modified: 2012-09-26 08:04 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Daniel van Vugt 2012-09-25 02:12:23 UTC
In Compiz, re-redirecting an unredirected OpenGL window sometimes kills the X server.

Test case:
  1. Enable "Unredirect Fullscreen Windows" in CCSM > Composite.
  2. Start an OpenGL game, or video with: mplayer -vo gl ...
  3. Trigger scale (Shift+Alt+Up) or the window menu (Alt+Space)
If it doesn't crash, then repeat.

Expected: Either windows scale or the window menu appears
Observed: Sometimes, just sometimes, X crashes and I get sent back to the login screen.

Program received signal SIGSEGV, Segmentation fault.
0x00007f12ea7f1e24 in drm_intel_bo_is_reusable ()
   from /usr/lib/x86_64-linux-gnu/libdrm_intel.so.1
(gdb) bt
#0 0x00007f12ea7f1e24 in drm_intel_bo_is_reusable ()
   from /usr/lib/x86_64-linux-gnu/libdrm_intel.so.1
#1 0x00007f12eaa1ecfb in intel_set_pixmap_bo (pixmap=0x7f12efcf2370, bo=0x0)
    at ../../src/intel_uxa.c:643
#2 0x00007f12eaa1eec7 in intel_uxa_destroy_pixmap (pixmap=0x7f12efcf2370)
    at ../../src/intel_uxa.c:1108
#3 0x00007f12ee763f60 in damageDestroyPixmap (pPixmap=0x7f12efcf2370)
    at ../../../miext/damage/damage.c:1652
#4 0x00007f12eb692402 in XvDestroyPixmap (pPix=0x7f12efcf2370)
    at ../../Xext/xvmain.c:387
#5 0x00007f12ee73980a in ShmDestroyPixmap (pPixmap=0x7f12efcf2370)
    at ../../Xext/shm.c:276
#6 0x00007f12eaa3070b in I830DRI2DestroyBuffer (drawable=<optimised out>,
    buffer=<optimised out>) at ../../src/intel_dri.c:434
#7 0x00007f12eac5e97b in DRI2DrawableGone (p=0x7f12ef829d20,
    id=<optimised out>) at ../../../../hw/xfree86/dri2/dri2.c:309
#8 0x00007f12ee6be5c2 in doFreeResource (res=0x7f12ef829db0, skip=0)
    at ../../dix/resource.c:571
#9 0x00007f12ee6bf2fa in FreeClientResources (client=0x7f12efa19d80)
    at ../../dix/resource.c:853
#10 0x00007f12ee69cd2a in CloseDownClient (client=0x7f12efa19d80)
    at ../../dix/dispatch.c:3477
#11 0x00007f12ee69d8b6 in Dispatch () at ../../dix/dispatch.c:454
#12 0x00007f12ee68c7ba in main (argc=8, argv=<optimised out>,
    envp=<optimised out>) at ../../dix/main.c:287
(gdb)

With:
libdrm-intel1                          2.4.32-1ubuntu1
xserver-xorg-video-intel               2:2.17.0-1ubuntu4.1
xserver-xorg                           1:7.6+12ubuntu1
Comment 1 Chris Wilson 2012-09-25 08:07:41 UTC
Please test against upstream components before filing a distribution bug upstream.
Comment 2 Daniel van Vugt 2012-09-25 08:11:13 UTC
That's excellent news. Is there an existing bug or even commit you can point me to?

Obviously I would not have logged this if I could find the same bug logged already.
Comment 3 Chris Wilson 2012-09-25 09:48:12 UTC
Just the Ubuntu gfx stack is notoriously old, and since you have only tested against that stack you have not yet confirmed whether this is an upstream bug.

In particular if you look at this, this is memory corruption that looks very similar to one of the many faces of bug 50019.
Comment 4 Daniel van Vugt 2012-09-26 08:04:07 UTC
I keep getting different Xorg crashes from Ubuntu 12.04 so can't get log files for this yet.

On 12.10 with much newer intel drivers and similar hardware, I can't crash it any more.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.