Am Mittwoch, 6. November 2002 16:46 schrieb Brian Paul: > Bret Towe wrote: > > On Tue, 2002-11-05 at 16:39, Brian Paul wrote: > >>Bret Towe wrote: > >>>i recently grabed the mesa 4.1 branch to test out > >>>mainly to see if the multitexture problem with > >>>celestia was fixed also to see how it looked anyhow after > >>>seeing celestia crash as per the norm i tried using the > >>>LIBGL_ALWAYS_INDIRECT=1 with celestia and it crashs x > >>>everytime for me i would of tested more apps to see > >>>how consistent it is but i get sick of x dieing like that > >>>for very long so i left it alone > >>>in the mornin(for me anyhow) ill try out a few more apps > >>>if you need more info or logs etc let me know ill see it > >>>when i check my mail in the morn > >> > >>I just tried celestia with the 4.1 branch (indirect rendering). > >>It came up fine and I pressed 'd' to run the demo. Eventually, > >>celestia crashed. Looks like a problem in celestia, not Mesa > >>or GLX or DRI. > > > > that crash was prob the multitexture problem that somethin has no clue > > what any more > > What??? > > >>The text in the corners of the window isn't legible. I don't > >>know if it's drawn with glBitmap or texture or what so I'm > >>not sure what the problem is. > >> > >>-Brian > > > > i dunno maybe its just cause im using some optimization under gcc 3.2 > > (-mcpu=athlon -march=athlon -pipe) > > In any case, I found a few problems. Celestia is now working with > indirect rendering perfectly. Here's the story: > > 1. A few functions in Mesa were no-ops, such as glGenTexturesEXT and > glIsTextureEXT. The non-EXT versions were fine. The net effect was > that the array of texture object IDs was left uninitialized. Many > were zero so texture images (the Celestia text) was clobbering each > other. > > I've checked in the fix for this to the Mesa and DRI cvs trees.
Brian could you run your Mesa-4.1 "test apps" through valgrind (maybe purify or the like), please? e.g.: r200 trunk Mesa/demos> valgrind ./gears [-] ==2635== Warning: noted but unhandled ioctl 0x6452 with no size/direction hints ==2635== This could cause spurious value errors to appear. ==2635== See README_MISSING_SYSCALL_OR_IOCTL for guidance on writing a proper wrapper. ==2635== Warning: noted but unhandled ioctl 0x6452 with no size/direction hints ==2635== This could cause spurious value errors to appear. ==2635== See README_MISSING_SYSCALL_OR_IOCTL for guidance on writing a proper wrapper. ==2635== ==2635== ERROR SUMMARY: 30000 errors from 13 contexts (suppressed: 0 from 0) ==2635== malloc/free: in use at exit: 2720212 bytes in 1028 blocks. ==2635== malloc/free: 1461 allocs, 433 frees, 2752410 bytes allocated. ==2635== For a detailed leak analysis, rerun with: --leak-check=yes ==2635== For counts of detected errors, rerun with: -v This time with "-v": [-] ==3581== Invalid write of size 4 ==3581== at 0x43502BA1: emit_vec12 (in /usr/X11R6/lib/modules/dri/r200_dri.so) ==3581== Address 0x4C1B6008 is not stack'd, malloc'd or free'd ==3581== ==3581== 5028 errors in context 11 of 13: ==3581== Invalid write of size 4 ==3581== at 0x43502B9B: emit_vec12 (in /usr/X11R6/lib/modules/dri/r200_dri.so) ==3581== Address 0x4C1B6004 is not stack'd, malloc'd or free'd ==3581== ==3581== 5028 errors in context 12 of 13: ==3581== Invalid write of size 4 ==3581== at 0x43502B96: emit_vec12 (in /usr/X11R6/lib/modules/dri/r200_dri.so) ==3581== Address 0x4C1B6000 is not stack'd, malloc'd or free'd ==3581== ==3581== 14853 errors in context 13 of 13: ==3581== Invalid write of size 4 ==3581== at 0x43502B89: emit_vec12 (in /usr/X11R6/lib/modules/dri/r200_dri.so) ==3581== Address 0x4C1B69C4 is not stack'd, malloc'd or free'd ==3581== IN SUMMARY: 30000 errors from 13 contexts (suppressed: 0 from 0) ==3581== ==3581== malloc/free: in use at exit: 2720196 bytes in 1027 blocks. ==3581== malloc/free: 1367 allocs, 340 frees, 2741917 bytes allocated. ==3581== For a detailed leak analysis, rerun with: --leak-check=yes ==3581== --3581-- lru: 175 epochs, 0 clearings. --3581-- translate: new 11194 (199999 -> 2481173), discard 0 (0 -> 0). --3581-- dispatch: 8750000 basic blocks, 181/155160 sched events, 99894 tt_fast misses. --3581-- reg-alloc: 3575 t-req-spill, 444995+27565 orig+spill uis, 56220 total-reg-r. --3581-- sanity: 180 cheap, 8 expensive checks. And now with "-v --leak-check=yes": [-] ==3729== 14853 errors in context 13 of 13: ==3729== Invalid write of size 4 ==3729== at 0x43502B89: emit_vec12 (in /usr/X11R6/lib/modules/dri/r200_dri.so) ==3729== Address 0x4C2869C4 is not stack'd, malloc'd or free'd ==3729== IN SUMMARY: 30000 errors from 13 contexts (suppressed: 0 from 0) ==3729== ==3729== malloc/free: in use at exit: 2720196 bytes in 1027 blocks. ==3729== malloc/free: 1307 allocs, 280 frees, 2741437 bytes allocated. ==3729== ==3729== searching for pointers to 1027 not-freed blocks. ==3729== checked 83156860 bytes. ==3729== ==3729== definitely lost: 584 bytes in 7 blocks. ==3729== possibly lost: 0 bytes in 0 blocks. ==3729== still reachable: 2719612 bytes in 1020 blocks. ==3729== ==3729== 13 bytes in 1 blocks are definitely lost in loss record 34 of 235 ==3729== at 0x40045D2B: malloc (in /usr/lib/valgrind/valgrind.so) ==3729== by 0x40541EAD: resolve_name (in /usr/X11R6/lib/libX11.so.6.2) ==3729== by 0x40542919: _XlcLocaleDirName (in /usr/X11R6/lib/libX11.so.6.2) ==3729== by 0x4053BD6B: _XlcDynamicLoad (in /usr/X11R6/lib/libX11.so.6.2) ==3729== ==3729== 15 bytes in 3 blocks are definitely lost in loss record 35 of 235 ==3729== at 0x4004626E: calloc (in /usr/lib/valgrind/valgrind.so) ==3729== by 0x4036AFF3: XF86DRIGetClientDriverName (in /usr/X11R6/lib/libGL.so.1.2) ==3729== ==3729== 16 bytes in 1 blocks are definitely lost in loss record 40 of 235 ==3729== at 0x4004626E: calloc (in /usr/lib/valgrind/valgrind.so) ==3729== by 0x404F814B: XOpenDisplay (in /usr/X11R6/lib/libX11.so.6.2) ==3729== by 0x4036C01F: __glXRegisterExtensions (in /usr/X11R6/lib/libGL.so.1.2) ==3729== ==3729== 540 bytes in 2 blocks are definitely lost in loss record 187 of 235 ==3729== at 0x40045D2B: malloc (in /usr/lib/valgrind/valgrind.so) ==3729== by 0x433B9047: drmMalloc (in /usr/X11R6/lib/modules/dri/r200_dri.so) ==3729== ==3729== LEAK SUMMARY: ==3729== definitely lost: 584 bytes in 7 blocks. ==3729== possibly lost: 0 bytes in 0 blocks. ==3729== still reachable: 2719612 bytes in 1020 blocks. ==3729== Reachable blocks (those to which a pointer was found) are not shown. ==3729== To see them, rerun with: --show-reachable=yes ==3729== --3729-- lru: 117 epochs, 0 clearings. --3729-- translate: new 11183 (199830 -> 2478202), discard 0 (0 -> 0). --3729-- dispatch: 5850000 basic blocks, 142/112963 sched events, 62722 tt_fast misses. --3729-- reg-alloc: 3571 t-req-spill, 444461+27498 orig+spill uis, 56158 total-reg-r. --3729-- sanity: 131 cheap, 6 expensive checks. And now with "--show-reachable=yes": [-] ==3802== 80584 bytes in 1 blocks are still reachable in loss record 229 of 235 ==3802== at 0x4004626E: calloc (in /usr/lib/valgrind/valgrind.so) ==3802== by 0x433CC5C8: _mesa_create_context (in /usr/X11R6/lib/modules/dri/r200_dri.so) ==3802== ==3802== 117120 bytes in 3 blocks are still reachable in loss record 230 of 235 ==3802== at 0x40045D2B: malloc (in /usr/lib/valgrind/valgrind.so) ==3802== by 0x43498792: _tnl_Materialfv (in /usr/X11R6/lib/modules/dri/r200_dri.so) ==3802== by 0x43401BE0: _mesa_Calloc (in /usr/X11R6/lib/modules/dri/r200_dri.so) ==3802== by 0xC44097E8: ??? ==3802== ==3802== 262140 bytes in 1 blocks are still reachable in loss record 231 of 235 ==3802== at 0x40045D2B: malloc (in /usr/lib/valgrind/valgrind.so) ==3802== by 0x4035E043: CreateContext (in /usr/X11R6/lib/libGL.so.1.2) ==3802== by 0x4322DED8: ??? ==3802== ==3802== 290400 bytes in 6 blocks are still reachable in loss record 232 of 235 ==3802== at 0x40045D2B: malloc (in /usr/lib/valgrind/valgrind.so) ==3802== by 0x4342AE06: _ac_cache_init (in /usr/X11R6/lib/modules/dri/r200_dri.so) ==3802== ==3802== 399332 bytes in 1 blocks are still reachable in loss record 233 of 235 ==3802== at 0x4004626E: calloc (in /usr/lib/valgrind/valgrind.so) ==3802== by 0x43406973: _mesa_align_calloc (in /usr/X11R6/lib/modules/dri/r200_dri.so) ==3802== ==3802== 439376 bytes in 214 blocks are still reachable in loss record 234 of 235 ==3802== at 0x40045D2B: malloc (in /usr/lib/valgrind/valgrind.so) ==3802== by 0x43406941: _mesa_align_malloc (in /usr/X11R6/lib/modules/dri/r200_dri.so) ==3802== ==3802== 780304 bytes in 1 blocks are still reachable in loss record 235 of 235 ==3802== at 0x4004626E: calloc (in /usr/lib/valgrind/valgrind.so) ==3802== by 0x4345C63F: _mesa_alloc_pb (in /usr/X11R6/lib/modules/dri/r200_dri.so) ==3802== ==3802== LEAK SUMMARY: ==3802== definitely lost: 584 bytes in 7 blocks. ==3802== possibly lost: 0 bytes in 0 blocks. ==3802== still reachable: 2719612 bytes in 1020 blocks. ==3802== --3802-- lru: 265 epochs, 0 clearings. --3802-- translate: new 11449 (204241 -> 2540463), discard 0 (0 -> 0). --3802-- dispatch: 13250000 basic blocks, 313/220773 sched events, 157807 tt_fast misses. --3802-- reg-alloc: 3672 t-req-spill, 455841+28473 orig+spill uis, 57575 total-reg-r. --3802-- sanity: 289 cheap, 12 expensive checks. Find the "full" log in the attachment. Regards, Dieter
gears-valgrind.log.bz2
Description: BZip2 compressed data