[RADEON:UMS:R200C] SIGSEGV in _radeon_bo_unref
Submitted by David Ronis
Assigned to Default DRI bug account
Description
I occasionally crash in the sauerbrauten game (even after the fix in bug #25355); the problem seems to be game-map related. I'm following the git/master.
I see the following on the console:
WARN_ONCE File radeon_dma.c function radeonReleaseDmaRegions line 340 Leaking dma buffer object!
From the backtrace it's clear that radeon_bo_unref is being passed a NULL pointer. My bet is that the culprit is radeonReleaseDmaRegions' calculation of bo (like in bug 25355).
Here's the backtrace:
Program terminated with signal 11, Segmentation fault. [New process 12045]
#0 0xb641a054 in _radeon_bo_unref (bo=0x0, file=0xb664c012 "radeon_dma.c",
func=0xb664c353 "radeonReleaseDmaRegions", line=341)
at /usr/include/drm/radeon_bo.h:137
137 bo->cref--;
Thread 1 (process 12045):
#0 0xb641a054 in _radeon_bo_unref (bo=0x0, file=0xb664c012 "radeon_dma.c",
func=0xb664c353 "radeonReleaseDmaRegions", line=341)
at /usr/include/drm/radeon_bo.h:137
No locals.
#1 0xb641b1d0 in radeonReleaseDmaRegions (rmesa=0x843b978) at radeon_dma.c:341
dma_bo = (struct radeon_dma_bo *) 0x843b994
temp = (struct radeon_dma_bo *) 0xcdacfd0
expire_at = 371036
time = 370936
__FUNCTION__ = "radeonReleaseDmaRegions"
#2 0xb6418b37 in rcommonFlushCmdBuf (rmesa=0x843b978,
caller=0xb664bd88 "radeonFlush") at radeon_common.c:1201
ret = 138935784
#3 0xb641879f in radeonFlush (ctx=0x8440eb0) at radeon_common.c:1104
radeon = (radeonContextPtr) 0x843b978
__FUNCTION__ = "radeonFlush"
#4 0xb6414146 in radeon_firevertices (radeon=0x843b978) at radeon_cmdbuf.h:118
No locals.
#5 0xb6414984 in radeonDestroyContext (driContextPriv=0x84395b0)
at radeon_common_context.c:308
ctx = (GLcontext *) 0x8440eb0
radeon = (radeonContextPtr) 0x843b978
current = (radeonContextPtr) 0x843b978
__PRETTY_FUNCTION__ = "radeonDestroyContext"
__FUNCTION__ = "radeonDestroyContext"
#6 0xb63e259e in r200DestroyContext (driContextPriv=0x84395b0)
at r200_context.c:509
i = 6
rmesa = (r200ContextPtr) 0x843b978
#7 0xb63d9d2d in driDestroyContext (pcp=0x84395b0) at ../common/dri_util.c:546
No locals.
#8 0xb753e09e in driDestroyContext (context=0x8439880, psc=0x8438e18,
dpy=0x83f59d0) at dri_glx.c:495
pcp = (__GLXDRIcontextPrivate *) 0x8439880
#9 0xb7506523 in DestroyContext (dpy=0x83f59d0, gc=0x8410ef8) at glxcmds.c:556
req = (xGLXDestroyContextReq *) 0xb73afff4
xid = 65011714
opcode = 151 '\227'
imported = 0 '\0'
#10 0xb7506687 in glXDestroyContext (dpy=0x83f59d0, gc=0x8410ef8)
at glxcmds.c:592
No locals.
#11 0xb76c01b4 in X11_GL_Shutdown () from /usr/lib/libSDL-1.2.so.0
No locals.
#12 0x08410ef8 in ?? ()
No symbol table info available.
#13 0x00000000 in ?? ()
No symbol table info available.
Current language: auto; currently c
Version: git