Bug 40702 - panfrost: segfault в glmark2-es2-wayland -b shadow
Summary: panfrost: segfault в glmark2-es2-wayland -b shadow
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: xorg-dri-armsoc (show other bugs)
Version: unstable
Hardware: aarch64 Linux
: P5 normal
Assignee: Valery Inozemtsev
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-08-11 13:20 MSK by jqt4
Modified: 2021-10-06 10:07 MSK (History)
8 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description jqt4 2021-08-11 13:20:16 MSK
Обновил систему до Сизифа на 11.08.2021
Установлено ядро 5.13.9-un-def-alt1 из задачи 282297

uname -a
Linux comp-42939f 5.13.9-un-def-alt1 #1 SMP Tue Aug 10 21:37:15 UTC 2021 aarch64 GNU/Linux

gdb glmark2-es2-wayland
...
(gdb) run -b shadow
...
=======================================================
    glmark2 2021.02
=======================================================
    OpenGL Information
    GL_VENDOR:     Panfrost
    GL_RENDERER:   Mali T620 (Panfrost)
    GL_VERSION:    OpenGL ES 3.1 Mesa 21.2.0
=======================================================
[shadow] <default>:
Program received signal SIGSEGV, Segmentation fault.
pan_emit_sfbd (fbd=0xfffff1652000, tiler_ctx=<optimized out>, 
    tls=0xffffffffddf8, fb=<optimized out>, dev=0xaaaaaac1a0c8)
    at ../src/panfrost/lib/pan_cs.c:869
869                     cfg.msaa = mali_sampling_mode(fb->rts[0].view);
(gdb) bt
#0  pan_emit_sfbd (fbd=0xfffff1652000, tiler_ctx=<optimized out>, tls=0xffffffffddf8, fb=<optimized out>, dev=0xaaaaaac1a0c8) at ../src/panfrost/lib/pan_cs.c:869
#1  pan_emit_fbd (dev=dev@entry=0xaaaaaac1a0c8, fb=fb@entry=0xffffffffdfa8, tls=tls@entry=0xffffffffde68, tiler_ctx=tiler_ctx@entry=0xaaaaaac9c740, out=0xfffff1652000) at ../src/panfrost/lib/pan_cs.c:884
#2  0x0000fffff6c08e90 in emit_fbd (batch=0xaaaaaac9c510, fb=0xffffffffdfa8) at ../src/gallium/drivers/panfrost/pan_cmdstream.c:2422
#3  0x0000fffff6c06a54 in panfrost_batch_submit (batch=0xaaaaaac9c510, in_sync=in_sync@entry=0, out_sync=out_sync@entry=0) at ../src/gallium/drivers/panfrost/pan_job.c:873
#4  0x0000fffff6c071f4 in panfrost_batch_update_access (batch=batch@entry=0xaaaaaac9c130, rsrc=rsrc@entry=0xaaaaab36dd00, writes=writes@entry=false) at ../src/gallium/drivers/panfrost/pan_job.c:286
#5  0x0000fffff6c07384 in panfrost_batch_read_rsrc (batch=batch@entry=0xaaaaaac9c130, rsrc=rsrc@entry=0xaaaaab36dd00, stage=stage@entry=PIPE_SHADER_FRAGMENT) at ../src/gallium/drivers/panfrost/pan_job.c:349
#6  0x0000fffff6c0d660 in panfrost_get_tex_desc (view=0xaaaaab327640, st=PIPE_SHADER_FRAGMENT, batch=0xaaaaaac9c130) at ../src/gallium/drivers/panfrost/pan_cmdstream.c:1383
#7  panfrost_emit_texture_descriptors (batch=batch@entry=0xaaaaaac9c130, stage=stage@entry=PIPE_SHADER_FRAGMENT) at ../src/gallium/drivers/panfrost/pan_cmdstream.c:1440
#8  0x0000fffff6c0df88 in panfrost_update_state_tex (st=PIPE_SHADER_FRAGMENT, batch=0xaaaaaac9c130) at ../src/gallium/drivers/panfrost/pan_cmdstream.c:2640
#9  panfrost_update_state_fs (batch=batch@entry=0xaaaaaac9c130) at ../src/gallium/drivers/panfrost/pan_cmdstream.c:2692
#10 0x0000fffff6c0eea4 in panfrost_direct_draw (batch=batch@entry=0xaaaaaac9c130, info=info@entry=0xffffffffed00, drawid_offset=drawid_offset@entry=0, draw=draw@entry=0xffffffffee00)
    at ../src/gallium/drivers/panfrost/pan_cmdstream.c:2912
#11 0x0000fffff6c0f37c in panfrost_draw_vbo (pipe=0xaaaaaac9bc30, info=0xffffffffefd8, drawid_offset=<optimized out>, indirect=<optimized out>, draws=<optimized out>, num_draws=<optimized out>)
    at ../src/gallium/drivers/panfrost/pan_cmdstream.c:3131
#12 0x0000fffff65cf910 in u_vbuf_draw_vbo (mgr=mgr@entry=0xaaaaaacb67e0, info=info@entry=0xffffffffefd8, drawid_offset=drawid_offset@entry=0, indirect=indirect@entry=0x0, draw=...) at ../src/gallium/auxiliary/util/u_vbuf.c:1411
#13 0x0000fffff657ae74 in cso_multi_draw (cso=<optimized out>, info=0xffffffffefd8, drawid_offset=<optimized out>, draws=<optimized out>, num_draws=1) at ../src/gallium/auxiliary/cso_cache/cso_context.c:1601
#14 0x0000fffff61bfbfc in _mesa_draw_arrays (ctx=<optimized out>, mode=<optimized out>, start=<optimized out>, count=<optimized out>, numInstances=<optimized out>, baseInstance=<optimized out>) at ../src/mesa/main/draw.c:1309
#15 0x0000aaaaaab00414 in GroundRenderer::draw (this=this@entry=0xaaaaaac2e5a0) at ../src/scene-shadow.cpp:279
#16 0x0000aaaaaab00764 in ShadowPrivate::draw (this=0xaaaaaac2e500) at ../src/scene-shadow.cpp:439
#17 0x0000aaaaaaab99bc in MainLoop::draw (this=0xaaaaaac7d2c0) at ../src/main-loop.cpp:133
#18 0x0000aaaaaaaba538 in MainLoop::step (this=this@entry=0xaaaaaac7d2c0) at ../src/main-loop.cpp:108
#19 0x0000aaaaaaaada30 in do_benchmark (canvas=...) at ../src/main.cpp:123
#20 0x0000aaaaaaaab4c4 in main (argc=<optimized out>, argv=<optimized out>) at ../src/main.cpp:221
Comment 1 Alexey Sheplyakov 2021-10-06 10:07:25 MSK
Исправлено в версии 21.2.3-alt1, коммит 7682a5de0449658f17b ("panfrost: fix null deref when no color buffer is attached")