https://bugs.freedesktop.org/show_bug.cgi?id=30626
Summary: bisected nexuiz issue since r600g: don't double count dirty block Product: Mesa Version: git Platform: x86 (IA32) OS/Version: Linux (All) Status: NEW Severity: normal Priority: medium Component: Drivers/Gallium/r600 AssignedTo: dri-devel@lists.freedesktop.org ReportedBy: lists@andyfurniss.entadsl.com
rv790, d-r-t, git ddx, mesa,libdrm and xserver 1.9. wait vline and dri2 vsync off.
Test is nexuiz 2.5.2, timedemo demos/demo1, effects normal, fullscreen 1920x1080.
The nexuiz sdl client isn't affected as badly as the glx client and will run to completion the demo. It may sometimes show the libc error on exit. The glx client will bail out during the demo with either a segfault or the libc trace below.
Both since the commit -
commit dde1391cc95478f4dedccdf920ba0a6607472937 Author: John Doe <glisse@barney.(none)> Date: Thu Sep 30 17:30:25 2010 -0400
r600g: don't double count dirty block
This avoid to overcount the number of dwords we need and thus avoid maximazation of cs buffer use.
Will give an error in dmesg.
[drm:radeon_cs_parser_init] *ERROR* cs IB too big: 16390 [drm:radeon_cs_ioctl] *ERROR* Failed to initialize parser !
The libc trace -
*** glibc detected *** ./nexuiz-linux-686-glx: double free or corruption (!prev): 0x0ba5e510 *** ======= Backtrace: ========= /lib/libc.so.6[0xb73d4d9a] /lib/libc.so.6(cfree+0x6e)[0xb73d697e] /home/andy/Src/Mesa-git/mesa/lib/gallium/r600_dri.so[0xb6179950] /home/andy/Src/Mesa-git/mesa/lib/gallium/r600_dri.so[0xb61580aa] /home/andy/Src/Mesa-git/mesa/lib/gallium/r600_dri.so[0xb62a9169] /home/andy/Src/Mesa-git/mesa/lib/gallium/r600_dri.so[0xb623184d] /home/andy/Src/Mesa-git/mesa/lib/gallium/r600_dri.so[0xb6174b70] /home/andy/Src/Mesa-git/mesa/lib/gallium/r600_dri.so[0xb6154737] /home/andy/Src/Xorg-git/modular/lib/libGL.so.1[0xb64edc40] /home/andy/Src/Xorg-git/modular/lib/libGL.so.1[0xb64c8457] /home/andy/Src/Xorg-git/modular/lib/libGL.so.1[0xb64c8bb6] /home/andy/Src/Xorg-git/modular/lib/libX11.so.6(XCloseDisplay+0xb6)[0xb76a19c6] ./nexuiz-linux-686-glx[0x804d82d] ./nexuiz-linux-686-glx[0x80dec52] ./nexuiz-linux-686-glx[0x8198b15] [0xffffe400] /home/andy/Src/Mesa-git/mesa/lib/gallium/r600_dri.so[0xb616a7a0] /home/andy/Src/Mesa-git/mesa/lib/gallium/r600_dri.so[0xb62de8c8] /home/andy/Src/Mesa-git/mesa/lib/gallium/r600_dri.so[0xb619f8ca] ./nexuiz-linux-686-glx[0x80ae84c] ./nexuiz-linux-686-glx[0x8082b51] ./nexuiz-linux-686-glx[0x8087e9c] ./nexuiz-linux-686-glx[0x80dfb5f] ./nexuiz-linux-686-glx[0x804b0fd] /lib/libc.so.6(__libc_start_main+0xd0)[0xb7387380] ./nexuiz-linux-686-glx[0x804aff1]
https://bugs.freedesktop.org/show_bug.cgi?id=30626
Andy Furniss lists@andyfurniss.entadsl.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #1 from Andy Furniss lists@andyfurniss.entadsl.com 2010-10-05 13:05:31 PDT --- Fixed by 12d16e5f14237d86315bf5a5d6a7cf0619a7334e r600g: store reloc information in bo structure
https://bugs.freedesktop.org/show_bug.cgi?id=30626
--- Comment #2 from Andy Furniss lists@andyfurniss.entadsl.com 2010-10-05 13:14:38 PDT --- (In reply to comment #1)
Fixed by 12d16e5f14237d86315bf5a5d6a7cf0619a7334e r600g: store reloc information in bo structure
Oops - it wasn't that one that fixed, it was -
585e4098aa0cb68a2cfce55ced5c585bd20aba24 r600g: improve bo flushing
dri-devel@lists.freedesktop.org