From: FT R. <ma...@mu...> - 2000-07-05 17:25:43
|
Hi Thanks to all who provided debug info and the XF86 team for the module debugger. I have looked more into the X lockups on mga DRI (both from xf86 cvs ond DRI cvs). The lockup can be replicated by repeatedly (not concurrently) executing very simple code, I have put the code at: ftp://news.icns.com/pub/lesson2.c (detailed stack trace for X is at the end of the message, trace for the application at lockup is at ftp://news.icns.com/pub/lesson2.app.out ) After the lockup I can see that last recognizable thing X did was: #0 0x400e5f24 in __ioctl () #1 0xbffff5cc in ?? () #2 0x864758c in drmGetLock (fd=6, context=1, flags=0) at xf86drm.c:714 I dont see the value of drmLockFlags as 0 defined in xf86drm.h. Plus shouldnt the next thing in the stack be something like:? #1 xf86ioctl (fd=6, request=??, argp=??) at libc_wrapper.c:43 which it sure isnt. I dont know why it ends up at: #1 0xbffff5cc in ?? () Does that qualify for a bug, if it is is it known?, should I debug more, what should I do?. I will try looking more into it though. Another thing I noticed that drmGetLock(??,??, flags=10) is being called everytime on mouse clicks. Is it necessary to get DRM_HALT_ALL_QUEUES. Thanks FT The stack trace of the Xserver #0 0x400e5f24 in __ioctl () #1 0xbffff5cc in ?? () #2 0x864758c in drmGetLock (fd=6, context=1, flags=0) at xf86drm.c:714 #3 0x85e155e in DRILock (pScreen=0x8709db0, flags=0) at dri.c:1589 #4 0x854b4ec in MGAWakeupHandler (screenNum=0, wakeupData=0x0, result=4294967295, pReadmask=0x81b94c0) at mga_wrap.c:75 #5 0x85e0c5d in DRIWakeupHandler (wakeupData=0x0, result=-1, pReadmask=0x81b94c0) at dri.c:1081 #6 0x80ab17c in WakeupHandler (result=-1, pReadmask=0x81b94c0) at dixutils.c:459 #7 0x80c380f in WaitForSomething (pClientsReady=0xbffff8e0) at WaitFor.c:354 #8 0x80a51c4 in Dispatch () at dispatch.c:382 #9 0x80b49e8 in main (argc=4, argv=0xbffffd64) at main.c:429 #10 0x400531eb in __libc_start_main (main=0x80b4530 <main>, argc=4, argv=0xbffffd64, init=0x806a99c <_init>, fini=0x815ff6c <_fini>, rtld_fini=0x4000a610 <_dl_fini>, stack_end=0xbffffd5c) at ../sysdeps/generic/libc-start.c:90 |