Bug 30626 - bisected nexuiz issue since r600g: don't double count dirty block
Summary: bisected nexuiz issue since r600g: don't double count dirty block
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/Gallium/r600 (show other bugs)
Version: git
Hardware: x86 (IA32) Linux (All)
: medium normal
Assignee: Default DRI bug account
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-10-05 06:29 UTC by Andy Furniss
Modified: 2010-10-05 13:14 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Andy Furniss 2010-10-05 06:29:50 UTC
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]
Comment 1 Andy Furniss 2010-10-05 13:05:31 UTC
Fixed by
12d16e5f14237d86315bf5a5d6a7cf0619a7334e 
r600g: store reloc information in bo structure
Comment 2 Andy Furniss 2010-10-05 13:14:38 UTC
(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


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.