Am Donnerstag, den 27.07.2006, 22:08 +0200 schrieb Tilman Sauerbeck: > Hi, > I'm trying to fix bug 7265, but I'm stuck. > > I added some debugging output to the xserver and the mga driver and I > attached the interesting parts of the lock. > > What's interesting is that DRILock()/DRIUnlock() are continually called > about every second even if no DRI client is connected. This might be due > to XAA rendering though, and it seems XAA cannot be disabled without > disabling DRI, too. > > As my test case, I started glxinfo in a xterm (which hangs in > mgaGetLock(), as expected). This is line 18 in the log. > > At the end of the log, you'll see that DRIDoBlockHandler() results in > another DRIUnlock() call, although the lock isn't currently held. > > Now, the problem is that I cannot figure out why and how > DRIDoBlockHandler() is called. It's assigned to the DRI > inforec->wrap.BlockHandler, but I don't see when it's called. > To make things worse, I cannot get a backtrace either... attaching GDB > or using xorg_backtrace() will crash the server. > > Any idea what's wrong with the locking here? > Hints on when DRIDoBlockHandler is called or why it can be called even > though the DRI lock isn't held are appreciated :)
DRIDoBlockHandler is called from DRIBlockHandler: if (pDRIPriv && pDRIPriv->pDriverInfo->wrap.BlockHandler) (*pDRIPriv->pDriverInfo->wrap.BlockHandler)(i, blockData, pTimeout, pReadmask); DRIBlockHandler in turn is registered in DRIExtensionInit using RegisterBlockAndWakeupHandlers. Block and Wakeup handlers are called automatically whenever the server starts and stops processing client commands. I just notice that DRIBlockHandler is also called through __glXDRIleaveServer (glxdri.c), which was introduced in the AIGLX merge. Could it be that DRIBlockHandler gets called twice when it should only be called once? Regards, Felix > > Thanks, > Tilman > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share your > opinions on IT & business topics through brief surveys -- and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > -- _______________________________________________ Dri-devel mailing list > Dri-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/dri-devel -- | Felix Kühling <[EMAIL PROTECTED]> http://fxk.de.vu | | PGP Fingerprint: 6A3C 9566 5B30 DDED 73C3 B152 151C 5CC1 D888 E595 | ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV -- _______________________________________________ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel