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
> [email protected]
> 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
[email protected]
https://lists.sourceforge.net/lists/listinfo/dri-devel