[Bug 47289] New: SIGSEGV at r300_state.c:1066

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Tue Mar 13 14:25:10 PDT 2012


https://bugs.freedesktop.org/show_bug.cgi?id=47289

             Bug #: 47289
           Summary: SIGSEGV at r300_state.c:1066
    Classification: Unclassified
           Product: Mesa
           Version: 7.11
          Platform: x86-64 (AMD64)
        OS/Version: FreeBSD
            Status: NEW
          Severity: critical
          Priority: medium
         Component: Drivers/DRI/r300
        AssignedTo: dri-devel at lists.freedesktop.org
        ReportedBy: rfg-freedesktop at tristatelogic.com


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.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the dri-devel mailing list