On Sat, Nov 18, 2023 at 07:44:05PM +0000, Edd Barrett wrote:
> Hi,
> 
> Updated my snapshot yesterday and games/xonotic has started crashing as the
> game loads.

When it last worked, were you running Mesa 23.1 (snapshots since early
November)?  Did this start with LLVM 16 (last few days)?

> 
> I can repro every time. Imply start a single player game. It will crash during
> loading.

I can reproduce this but only with xonotic, not other GL programs.

radeondrm0 at pci1 dev 0 function 0 "ATI Mobility Radeon HD 3650" rev 0x00
radeondrm0: RV635

Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x000000ac34678904 in 
std::__1::__tree_is_left_child<std::__1::__tree_node_base<void*>*> 
(__x=0xabe72eef98)
    at /usr/include/c++/v1/__tree:83
83          return __x == __x->__parent_->__left_;

(gdb) p __x->__parent_
$2 = (std::__1::__tree_node_base<void*>::__parent_pointer) 0xffffffff

A related issue, we have that change:
https://gitlab.freedesktop.org/mesa/mesa/-/issues/7931
https://gitlab.freedesktop.org/mesa/mesa/-/commit/05fab97b2ce8ebd8420ded175101a0fa5110172c

> 
> My graphics card (is old):
> 
> vga1 at pci1 dev 0 function 0 "ATI Radeon HD 7470" rev 0x00
> 
> The amd64 snapshot:
> 
> OpenBSD 7.4-current (GENERIC.MP) #1453: Fri Nov 17 13:58:02 MST 2023
> 
> By building a debug pkg of xonotic, and using a xenocara diff from tb@ to 
> build
> xenocara without stripping libraries, I've managed to get the following
> backtrace.
> 
> Let me know if there's any other info that I could provide.
> 
> Cheers
> 
> #0  0x000004adc0fe88f4 in 
> std::__1::__tree_is_left_child<std::__1::__tree_node_base<void*>*> 
> (__x=0x4ae634544b8)
>     at /usr/include/c++/v1/__tree:83
> #1  
> std::__1::__tree_next_iter<std::__1::__tree_end_node<std::__1::__tree_node_base<void*>*>*,
>  std::__1::__tree_node_base<void*>*> (__x=0x4ae634544b8) at 
> /usr/include/c++/v1/__tree:186
> #2  std::__1::__tree_const_iterator<r600::Instr*, 
> std::__1::__tree_node<r600::Instr*, void*>*, long>::operator++ (
>     this=<optimized out>) at /usr/include/c++/v1/__tree:925
> #3  r600::CopyPropFwdVisitor::visit (this=0x7d16df2323f0, instr=<optimized 
> out>)
>     at 
> /usr/xenocara/lib/mesa/mk/libr600/../../src/gallium/drivers/r600/sfn/sfn_optimizer.cpp:378
> #4  0x000004adc0fe9374 in r600::CopyPropFwdVisitor::visit 
> (this=0x7d16df2323f0, instr=<optimized out>)
>     at 
> /usr/xenocara/lib/mesa/mk/libr600/../../src/gallium/drivers/r600/sfn/sfn_optimizer.cpp:631
> #5  0x000004adc0fe75c4 in r600::copy_propagation_fwd (shader=...)
>     at 
> /usr/xenocara/lib/mesa/mk/libr600/../../src/gallium/drivers/r600/sfn/sfn_optimizer.cpp:304
> #6  0x000004adc0fe73ec in r600::optimize (shader=...)
>     at 
> /usr/xenocara/lib/mesa/mk/libr600/../../src/gallium/drivers/r600/sfn/sfn_optimizer.cpp:59
> #7  0x000004adc0f90a9f in r600_shader_from_nir (rctx=0x4ae0c032000, 
> pipeshader=0x4ae4c73f000, key=0x7d16df232788)
>     at 
> /usr/xenocara/lib/mesa/mk/libr600/../../src/gallium/drivers/r600/sfn/sfn_nir.cpp:999
> #8  0x000004adc103e700 in r600_pipe_shader_create (ctx=0x4ae0c032000, 
> shader=0x4ae4c73f000, key=...)
>     at 
> /usr/xenocara/lib/mesa/mk/libr600/../../src/gallium/drivers/r600/r600_shader.c:231
> #9  0x000004adc1072de4 in r600_shader_select (ctx=0x4ae63454480, 
> sel=0x4adc64f2350, dirty=0x7d16df23283f,
>     precompile=<optimized out>)
>     at 
> /usr/xenocara/lib/mesa/mk/libr600/../../src/gallium/drivers/r600/r600_state_common.c:967
> #10 0x000004adc107a330 in r600_create_shader_state (ctx=0x4ae0c032000, 
> state=<optimized out>,
>     pipe_shader_type=<optimized out>)
>     at 
> /usr/xenocara/lib/mesa/mk/libr600/../../src/gallium/drivers/r600/r600_state_common.c:1071
> #11 0x000004adc09d2bef in st_create_nir_shader (st=<optimized out>, 
> state=0x7d16df2328f8)
>     at 
> /usr/xenocara/lib/mesa/mk/libmesa/../../src/mesa/state_tracker/st_program.c:551
> #12 0x000004adc09d38d9 in st_create_fp_variant (st=0x4ae249ca000, 
> fp=0x4add664a630, key=0x7d16df232c40)
>     at 
> /usr/xenocara/lib/mesa/mk/libmesa/../../src/mesa/state_tracker/st_program.c:1071
> #13 st_get_fp_variant (st=0x4ae249ca000, fp=0x4add664a630, key=0x7d16df232c40)
>     at 
> /usr/xenocara/lib/mesa/mk/libmesa/../../src/mesa/state_tracker/st_program.c:1116
> #14 0x000004adc09d419d in st_precompile_shader_variant (st=0x4ae249ca000, 
> prog=0x4add664a630)
>     at 
> /usr/xenocara/lib/mesa/mk/libmesa/../../src/mesa/state_tracker/st_program.c:1303
> #15 st_finalize_program (st=0x4ae249ca000, prog=0x4add664a630)
>     at 
> /usr/xenocara/lib/mesa/mk/libmesa/../../src/mesa/state_tracker/st_program.c:1365
> #16 0x000004adc08fed81 in st_link_nir (ctx=0x4ae0e0dc000, 
> shader_program=0x4adc5ae1cb0)
>     at 
> /usr/xenocara/lib/mesa/mk/libmesa/../../src/mesa/state_tracker/st_glsl_to_nir.cpp:956
> #17 0x000004adc09cbe48 in link_shader (ctx=0x4ae0e0dc000, prog=0x4adc5ae1cb0)
>     at 
> /usr/xenocara/lib/mesa/mk/libmesa/../../src/mesa/state_tracker/st_glsl_to_ir.cpp:91
> #18 st_link_shader (ctx=0x4ae0e0dc000, prog=0x4adc5ae1cb0)
>     at 
> /usr/xenocara/lib/mesa/mk/libmesa/../../src/mesa/state_tracker/st_glsl_to_ir.cpp:106
> #19 0x000004adc09cae83 in _mesa_glsl_link_shader (ctx=0x4ae0e0dc000, 
> prog=0x4adc5ae1cb0)
>     at 
> /usr/xenocara/lib/mesa/mk/libmesa/../../src/mesa/program/link_program.cpp:91
> #20 0x000004adc076b035 in link_program (shProg=0x4adc5ae1cb0,
>     no_error=<error reading variable: Cannot access memory at address 0x0>, 
> ctx=<optimized out>)
>     at /usr/xenocara/lib/mesa/mk/libmesa/../../src/mesa/main/shaderapi.c:1332
> #21 link_program_error (ctx=0x4ae0e0dc000, shProg=0x4adc5ae1cb0)
>     at /usr/xenocara/lib/mesa/mk/libmesa/../../src/mesa/main/shaderapi.c:1443
> #22 0x000004abb40cb1be in GL_Backend_CompileProgram (vertexstrings_count=51, 
> vertexstrings_list=0x7d16df237090,
>     geometrystrings_count=<optimized out>, geometrystrings_list=<optimized 
> out>, fragmentstrings_count=51,
>     fragmentstrings_list=0x7d16df2373d0) at ../../../gl_backend.c:2761
> #23 0x000004abb40f9b78 in R_GLSL_CompilePermutation (p=0x4ae77e92a18, 
> mode=<optimized out>, permutation=8388608)
>     at ../../../gl_rmain.c:1196
> #24 0x000004abb40d9c5a in R_SetupShader_SetPermutationGLSL (mode=5, 
> permutation=8388608)
>     at ../../../gl_rmain.c:1408
> #25 0x000004abb40db417 in R_SetupShader_Surface (rtlightambient=0x4abb50a1690 
> <vec3_origin>,
>     rtlightdiffuse=0x4abb50a1690 <vec3_origin>, rtlightspecular=0x4abb50a1690 
> <vec3_origin>,
>     rsurfacepass=RSURFPASS_BASE, texturenumsurfaces=247, 
> texturesurfacelist=0x4adfad5a060, surfacewaterplane=0x0,
>     notrippy=false) at ../../../gl_rmain.c:2686
> #26 0x000004abb40f74e3 in R_DrawTextureSurfaceList_GL20 
> (texturenumsurfaces=247, texturesurfacelist=0x4adfad5a060,
>     writedepth=true, prepass=false) at ../../../gl_rmain.c:10643
> #27 R_DrawModelTextureSurfaceList (texturenumsurfaces=247, 
> texturesurfacelist=0x4adfad5a060, writedepth=true,
>     prepass=false) at ../../../gl_rmain.c:11100
> #28 0x000004abb40f647c in R_ProcessModelTextureSurfaceList 
> (texturenumsurfaces=1665483904,
>     texturesurfacelist=0x4adfad5a060, writedepth=true, depthonly=false, 
> prepass=false) at ../../../gl_rmain.c:11288
> #29 R_QueueModelSurfaceList (ent=<optimized out>, numsurfaces=1320, 
> surfacelist=0x4adfad5a040, flagsmask=64,
>     writedepth=true, depthonly=false, prepass=false) at 
> ../../../gl_rmain.c:11349
> #30 R_DrawModelSurfaces (ent=<optimized out>, skysurfaces=<optimized out>, 
> writedepth=true, depthonly=false,
>     debug=<optimized out>, prepass=false) at ../../../gl_rmain.c:12426
> #31 0x000004abb40f0e0a in R_RenderScene (fbo=1, depthtexture=0x4aeaefb4380, 
> colortexture=0x4aeaefb4220)
>     at ../../../gl_rmain.c:7316
> #32 0x000004abb40ef33f in R_RenderView () at ../../../gl_rmain.c:7184
> #33 0x000004abb4061a11 in VM_CL_R_RenderScene (prog=0x4abb51df9c8 
> <prvm_prog_list+379384>)
>     at ../../../clvm_cmds.c:3280
> #34 0x000004abb41cdece in CLVM_ExecuteProgram (prog=0x4abb51df9c8 
> <prvm_prog_list+379384>, fnum=<optimized out>,
>     errormessage=<optimized out>) at ../../../prvm_execprogram.h:496
> #35 0x000004abb4087d11 in CL_VM_UpdateView (frametime=<optimized out>) at 
> ../../../csprogs.c:491
> #36 0x000004abb404f25f in SCR_DrawScreen () at ../../../cl_screen.c:2188
> #37 0x000004abb404d7e3 in CL_UpdateScreen () at ../../../cl_screen.c:2935
> #38 0x000004abb41109e9 in Host_Main () at ../../../host.c:1023
> #39 0x000004abb3fdac29 in main (argc=1, argv=0x7d16df239d68) at 
> ../../../sys_sdl.c:249
> 
> 
> -- 
> Best Regards
> Edd Barrett
> 
> https://www.theunixzoo.co.uk
> 
> 

Reply via email to