Bug 32787

Summary: [RADEON:KMS:RS300M:R200C] memory leak in radeonReleaseDmaRegions line 340
Product: Mesa Reporter: David Ronis <David.Ronis>
Component: Drivers/DRI/r200Assignee: Default DRI bug account <dri-devel>
Status: NEW --- QA Contact:
Severity: critical    
Priority: medium    
Version: unspecified   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: Backtrace.

Description David Ronis 2011-01-02 12:21:43 UTC
Created attachment 41574 [details] [review]
Backtrace.

I'm running git masters of xorg and just rebuilt drm and mesa with debugging symbols.  I get random crashes in a game called sauerbraten.  This is on a HP laptop with a RS300M AGP [Radeon Mobility 9100IGP] [1002:5835] card.  I believe that it uses the R200 driver.  I'll attach a core trace.   On the console I see:

*********************************WARN_ONCE*********************************
File radeon_dma.c function radeonReleaseDmaRegions line 340
Leaking dma buffer object!
***************************************************************************
*** glibc detected *** ./bin_unix/native_client: free(): invalid pointer: 0x0a083b9c ***
======= Backtrace: =========
/lib/libc.so.6[0xb72af564]
/lib/libc.so.6(cfree+0x90)[0xb72b3010]
/usr/lib/dri/r200_dri.so[0xb639f7e5]
/usr/lib/dri/r200_dri.so[0xb639d50d]
/usr/lib/dri/r200_dri.so[0xb639d1c5]
/usr/lib/dri/r200_dri.so[0xb63c8c10]
/usr/lib/dri/r200_dri.so[0xb63c8814]
/usr/lib/dri/r200_dri.so[0xb6399589]
/usr/lib/dri/r200_dri.so[0xb635b7d6]
/usr/lib/libGL.so.1[0xb7511d2c]
/usr/lib/libGL.so.1(glXMakeContextCurrent+0x189)[0xb74dd61e]
/usr/lib/libGL.so.1(glXMakeCurrent+0x26)[0xb74dd75d]
/usr/lib/libSDL-1.2.so.0[0xb7670194]
======= Memory map: ========
08048000-08258000 r-xp 00000000 03:02 1496155    /home/ronis/Project/notar/games/sauerbraten/bin_unix/native_client
08258000-0825c000 rw-p 00210000 03:02 1496155    /home/ronis/Project/notar/games/sauerbraten/bin_unix/native_client
0825c000-082fd000 rw-p 00000000 00:00 0 
0a009000-119f4000 rw-p 00000000 00:00 0          [heap]
a802a000-a8562000 rw-p 00000000 00:00 0 
a8711000-a8b12000 rw-p 00000000 00:00 0 
a8b14000-a9370000 rw-p 00000000 00:00 0 
a93b0000-aafa2000 rw-p 00000000 00:00 0 
aafa9000-ab9ed000 rw-p 00000000 00:00 0 
ab9ed000-ab9ee000 ---p 00000000 00:00 0 
ab9ee000-ac1ed000 rw-p 00000000 00:00 0 
ac1fc000-ac4d6000 rw-p 00000000 00:00 0 
ac4d6000-aced6000 rwxp 00000000 00:00 0 
aced6000-acf2d000 rw-p 00000000 00:00 0 
acf99000-acfb4000 r-xp 00000000 03:02 4392668    /usr/lib/libvorbis.so.0.4.0
acfb4000-acfc2000 rw-p 0001a000 03:02 4392668    /usr/lib/libvorbis.so.0.4.0
acfc2000-adbdd000 rw-p 00000000 00:00 0 
adbdd000-ae0bd000 rw-s d2302000 00:0a 13565      /dev/dri/card0
ae0bd000-ae2bd000 rw-s d2102000 00:0a 13565      /dev/dri/card0
ae2bd000-b62bd000 rw-s e0000000 00:0a 13565      /dev/dri/card0
b62bd000-b62c6000 r-xp 00000000 03:02 2515046    /lib/libcrypt-2.7.so
b62c6000-b62c7000 r--p 00008000 03:02 2515046    /lib/libcrypt-2.7.so
b62c7000-b62c8000 rw-p 00009000 03:02 2515046    /lib/libcrypt-2.7.so
b62c8000-b62ef000 rw-p 00000000 00:00 0 
b62ff000-b6303000 r-xp 00000000 03:02 4392604    /usr/lib/libogg.so.0.5.3
b6303000-b6304000 rw-p 00003000 03:02 4392604    /usr/lib/libogg.so.0.5.3
b6304000-b630b000 r-xp 00000000 03:02 4392660    /usr/lib/libvorbisfile.so.3.2.0
b630b000-b630c000 rw-p 00007000 03:02 4392660    /usr/lib/libvorbisfile.so.3.2.0
b630c000-b630d000 r--s d2101000 00:0a 13565      /dev/dri/card0
b630d000-b631d000 r--s d0100000 00:0a 13565      /dev/dri/card0
b631d000-b631f000 rw-s f804f000 00:0a 13565      /dev/dri/card0
b631f000-b6328000 r-xp 00000000 03:02 6029482    /usr/local/samba/lib/libtalloc.so.2.0.4
b6328000-b6329000 rw-p 00008000 03:02 6029482    /usr/local/samba/lib/libtalloc.so.2.0.4
b6329000-b6347000 r-xp 00000000 03:02 3121245    /usr/lib/libexpat.so.1.5.2
b6347000-b6349000 rw-p 0001d000 03:02 3121245    /usr/lib/libexpat.so.1.5.2
b6349000-b66b0000 r-xp 00000000 03:02 3138210    /usr/lib/dri/r200_dri.so
b66b0000-b66be000 rw-p 00366000 03:02 3138210    /usr/lib/dri/r200_dri.so
b66be000-b66e8000 rw-p 00000000 00:00 0 
b66e8000-b66e9000 ---p 00000000 00:00 0 
b66e9000-b6ee8000 rw-p 00000000 00:00 0 
b6ee8000-b6ee9000 r-xp 00000000 03:02 3215998    /usr/lib/gconv/ISO8859-1.so
b6ee9000-b6eea000 r--p 00000000 03:02 3215998    /usr/lib/gconv/ISO8859-1.so
b6eea000-b6eeb000 rw-p 00001000 03:02 3215998    /usr/lib/gconv/ISO8859-1.so
b6eeb000-b6eec000 rw-p 00000000 00:00 0 
b6eec000-b6f22000 r--p 00000000 03:02 3597583    /usr/lib/locale/en_US/LC_CTYPE
b6f22000-b6f65000 rw-p 00000000 00:00 0 
b6f65000-b6f69000 r-xp 00000000 03:02 4393295    /usr/lib/libXdmcp.so.6.0.0
b6f69000-b6f6a000 rw-p 00003000 03:02 4393295    /usr/lib/libXdmcp.so.6.0.0
b6f6a000-b6f6d000 r-xp 00000000 03:02 3128000    /usr/lib/libXau.so.6.0.0
b6f6d000-b6f6e000 rw-p 00002000 03:02 3128000    /usr/lib/libXau.so.6.0.0
b6f6e000-b6f86000 r-xp 00000000 03:02 4393176    /usr/lib/libxcb.so.1.1.0
b6f86000-b6f87000 rw-p 00017000 03:02 4393176    /usr/lib/libxcb.so.1.1.0
b6f87000-b6f88000 rw-p 00000000 00:00 0 
b6f88000-b6f92000 r-xp 00000000 03:02 3121201    /usr/lib/libdrm.so.2.4.0
b6f92000-b6f93000 rw-p 00009000 03:02 3121201    /usr/lib/libdrm.so.2.4.0
b6f93000-b6f98000 r-xp 00000000 03:02 4392940    /usr/lib/libXxf86vm.so.1.0.0
b6f98000-b6f99000 rw-p 00004000 03:02 4392940    /usr/lib/libXxf86vm.so.1.0.0
b6f99000-b6f9c000 r-xp 00000000 03:02 4393247    /usr/lib/libXfixes.so.3.1.0
b6f9c000-b6f9d000 rw-p 00003000 03:02 4393247    /usr/lib/libXfixes.so.3.1.0
b6f9d000-b6f9f000 r-xp 00000000 03:02 4393274    /usr/lib/libXdamage.so.1.1.0
b6f9f000-b6fa0000 rw-p 00001000 03:02 4393274    /usr/lib/libXdamage.so.1.1.0
b6fa0000-b6fb2000 r-xp 00000000 03:02 4393130    /usr/lib/libXext.so.6.4.0
b6fb2000-b6fb3000 rw-p 00012000 03:02 4393130    /usr/lib/libXext.so.6.4.0
b6fb3000-b6fb4000 rw-p 00000000 00:00 0 
b6fb4000-b7005000 r-xp 00000000 03:02 3128071    /usr/lib/libtiff.so.3.8.2
b7005000-b7007000 rw-p 00051000 03:02 3128071    /usr/lib/libtiff.so.3.8.2
b7007000-b7026000 r-xp 00000000 03:02 3121252    /usr/lib/libjpeg.so.62.0.0
b7026000-b7027000 rw-p 0001e000 03:02 3121252    /usr/lib/libjpeg.so.62.0.0
b7027000-b7062000 r-xp 00000000 03:02 4392891    /usr/lib/libpng.so.3.37.0
b7062000-b7063000 rw-p 0003a000 03:02 4392891    /usr/lib/libpng.so.3.37.0
b7063000-b70c1000 r-xp 00000000 03:02 3121251    /usr/lib/libvga.so.1.9.25
b70c1000-b70c7000 rw-p 0005d000 03:02 3121251    /usr/lib/libvga.so.1.9.25
b70c7000-b70df000 rw-p 00000000 00:00 0 
b70df000-b70e1000 r-xp 00000000 03:02 2515241    /lib/libdl-2.7.so
b70e1000-b70e2000 r--p 00001000 03:02 2515241    /lib/libdl-2.7.so
b70e2000-b70e3000 rw-p 00002000 03:02 2515241    /lib/libdl-2.7.so
b70e3000-b723f000 r-xp 00000000 03:02 4393276    /usr/lib/libX11.so.6.3.0
b723f000-b7243000 rw-p 0015b000 03:02 4393276    /usr/lib/libX11.so.6.3.0
b7243000-b7244000 rw-p 00000000 00:00 0 
b7244000-b7389000 r-xp 00000000 03:02 2515240    /lib/libc-2.7.so
b7389000-b738a000 ---p 00145000 03:02 2515240    /lib/libc-2.7.so
b738a000-b738c000 r--p 00145000 03:02 2515240    /lib/libc-2.7.so
b738c000-b738d000 rw-p 00147000 03:02 2515240    /lib/libc-2.7.so
b738d000-b7390000 rw-p 00000000 00:00 0 
b7390000-b73ab000 r-xp 00000000 03:02 4393008    /usr/lib/libgcc_s.so.1
b73ab000-b73ac000 rw-p 0001a000 03:02 4393008    /usr/lib/libgcc_s.so.1
b73ac000-b73d0000 r-xp 00000000 03:02 2515050    /lib/libm-2.7.so
b73d0000-b73d1000 r--p 00023000 03:02 2515050    /lib/libm-2.7.so
b73d1000-b73d2000 rw-p 00024000 03:02 2515050    /lib/libm-2.7.so
b73d2000-b74af000 r-xp 00000000 03:02 4392753    /usr/lib/libstdc++.so.6.0.14
b74af000-b74b3000 r--p 000dc000 03:02 4392753    /usr/lib/libstdc++.so.6.0.14
b74b3000-b74b4000 rw-p 000e0000 03:02 4392753    /usr/lib/libstdc++.so.6.0.14
b74b4000-b74bb000 rw-p 00000000 00:00 0 
b74bb000-b74c2000 r-xp 00000000 03:02 2515178    /lib/librt-2.7.so
b74c2000-b74c3000 r--p 00006000 03:02 2515178    /lib/librt-2.7.so
b74c3000-b74c4000 rw-p 00007000 03:02 2515178    /lib/librt-2.7.so
b74c4000-b7528000 r-xp 00000000 03:02 4392742    /usr/lib/libGL.so.1.2
b7528000-b752f000 rw-p 00064000 03:02 4392742    /usr/lib/libGL.so.1.2
b752f000-b7531000 rw-p 00000000 00:00 0 
b7531000-b7544000 r-xp 00000000 03:02 3121248    /usr/lib/libz.so.1.2.3
b7544000-b7545000 rw-p 00012000 03:02 3121248    /usr/lib/libz.so.1.2.3
b7545000-b757e000 r-xp 00000000 03:02 4407451    /usr/lib/libSDL_mixer-1.2.so.0.2.6
b757e000-b7588000 rw-p 00038000 03:02 4407451    /usr/lib/libSDL_mixer-1.2.so.0.2.6
b7588000-b75ab000 rw-p 00000000 00:00 0 
b75ab000-b75b5000 r-xp 00000000 03:02 4407455    /usr/lib/libSDL_image-1.2.so.0.1.5
b75b5000-b75b6000 rw-p 0000a000 03:02 4407455    /usr/lib/libSDL_image-1.2.so.0.1.5
b75b6000-b75c6000 rw-p 00000000 00:00 0 
b75c6000-b75d9000 r-xp 00000000 03:02 2515172    /lib/libpthread-2.7.so
b75d9000-b75da000 r--p 00012000 03:02 2515172    /lib/libpthread-2.7.so
b75da000-b75db000 rw-p 00013000 03:02 2515172    /lib/libpthread-2.7.so
b75db000-b75dd000 rw-p 00000000 00:00 0 
b75dd000-b75e3000 r-xp 00000000 03:02 4392738    /usr/lib/libdrm_radeon.so.1.0.0
b75e3000-b75e4000 rw-p 00005000 03:02 4392738    /usr/lib/libdrm_radeon.so.1.0.0
b75e4000-b75ef000 r-xp 00000000 03:02 4392915    /usr/lib/libXcursor.so.1.0.2
b75ef000-b75f0000 rw-p 0000a000 03:02 4392915    /usr/lib/libXcursor.so.1.0.2
b75f0000-b75f1000 r--p 00000000 03:02 3581420    /usr/lib/locale/en_US/LC_NUMERIC
b75f1000-b75f2000 r--p 00000000 03:02 3580823    /usr/lib/locale/en_US/LC_TIME
b75f2000-b75f3000 r--p 00000000 03:02 3581460    /usr/lib/locale/en_US/LC_MONETARY
b75f3000-b75f4000 r--p 00000000 03:02 3588629    /usr/lib/locale/en_US/LC_MESSAGES/SYS_LC_MESSAGES
b75f4000-b75f5000 r--p 00000000 03:02 3597856    /usr/lib/locale/en_US/LC_PAPER
b75f5000-b75f6000 r--p 00000000 03:02 3597864    /usr/lib/locale/en_US/LC_NAME
b75f6000-b75f7000 r--p 00000000 03:02 3581461    /usr/lib/locale/en_US/LC_ADDRESS
b75f7000-b75f8000 r--p 00000000 03:02 3581462    /usr/lib/locale/en_US/LC_TELEPHONE
b75f8000-b75f9000 r--p 00000000 03:02 3581463    /usr/lib/locale/en_US/LC_MEASUREMENT
b75f9000-b75fa000 r--p 00000000 03:02 3581464    /usr/lib/locale/en_US/LC_IDENTIFICATION
b75fa000-b7601000 r-xp 00000000 03:02 4392637    /usr/lib/libXrandr.so.2.2.0
b7601000-b7602000 rw-p 00006000 03:02 4392637    /usr/lib/libXrandr.so.2.2.0
b7602000-b760b000 r-xp 00000000 03:02 4409292    /usr/lib/libXrender.so.1.3.0
b760b000-b760c000 rw-p 00008000 03:02 4409292    /usr/lib/libXrender.so.1.3.0
b760c000-b760d000 rw-p 00000000 00:00 0 
b760d000-b76a4000 r-xp 00000000 03:02 4393167    /usr/lib/libSDL-1.2.so.0.11.2
b76a4000-b76a6000 rw-p 00096000 03:02 4393167    /usr/lib/libSDL-1.2.so.0.11.2
b76a6000-b76f4000 rw-p 00000000 00:00 0 
b76f4000-b7710000 r-xp 00000000 03:02 2515282    /lib/ld-2.7.so
b7710000-b7711000 r--p 0001b000 03:02 2515282    /lib/ld-2.7.so
b7711000-b7712000 rw-p 0001c000 03:02 2515282    /lib/ld-2.7.so
bfe21000-bfe42000 rw-p 00000000 00:00 0          [stack]
ffffe000-fffff000 r-xp 00000000 00:00 0          [vdso]
Aborted (core dumped)
Comment 1 David Ronis 2011-01-02 12:24:32 UTC
Wierd, see the comment for the attachment for the initial bug report.
Comment 2 Alex Deucher 2011-01-02 17:21:38 UTC
What version of mesa are you using?
Comment 3 David Ronis 2011-01-02 20:27:25 UTC
I'm running the git master (drm, mesa, pixman, & xserver), my libs are also fairly recent git/master libs (last few weeks).   Note that I've been having this problem for quite some time.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.