Bug 29066

Summary: [r300c, r300g] pipes triggers Assertion `boi->space_accounted' failed
Product: Mesa Reporter: Tormod Volden <bugzi11.fdo.tormod>
Component: Drivers/DRI/r300Assignee: Default DRI bug account <dri-devel>
Status: RESOLVED NOTOURBUG QA Contact:
Severity: normal    
Priority: medium CC: yannubuntu
Version: git   
Hardware: Other   
OS: All   
URL: https://bugs.launchpad.net/bugs/602267
Whiteboard:
i915 platform: i915 features:
Attachments: full backtrace (classic driver from git)
dmesg output including gallium run

Description Tormod Volden 2010-07-14 14:01:06 UTC
Created attachment 37056 [details]
full backtrace (classic driver from git)

Originally reported on Ubuntu 10.04 in https://bugs.launchpad.net/bugs/602267 and the user has also tested latest git, classic and gallium.

Running "pipes" from xscreensaver crashes on RS482 with this message:
pipes: ../../radeon/radeon_cs_gem.c:129: cs_gem_write_reloc: Assertion `boi->space_accounted' failed.
(see attached backtrace)

With gallium, it does not crash but this message is seen:
radeon: The kernel rejected CS, see dmesg for more information.
dmesg contains:
[drm:r100_cs_packet_parse] *ERROR* Packet (351:3:16383) end after CS buffer (1020) !
[drm:radeon_cs_ioctl] *ERROR* Invalid command stream !

Hardware:
01:05.0 VGA compatible controller [0300]: ATI Technologies Inc RS482 [Radeon Xpress 200M] [1002:5975]
	Subsystem: NEC Corporation Device [1033:8800]
Comment 1 Tormod Volden 2010-07-14 14:02:37 UTC
Created attachment 37057 [details]
dmesg output including gallium run
Comment 2 Marek Olšák 2010-07-14 23:39:03 UTC
Bad news. It works for me on RV530 and RV350 with both TCL turned on and off.

RS482 is RV350-based IIRC.

Kernel 2.6.35-rc3, libdrm from git.
Comment 3 Tormod Volden 2010-07-15 13:26:35 UTC
Yes, I don't know if they are closer to RV350 or to RV370. One difference from those is that RS4xx have only two render output units, but that's irrelevant for the driver, right? All I know is that these Xpress IGP have all kind of problems.

