Bug 92302

Summary: Unigine Tropics freeze-crashes R390X
Product: Mesa Reporter: MC Return <mc.return>
Component: Drivers/Gallium/radeonsiAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED MOVED QA Contact: Default DRI bug account <dri-devel>
Severity: normal    
Priority: medium CC: 0xe2.0x9a.0x9b, mc.return
Version: 11.0   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: console output of glxinfo
console output of dmesg

Description MC Return 2015-10-05 21:16:52 UTC
I understand that this benchmark might not use the latest version of the Unigine engine, but starting it should not make my machine lock up with actual high-end hardware, especially since the benchmark works flawless on pre-GCN AMD hardware.
Comment 1 Michel Dänzer 2015-10-06 01:34:04 UTC
Please attach the corresponding Xorg.0.log file and output of dmesg and glxinfo.

Are the 32-bit Mesa binaries up to date?
Comment 2 MC Return 2015-10-06 08:22:28 UTC
Created attachment 118698 [details]
console output of glxinfo
Comment 3 MC Return 2015-10-06 08:25:11 UTC
Created attachment 118699 [details]
console output of dmesg
Comment 4 MC Return 2015-10-06 08:32:42 UTC
Hi Michel,
thanks a lot for the swift response.

I've built Mesa by checking out origin/11.0 and configuring the build with ./autogen.sh --prefix=/usr --enable-texture-float --libdir=/usr/lib/x86_64-linux-gnu/ --with-gallium-drivers=nouveau,radeonsi,r600 --with-egl-platforms=drm,x11 --enable-glx-tls --enable-shared-glapi --enable-glx --enable-driglx-direct --enable-gles1 --enable-gles2 --enable-experimental-targets=R600

