Bug 109693

Summary: Hang of the graphics driver and assertion on si_upload_vertex_buffer_descriptors
Product: Mesa Reporter: Jordan Petridis <jpetridis>
Component: Drivers/Gallium/radeonsiAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED NOTOURBUG QA Contact: Default DRI bug account <dri-devel>
Severity: normal    
Priority: medium CC: julien.isorce, nirbheek.chauhan, slomo, tim
Version: git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: glxinfo output

Description Jordan Petridis 2019-02-20 17:33:32 UTC
Created attachment 143420 [details]
glxinfo output

After this [1] commit, the GL tests we have on gstreamer started to causing a hang in my machine (Gstreamer issue [2]). I was running mesa 18.2.8 and it was constantly hanging upon running those specific tests. Once I upgraded to mesa 18.3.3 half the times it hangs and the other half it hits the following assertion. Compiling and running against mesa 19.0 rc5 didn't change things.

pipelines_gl_launch_lines: ../src/gallium/drivers/radeonsi/si_descriptors.c:1150: si_upload_vertex_buffer_descriptors: Assertion `num_records >= 0 && num_records <= UINT_MAX' failed.

the whole log is [here] [3]

To reproduce you can run the following:

```
git clone https://gitlab.freedesktop.org/gstreamer/gst-build.git
cd gst-build
meson build -Dintrospection=disabled -Dgtk_doc=disabled -Dexamples=disabled -Dsharp=disabled
ninja -C build/
./gst-uninstalled.py gst-validate-launcher check.gst-plugins-base.pipelines_gl* -fs --mute --dump-on-failure --no-display --meson-no-rebuild -M "/tmp/validate-output/"
```

gpu info:

lspci -v
04:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Raven Ridge [Radeon Vega Series / Radeon Vega Mobile Series] (rev c3) (prog-if 00 [VGA controller])
	Subsystem: Lenovo Device 3801
	Flags: bus master, fast devsel, latency 0, IRQ 71
	Memory at c0000000 (64-bit, prefetchable) [size=256M]
	Memory at d0000000 (64-bit, prefetchable) [size=2M]
	I/O ports at 1000 [size=256]
	Memory at d0600000 (32-bit, non-prefetchable) [size=512K]
	Capabilities: <access denied>
	Kernel driver in use: amdgpu
	Kernel modules: amdgpu

➜ glxinfo | grep 'OpenGL vendor'
OpenGL vendor string: X.Org


[1]: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/commit/acc098a736949d465d7f77e5de94a75627209147
[2]: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/543
[3]: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/543#note_121059
Comment 1 Tim Müller 2019-03-01 17:01:45 UTC
Would be great if someone could take a look at this, as it might affect more users once the next GStreamer stable release is out.
Comment 2 Kamil Páral 2019-03-22 15:15:42 UTC
This issue seems to be causing crashes when playing Half-Life 2:
https://github.com/ValveSoftware/steam-for-linux/issues/6104#issuecomment-466681701
Comment 3 Pierre-Eric Pelloux-Prayer 2019-06-17 13:58:08 UTC
The issue was a problem in gst code and was fixed in their code (see https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/543#note_175823)

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.