Would it be important to try latest libdrm? Ubuntu 10.04 has only 2.4.18.
Comment 4 Marek Olšák 2010-07-15 19:04:32 UTC
(In reply to comment #3)
> Yes, I don't know if they are closer to RV350 or to RV370. One difference from
> those is that RS4xx have only two render output units, but that's irrelevant
> for the driver, right?

It should be.

> Would it be important to try latest libdrm? Ubuntu 10.04 has only 2.4.18.

I can't tell for sure, though there are a few fixes since 2.4.18.
Comment 5 Yann 2010-07-16 06:57:20 UTC
Dear all, 
I am the Launchpad bug reporter.

I tried kernel 2.6.35-020635rc5-generic , and I see no change when running /usr/lib/xscreensaver/pipes :
I get the same error message ("radeon: The kernel rejected CS, see dmesg for more information.") in terminal and the screensaver does not crash (like with the normal Lucid kernel).
Comment 6 Marek Olšák 2010-07-26 06:11:41 UTC
Yann> Is the error in dmesg still the same, i.e. "Packet (351:3:16383) end after CS buffer"?
Comment 7 Yann 2010-07-27 00:01:16 UTC
(In reply to comment #6)
> Yann> Is the error in dmesg still the same, i.e. "Packet (351:3:16383) end
> after CS buffer"?

Yes, I tried again with rc6, and I get the following error :

[  288.532079] [drm:r100_cs_packet_parse] *ERROR* Packet (354:3:16383) end after CS buffer (1026) !
[  288.532086] [drm:radeon_cs_ioctl] *ERROR* Invalid command stream !
Comment 8 Marek Olšák 2010-07-27 01:07:30 UTC
Have you compiled mesa with --enable-debug? It might give you some nice assertion failures hopefully.
Comment 9 Yann 2010-07-27 01:36:26 UTC
(In reply to comment #8)
> Have you compiled mesa with --enable-debug? It might give you some nice
> assertion failures hopefully.

i am not fan of compilation, but i can try it if it is necessary and if you explain me step-by-step :)
Comment 10 Marek Olšák 2010-07-27 03:06:40 UTC
git clone git://anongit.freedesktop.org/mesa/mesa
cd mesa
./autogen.sh --with-dri-drivers= --with-state-trackers=dri --enable-debug --enable-glx-tls --enable-gallium-radeon --disable-gallium-swrast --disable-egl --disable-glu --disable-glut --disable-glw
make
cd lib/gallium
ln -s radeong_dri.so r300_dri.so
LIBGL_DRIVERS_PATH=. glxinfo|grep renderer # it should say Gallium 0.4 on R*
LIBGL_DRIVERS_PATH=. /usr/lib/xscreensaver/pipes
Comment 11 Yann 2010-07-27 03:22:31 UTC
Thank you. Please how can I revert those changes after I test ? (I save my data, but this is my production PC so I would like to keep it as stable as possible)
Comment 12 Marek Olšák 2010-07-27 03:43:29 UTC
It doesn't install anything, so there is nothing to revert. Your system will be untouched.

LIBGL_DRIVERS_PATH=some_path program

says that the 3D driver for the "program" is loaded from "some_path".

If you don't type "LIBGL_DRIVERS_PATH=some_path", the driver will be loaded from your default system location.
Comment 13 Yann 2010-07-27 05:05:44 UTC
> LIBGL_DRIVERS_PATH=. glxinfo|grep renderer # it should say Gallium 0.4 on R*

it said "OpenGL renderer string: Gallium 0.4 on RS482"

> LIBGL_DRIVERS_PATH=. /usr/lib/xscreensaver/pipes

works without crashing. Here is the terminal output :

yyy@yyy-laptop:~/mesa/lib/gallium$ LIBGL_DRIVERS_PATH=. /usr/lib/xscreensaver/pipes
radeon: Successfully grabbed chipset info from kernel!
radeon: DRM version: 2.5.0 ID: 0x5975 GB: 1 Z: 1
radeon: GART size: 29 MB VRAM size: 128 MB
debug_get_flags_option: RADEON_DEBUG = 0x0
debug_get_bool_option: RADEON_NO_TCL = FALSE
couldn't open libtxc_dxtn.so, software DXTn compression/decompression unavailable
debug_get_bool_option: GALLIUM_RBUG = FALSE
debug_get_option: GALLIUM_TRACE = (null)
debug_get_bool_option: GALLIUM_GALAHAD = FALSE
debug_get_bool_option: DRAW_FSE = FALSE
debug_get_bool_option: DRAW_NO_FSE = FALSE
debug_get_bool_option: GALLIUM_DUMP_VS = FALSE
debug_get_bool_option: GALLIUM_NOSSE = FALSE
Mesa: CPU vendor: AuthenticAMD
Mesa: CPU name: Mobile AMD Sempron(tm) Processor 3200+
Mesa: Mesa 7.9-devel DEBUG build Jul 27 2010 20:48:56
Mesa warning: couldn't open libtxc_dxtn.so, software DXTn compression/decompression unavailable
debug_get_bool_option: MESA_MVP_DP4 = FALSE
debug_get_flags_option: ST_DEBUG = 0x0
^C


Do you need some more log ?
Comment 14 Marek Olšák 2010-07-27 05:18:52 UTC
If I understand this correctly, the gallium driver from the PPA prints "radeon: The kernel rejected CS, see dmesg for more information.", but the driver from git works like a charm. Is that correct?
Comment 15 Marek Olšák 2010-08-05 16:57:15 UTC
According to the last feedback, this issue seems to be resolved by using the driver from git instead of the PPA. Closing..
Comment 16 Yann 2010-08-13 14:21:38 UTC
Does it mean it will be solved in Ubuntu 10.10 ?
Or is there something Ubuntu developpers have to do ? 
Do I need to add something in https://bugs.launchpad.net/bugs/602267 ?

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.