[Mesa-users] Assistance please: segfault at r300_state.c:1066

Ronald F. Guilmette rfg at tristatelogic.com
Sun Mar 11 18:14:35 PDT 2012



Greetings,

I have been using a program called "gthumb" for some time now, and it
has worked well for me.

Recently, I upgraded some of my hardware.  Specifically, I bought a new
monitor and a nice "X600" (Radeon) card to hang that off of.  Since then,
gthumb crashes consistantly, shortly after startup.  (I'm on FreeBSD 8.2,
by the way.)

I made some modest efforts to try to find out what was going on, but frankly,
this graphics stuff is pretty much all greek to me.  I did however rebuild
and re-install both gthumb and dri with debugging info so that I could at
least get a stack trace from the coredump file.

So here is some (gdb) context for the SIGSEGV crash of gthumb:

#0  0x0000000805453233 in r300UpdateWindow (ctx=0x80534a000)
    at r300_state.c:1066
1066            GLfloat sx = v[MAT_SX];
[New Thread 8052041c0 (LWP 100247)]
(gdb) where
#0  0x0000000805453233 in r300UpdateWindow (ctx=0x80534a000)
    at r300_state.c:1066
#1  0x0000000805456a83 in r300ResetHwState (r300=0x8052f8000)
    at r300_state.c:2195
#2  0x00000008054588ec in r300InitState (r300=0x8052f8000) at r300_state.c:2750
#3  0x00000008054451fd in r300CreateContext (glVisual=0x805308700, 
    driContextPriv=0x80524d220, sharedContextPrivate=0x0) at r300_context.c:382
#4  0x000000080543b5bf in radeonCreateContext (glVisual=0x805308700, 
    driContextPriv=0x80524d220, sharedContextPriv=0x0) at radeon_screen.c:1143
#5  0x0000000805435793 in driCreateNewContext (psp=0x80524e480, 
    config=0x805308700, render_type=32788, shared=0x0, hwContext=3, 
    data=0x80524d1f0) at ../common/dri_util.c:587
#6  0x0000000802f2d70f in driCreateContext () from /usr/local/lib/libGL.so.1
#7  0x0000000802f08320 in CreateContext () from /usr/local/lib/libGL.so.1
#8  0x0000000802f086dc in glXCreateNewContext () from /usr/local/lib/libGL.so.1
#9  0x0000000800a61255 in cogl_pango_glyph_cache_new ()
   from /usr/local/lib/libclutter-glx-1.0.so.0
#10 0x00000008009ebfdb in clutter_feature_available ()
   from /usr/local/lib/libclutter-glx-1.0.so.0
#11 0x00000008009f6045 in clutter_get_option_group_without_init ()
   from /usr/local/lib/libclutter-glx-1.0.so.0
#12 0x00000008009f626f in clutter_init ()
   from /usr/local/lib/libclutter-glx-1.0.so.0
#13 0x00000000004c3b59 in main (argc=1, argv=0x7fffffffe300) at main.c:561
(gdb) print v
$1 = (const GLfloat *) 0x800000000
(gdb) print *$1
Cannot access memory at address 0x800000000
(gdb) 


I did some grepping around and found that MAT_SX is #defined to the value 0.
Thus, the gdb command "print v[0]" or equivalently "print *v" should give a
clearer picture of what is causing the problem, and as you can see, indeed
it does.  The process virtual space at 0x800000000 is apparently not mapped
in.  Thus, the attempt to fetch the contents of v[MAT_SX] quite reasonably
results in a SIGSEGV and a coredump.

After getting this far, I read the page:

   http://dri.freedesktop.org/wiki/DriTroubleshooting

and checked everything I could that was listed there and all seems to be
well.  The radeon.ko module does seem to be loaded into the kernel, and the
folliowing line does exist in my /var/log/Xorg.0.log file:

(II) RADEON(0): Direct rendering enabled

Additionally, after doing "setenv LIBGL_DEBUG verbose" and re-running
gthumb, most everything seems to be OK, however it is apparent that
there are a couple of (optional?) DRI configuration files that simply
are not present.  (Do I need to have one or both of these?)

% gthumb .
libGL: XF86DRIGetClientDriverName: 5.3.0 r300 (screen 0)
libGL: OpenDriver: trying /usr/local/lib/dri/r300_dri.so
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 6, (OK)
drmOpenByBusid: Searching for BusID pci:0000:02:00.0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 6, (OK)
drmOpenByBusid: drmOpenMinor returns 6
drmOpenByBusid: drmGetBusid reports pci:0000:02:00.0
libGL error: 
Can't open configuration file /etc/drirc: No such file or directory.
libGL error: 
Can't open configuration file /usr/home/rfg/.drirc: No such file or directory.
Segmentation fault (core dumped)


So anyway, long story short, I could use some help here.  I'd kinda like
to be able to run gthumb again, you know, without it crashing right off
the bat.

Suggestions?  Advice?  Stuff I should try?



More information about the mesa-users mailing list