How can I find out if my 32-bit Mesa binaries are up to date ?
Comment 5 Andy Furniss 2015-10-06 08:52:21 UTC
(In reply to MC Return from comment #4)
> Hi Michel,
> thanks a lot for the swift response.
> 
> I've built Mesa by checking out origin/11.0 and configuring the build with
> ./autogen.sh --prefix=/usr --enable-texture-float
> --libdir=/usr/lib/x86_64-linux-gnu/
> --with-gallium-drivers=nouveau,radeonsi,r600 --with-egl-platforms=drm,x11
> --enable-glx-tls --enable-shared-glapi --enable-glx --enable-driglx-direct
> --enable-gles1 --enable-gles2 --enable-experimental-targets=R600
> 
> How can I find out if my 32-bit Mesa binaries are up to date ?

Maybe nothing to do with the issue here, but there are some unigine workarounds in drirc that may not get read if (historically at least) you don't specify that they should go in /etc. I haven't looked recently but in the past with your options they would end up in /usr/etc and not get used so add -

--sysconfdir=/etc
Comment 6 MC Return 2015-10-06 09:11:53 UTC
(In reply to Andy Furniss from comment #5)
> 
> Maybe nothing to do with the issue here, but there are some unigine
> workarounds in drirc that may not get read if (historically at least) you
> don't specify that they should go in /etc. I haven't looked recently but in
> the past with your options they would end up in /usr/etc and not get used so
> add -
> 
> --sysconfdir=/etc

Hey Andi,
thanks a lot for your help also.

I have rebuilt and reinstalled Mesa/11.0 now, but the result is the same.
I start tropics (even just in 1024x768 windowed), the benchmark loads and the 3d flight to the islands starts with some flickering and visual annoyances until the camera turns and the computer hardlocks so bad I cannot even open one of the other consoles and I have to do a hard reset and reboot. :(
Comment 7 MC Return 2015-10-06 09:33:23 UTC
I managed to capture the tropics log before the crash:

Loading "/home/mcr2010/.Unigine Tropics/unigine.cfg"...
Engine::init(): clear video settings for "Gallium 0.4 on AMD HAWAII (DRM 2.43.0, LLVM 3.6.2) 3.0 Mesa 11.1.0-devel (git-e413d2f 2015-09-28 vivid-oibaf-ppa)"
Loading "libGL.so.1"...
Loading "libopenal.so.1"...
Set 1024x768 windowed video mode
Set 1.00 gamma value
Unigine engine http://unigine.com/
Binary: Linux 32bit GCC 4.3.2 Release May 20 2010
App path:  /home/mcr2010/Downloads/tropics/bin/
Data path: /home/mcr2010/Downloads/tropics/data/
Save path: /home/mcr2010/.Unigine Tropics/

---- System ----
System: Linux 4.3.0-040300rc4-generic x86_64
CPU: Intel(R) Core(TM) i7-4770K CPU @ 3.50GHz 3491MHz MMX SSE SSE2 SSE3 SSSE3 SSE41 SSE42 HTT
GPU: Gallium 0.4 on AMD HAWAII (DRM 2.43.0, LLVM 3.6.2) 3.0 Mesa 11.1.0-devel (git-e413d2f 2015-09-28 vivid-oibaf-ppa)
System memory: 7912 Mb
Video memory:  256 Mb

---- MathLib ----
Set SSE3 simd processor

---- Sound ----
Renderer: OpenAL Soft
OpenAL vendor:   OpenAL Community
OpenAL renderer: OpenAL Soft
OpenAL version:  1.1 ALSOFT 1.14
Found AL_EXT_LINEAR_DISTANCE
Found AL_EXT_OFFSET
Found ALC_EXT_EFX
Found EFX Filter
Found EFX Reverb
Found EAX Reverb
Found QUAD16 format
Found 51CHN16 format
Found 61CHN16 format
Found 71CHN16 format
Maximum sources:         256
Maximum effect slots:    4
Maximum auxiliary sends: 2

---- Render ----
GLRender::GLRender(): Unknown GPU
OpenGL vendor:   X.Org
OpenGL renderer: Gallium 0.4 on AMD HAWAII (DRM 2.43.0, LLVM 3.6.2)
OpenGL version:  3.0 Mesa 11.1.0-devel (git-e413d2f 2015-09-28 vivid-oibaf-ppa)
Found required GL_ARB_map_buffer_range
Found required GL_ARB_vertex_array_object
Found required GL_ARB_vertex_buffer_object
Found required GL_ARB_half_float_vertex
Found required GL_ARB_half_float_pixel
Found required GL_ARB_occlusion_query
Found required GL_EXT_texture3D
Found required GL_EXT_texture_cube_map
Found required GL_EXT_texture_sRGB
Found required GL_EXT_texture_swizzle
Found required GL_ARB_shader_object
Found required GL_ARB_vertex_shader
Found required GL_ARB_fragment_shader
Found required GL_ARB_draw_buffers
Found required GL_ARB_framebuffer_object
Found required GL_EXT_framebuffer_blit
Found required GL_EXT_framebuffer_multisample
Found optional GL_ARB_draw_instanced
Found optional GL_ARB_transform_feedback
Found optional GL_ARB_draw_elements_base_vertex
Found optional GL_ARB_uniform_buffer_object
Found optional GL_ARB_sample_shading
Found optional GL_ARB_gpu_shader4
Found optional GL_ARB_texture_rg
Found optional GL_ARB_texture_array
Found optional GL_ARB_texture_multisample
Found optional GL_ARB_texture_compression
Found optional GL_ARB_texture_compression_rgtc
Found optional GL_ARB_seamless_cube_map
Shading language:      1.30
Maximum texture size:  16384
Maximum texture units: 80
Maximum draw buffers:  8

---- Physics ----
Physics: Multi-threaded

---- Interpreter ----
Version: 2.31

Loading "tropics/unigine.cpp" 47ms
Loading "demos/tropics/locale/unigine.en" dictionary
Loading "core/materials/unigine_post.mat" 12 materials 12 shaders 0ms
Loading "core/materials/unigine_render.mat" 34 materials 77 shaders 5ms
Loading "core/materials/unigine_meshes.mat" 16 materials 9350 shaders 34ms
Loading "core/materials/unigine_terrains.mat" 1 material 293 shaders 1ms
Loading "core/materials/unigine_grass.mat" 1 material 81 shaders 3ms
Loading "core/materials/unigine_particles.mat" 1 material 43 shaders 3ms
Loading "core/materials/unigine_billboards.mat" 1 material 33 shaders 2ms
Loading "core/materials/unigine_volumes.mat" 5 materials 29 shaders 5ms
Loading "core/materials/unigine_guis.mat" 1 material 24 shaders 1ms
Loading "core/materials/unigine_water.mat" 1 material 63 shaders 8ms
Loading "core/materials/unigine_skies.mat" 1 material 19 shaders 11ms
Loading "core/materials/unigine_decals.mat" 1 material 69 shaders 3ms
Loading "core/properties/unigine.prop" 2 properties 0ms
Unigine~# world_load tropics
Loading "tropics.cpp" 122ms
Loading "demos/tropics/tropics.mat" 40 materials 356ms
Loading "tropics.world" 6347ms
Unigine~# render_hdr 1 && render_srgb 0 && render_restart
Release
GLShader::loadFragment(): error in "core/shaders/render/fragment_occlusion_blur.shader" file
defines: UNKNOWN,QUALITY_LOW,QUALITY_MEDIUM,QUALITY_HIGH,MULTISAMPLE_0,USE_INSTANCING,USE_TEXTURE_ARRAY,USE_DEFERRED,USE_OCCLUSION,USE_REFLECTION,OPENGL,USE_PSEUDO_INSTANCING,USE_PSEUDO_TRANSFORM,USE_ARB_SAMPLE_SHADING,USE_ARB_TEXTURE_MULTISAMPLE,HAS_ARB_DRAW_INSTANCED
0:511(15): error: no function with name 'texelFetch2DOffset'
0:512(15): error: no function with name 'texelFetch2DOffset'
0:513(15): error: no function with name 'texelFetch2DOffset'
0:514(15): error: no function with name 'texelFetch2DOffset'
0:515(15): error: no function with name 'texelFetch2DOffset'
0:516(15): error: no function with name 'texelFetch2DOffset'
0:517(15): error: no function with name 'texelFetch2DOffset'
0:518(15): error: no function with name 'texelFetch2DOffset'
0:519(15): error: no function with name 'texelFetch2DOffset'
0:520(15): error: no function with name 'texelFetch2DOffset'
0:521(16): error: no function with name 'texelFetch2DOffset'
0:522(16): error: no function with name 'texelFetch2DOffset'
0:523(16): error: no function with name 'texelFetch2DOffset'
0:524(16): error: no function with name 'texelFetch2DOffset'
0:525(16): error: no function with name 'texelFetch2DOffset'
0:526(16): error: no function with name 'texelFetch2DOffset'

I noticed not only multiple reported errors, but also that it reports using:
GPU: Gallium 0.4 on AMD HAWAII (DRM 2.43.0, LLVM 3.6.2) 3.0 Mesa 11.1.0-devel (git-e413d2f 2015-09-28 vivid-oibaf-ppa)
This is not the one I've built, is it ? - should be LLVM 3.8-dev 4.1 Mesa 11.0.2 ?
Comment 8 Andy Furniss 2015-10-06 10:45:12 UTC
(In reply to MC Return from comment #6)
> (In reply to Andy Furniss from comment #5)
> > 
> > Maybe nothing to do with the issue here, but there are some unigine
> > workarounds in drirc that may not get read if (historically at least) you
> > don't specify that they should go in /etc. I haven't looked recently but in
> > the past with your options they would end up in /usr/etc and not get used so
> > add -
> > 
> > --sysconfdir=/etc
> 
> Hey Andi,
> thanks a lot for your help also.
> 
> I have rebuilt and reinstalled Mesa/11.0 now, but the result is the same.
> I start tropics (even just in 1024x768 windowed), the benchmark loads and
> the 3d flight to the islands starts with some flickering and visual
> annoyances until the camera turns and the computer hardlocks so bad I cannot
> even open one of the other consoles and I have to do a hard reset and
> reboot. :(

Oh, Ok, Not that I have the same card anyway, but I can't test Tropics as I am on a pure 64bit setup.

WRT the hard lock did you try SysRq? Apologies if you already know all this -

Press and hold both <Alt> and <SysRq> keys, while still holding them press and release <s> wait a sec, then press and release <u> then <b>. If it works then this is a cleaner way than a hard reset as the <s> syncs disks and the <u> remounts them read only then hopefully the <b> reboots.
Comment 9 Andy Furniss 2015-10-06 10:53:06 UTC
(In reply to MC Return from comment #7)

> I noticed not only multiple reported errors, but also that it reports using:
> GPU: Gallium 0.4 on AMD HAWAII (DRM 2.43.0, LLVM 3.6.2) 3.0 Mesa
> 11.1.0-devel (git-e413d2f 2015-09-28 vivid-oibaf-ppa)
> This is not the one I've built, is it ? - should be LLVM 3.8-dev 4.1 Mesa
> 11.0.2 ?

The Mesa 11.1.0-devel is correct for git. The 3.0 is probably OK, if you look at the output from (a new enough) glxinfo then you will see both 3.0 and 4.1 listed.

DRM and LLVM are old as IIRC oibaf doesn't do git versions of those.
Comment 10 MC Return 2015-10-06 11:37:17 UTC
> 
> Oh, Ok, Not that I have the same card anyway, but I can't test Tropics as I
> am on a pure 64bit setup.
> 
Well, I am not sure if you would like the experience with the R390X. My cards before this one were a HD6950 and before that a HD5750 and I have to admit that I liked the prec-GCN experience a lot more - those hard lockups are really ugly and frustrating at the moment, I am happy that at least Compiz runs as expected so I can use my desktop normally... but it seems almost all other OpenGL applications I've tried seem to have major problems with the radeonsi/R390X combi.

> WRT the hard lock did you try SysRq? Apologies if you already know all this -
> 
> Press and hold both <Alt> and <SysRq> keys, while still holding them press
> and release <s> wait a sec, then press and release <u> then <b>. If it works
> then this is a cleaner way than a hard reset as the <s> syncs disks and the
> <u> remounts them read only then hopefully the <b> reboots.

No need for any apologies, I appreciate any help I can get.
And no, I did not know about the Magic SysRq key magic - very useful - I will try that next time:
 "Raising Elephants Is So Utterly Boring" or "Reboot Even If System Utterly Broken" magic, haha.

Great tip, thanks a lot.
Comment 11 Jan Ziak (http://atom-symbol.net) 2016-06-02 14:53:02 UTC
The GPU lockup in this issue might have the same cause as http://bugs.freedesktop.org/show_bug.cgi?id=91880

The flickering has the following bugzilla entry: http://bugs.freedesktop.org/show_bug.cgi?id=96326
Comment 12 GitLab Migration User 2019-09-25 17:53:24 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/1223.

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.