A. H. Gee wrote:
Hi everyone,

Hopefully a useful data point: the radeon nightly snapshots now work
for me as long as I use Jose's libxaa.a. Without the new libxaa.a, I
get the much reported blank screen. Looks like we need to bundle
libxaa.a with the nightly backups.

The radeon driver works fine most of the time, but still falls over
with our medical imaging application. This differs from the usual
OpenGL game in that it has multiple popup windows with multiple GL
contexts. There are two symptoms:

(a) Repeatable assertion failures as follows:

radeon_vtxfmt.c:1045: radeonVtxfmtUnbindContext: Assertion `vb.context
== ctx' failed.

This one is well documented and I believe near the top of Keith's todo
list! A workaround is RADEON_NO_TCL=1 or RADEON_NO_VTXFMT=1.

(b) More sporadic (but not rare) segfaults, which nothing seems to
work around. Seemed to be introduced some time in August, I don't get
these with the 1 August snapshots. Here's a debug trace, showing that
this one too is to do with destroying contexts in the multiple context
applications:

Program received signal SIGSEGV, Segmentation fault.
0x4207adb8 in chunk_free () from /lib/i686/libc.so.6
(gdb) where
#0  0x4207adb8 in chunk_free () from /lib/i686/libc.so.6
#1  0x4207ac24 in free () from /lib/i686/libc.so.6
#2  0x4051dd08 in _mesa_extensions_dtr (ctx=0x84c4988) at extensions.c:351
#3  0x4050523a in _mesa_free_context_data (ctx=0x84c4988) at context.c:1723
#4  0x4050527f in _mesa_destroy_context (ctx=0x84c4988) at context.c:1738
#5  0x4062191d in radeonDestroyContext (driContextPriv=0x8445308)
    at radeon_context.c:575
#6  0x404f05ff in driDestroyContext (dpy=0x8170878, scrn=0,
    contextPrivate=0x8445308) at dri_util.c:762
#7  0x4005c7df in __glXFreeContext () from /usr/X11R6/lib/libGL.so.1
I've just looked over this code and it seems ok. Probably what is happening is something else, somewhere else, is being free'd twice, or freed without being allocated. This will usually corrupt the internal datastructures used by free/malloc & result in a crash later on, like the above.

As for tracking it down, try ElectricFence, or even Purify if you have access to it (I think I heard they do a linux version now)...

Keith






-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to