Xorg segfault in DRIDoBlockHandler
Bug #72375 reported by
Tormod Volden
This bug report is a duplicate of:
Bug #60288: xorg segfaults in libglx.so(__glXleaveServer+0x22).
Edit
Remove
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
xorg-server (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
X suddenly restarted (it was probably running a 3D screensaver). Will attach apport crash log. I had compiled the xserver-xorg-core package myself, with debug settings "debug nostrip noopt". From the original 1.1.1-0ubuntu12 I had also added some asserts to hw/xfree86/
To post a comment you must log in.
In case it confuses the disassembly, here you can see the inserted "assert" in my source:
void er(int screenNum, pointer blockData,
pointer pTimeout, pointer pReadmask) screens[ screenNum] ; ivPtr pDRIPriv = DRI_SCREEN_ PRIV(pScreen) ;
DRIDoBlockHandl
{
ScreenPtr pScreen = screenInfo.
DRIScreenPr
assert( pDRIPriv ); >pDriverInfo- >driverSwapMeth od == DRI_HIDE_X_CONTEXT) {
(*pDRIPriv- >pDriverInfo- >SwapContext) (pScreen,
DRI_ 2D_SYNC,
DRI_ NO_CONTEXT,
NULL,
DRI_ 2D_CONTEXT,
pDRIPriv- >partial3DConte xtStore) ;
if (pDRIPriv-
/* hide X context by swapping 2D component here */
}
if (pDRIPriv- >windowsTouched )
DRM_SPINUNLOCK (&pDRIPriv- >pSAREA- >drawable_ lock, 1); >windowsTouched = FALSE;
pDRIPriv-
DRIUnlock( pScreen) ;
}