[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#949980: libgl1-mesa-dri: SIGSEGV in rockchip_dri.so when running Gnome/GTK



Well, I have a stack trace, but it was *shockingly* flaky to try to get
and so I don't have huge faith that it's actually correct.  Guess
debugging X11 is a little more involved than "attach gdb, type
'backtrace'".

Trace attached.
Continuing.

Thread 1 "Xorg" received signal SIGSEGV, Segmentation fault.
0x0000ffffb8459f64 in ra_get_node_class (g=g@entry=0xaaaaebc6a4b0, 
    n=n@entry=4294967295) at ../src/util/register_allocate.c:564
564../src/util/register_allocate.c: No such file or directory.
#0  0x0000ffffb8459f64 in ra_get_node_class (g=g@entry=0xaaaaebc6a4b0, 
    n=n@entry=4294967295) at ../src/util/register_allocate.c:564
No locals.
#1  0x0000ffffb8705278 in mir_spill_register (ctx=ctx@entry=0xaaaaebbfab70, 
    g=g@entry=0xaaaaebc6a4b0, spill_count=spill_count@entry=0xffffd2707194)
    at ../src/panfrost/midgard/midgard_schedule.c:1252
        spill_index = 125
        spill_node = -1
        class = <optimized out>
        is_special = <optimized out>
        is_special_w = <optimized out>
        spill_slot = <optimized out>
        read_bytemask = <optimized out>
#2  0x0000ffffb8706e50 in schedule_program (ctx=ctx@entry=0xaaaaebbfab70)
    at ../src/panfrost/midgard/midgard_schedule.c:1405
        g = <optimized out>
        spilled = true
        iter_count = <optimized out>
        spill_count = 0
#3  0x0000ffffb8701d3c in midgard_compile_shader_nir (screen=screen@entry=0xaaaaea35db60, nir=nir@entry=0xaaaaebc24ae0, program=program@entry=0xffffd27074f8, is_blend=is_blend@entry=false) at ../src/panfrost/midgard/midgard_compile.c:2525
        compiled = 0xffffd2707610
        ctx = 0xaaaaebbfab70
        varyings = <optimized out>
        max_varying = <optimized out>
        progress = <optimized out>
        br_block_idx = <optimized out>
        bundle_count = <optimized out>
        source_order_bundles = <optimized out>
        bundle_idx = <optimized out>
        current_bundle = <optimized out>
        clone = <optimized out>
        clone = <optimized out>
        clone = <optimized out>
        clone = <optimized out>
        clone = <optimized out>
        clone = <optimized out>
        clone = <optimized out>
        clone = <optimized out>
        clone = <optimized out>
        clone = <optimized out>
        clone = <optimized out>
#4  0x0000ffffb86e9904 in panfrost_shader_compile (ctx=ctx@entry=0xaaaaea35d7b0, meta=0xaaaaebbac8f0, ir_type=<optimized out>, ir=<optimized out>, stage=stage@entry=MESA_SHADER_FRAGMENT, state=state@entry=0xaaaaebc70090, outputs_written=outputs_written@entry=0xffffd2707690) at ../src/gallium/drivers/panfrost/pan_assemble.c:68
        screen = 0xaaaaea34fa60
        dst = <optimized out>
        s = 0xaaaaebc24ae0
        program = {work_register_count = 0, uniform_count = 4, uniform_cutoff = 0, sysval_count = 0, sysvals = {0 <repeats 32 times>}, varyings = {31, 0 <repeats 31 times>}, writes_point_size = false, first_tag = 0, compiled = {mem_ctx = 0x0, data = 0x0, size = 0, capacity = 0}, blend_patch_offset = 0, tls_size = 0, alpha_ref = 0}
        size = <optimized out>
        default_vec1_swizzle = <optimized out>
        default_vec2_swizzle = <optimized out>
        default_vec4_swizzle = <optimized out>
#5  0x0000ffffb86e427c in panfrost_bind_shader_state (pctx=0xaaaaea35d7b0, hwcso=0xaaaaebc6ff60, type=PIPE_SHADER_FRAGMENT) at ../src/gallium/auxiliary/tgsi/tgsi_from_mesa.h:82
        outputs_written = 0
        ctx = <optimized out>
        variant = <optimized out>
        variants = <optimized out>
        shader_state = 0xaaaaebc70090
#6  0x0000ffffb834c53c in st_update_fp (st=0xaaaaea3bc550) at ../src/mesa/state_tracker/st_atom_shader.c:168
        stfp = 0xaaaaebbe62f0
        shader = 0xaaaaebc6ff60
#7  0x0000ffffb8349be0 in st_validate_state (st=st@entry=0xaaaaea3bc550, pipeline=pipeline@entry=ST_PIPELINE_RENDER) at ../src/util/bitscan.h:104
        ctx = <optimized out>
        dirty = <optimized out>
        pipeline_mask = 72057594037927935
        dirty_lo = 1745356864
        dirty_hi = 8388625
#8  0x0000ffffb828ff04 in prepare_draw (ctx=0xaaaaea392180, st=0xaaaaea3bc550) at ../src/mesa/state_tracker/st_draw.c:132
        pipe = <optimized out>
        pipe = <optimized out>
        cpu = <optimized out>
        L3_cache = <optimized out>
#9  st_draw_vbo (ctx=0xaaaaea392180, prims=0xffffd2707900, nr_prims=1, ib=0x0, index_bounds_valid=<optimized out>, min_index=<optimized out>, max_index=<optimized out>, tfb_vertcount=0x0, stream=0, indirect=0x0) at ../src/mesa/state_tracker/st_draw.c:184
        st = 0xaaaaea3bc550
        info = {index_size = 0 '\000', mode = 210, primitive_restart = 1, has_user_indices = 0, vertices_per_patch = 27 '\033', start = 2192418345, count = 3530586320, start_instance = 65535, instance_count = 3088930016, drawid = 65535, index_bias = -1198186184, min_index = 65535, max_index = 4, restart_index = 0, index = {resource = 0x7, user = 0x7}, indirect = 0xaaaaea392180, count_from_stream_output = 0xffffaaa1b288}
        i = <optimized out>
        start = 0
#10 0x0000ffffb833a1a0 in _mesa_draw_arrays (drawID=<optimized out>, baseInstance=<optimized out>, numInstances=<optimized out>, count=<optimized out>, start=<optimized out>, mode=<optimized out>, ctx=<optimized out>) at ../src/mesa/main/draw.c:374
        prim = {mode = 7, indexed = 0, begin = 1, end = 1, is_indirect = 0, pad = 0, start = 0, count = 4, basevertex = 0, num_instances = 1, base_instance = 0, draw_id = 0, indirect_offset = 0}
        prim = <optimized out>
#11 _mesa_draw_arrays (ctx=<optimized out>, mode=<optimized out>, start=<optimized out>, count=<optimized out>, numInstances=<optimized out>, baseInstance=<optimized out>, drawID=<optimized out>) at ../src/mesa/main/draw.c:351
        prim = <optimized out>
#12 0x0000ffffb90d05bc in glamor_composite_with_shader (ca_state=CA_NONE, rects=<optimized out>, nrect=1, dest_pixmap_priv=0xaaaaebbcee30, mask_pixmap_priv=0xaaaaebbdc780, source_pixmap_priv=0xaaaaebbdadd0, dest_pixmap=<optimized out>, mask_pixmap=0xaaaaebbdc730, source_pixmap=0xaaaaebbdad80, dest=0xaaaaebbda070, mask=0xaaaaebbdc850, source=0xaaaaebbdc8d0, op=1 '\001') at ../../../../glamor/glamor_render.c:1287
        mrect = <optimized out>
        rect_processed = 1
        vb_stride = 6
        vertices = <optimized out>
        dst_xscale = <optimized out>
        src_yscale = 0.0181818176
        key = {source = SHADER_SOURCE_TEXTURE_ALPHA, mask = SHADER_MASK_TEXTURE_ALPHA, in = glamor_program_alpha_normal, dest_swizzle = SHADER_DEST_SWIZZLE_ALPHA_TO_RED}
        dest_y_off = 0
        mask_y_off = 0
        src_matrix = {0, 0, 0, 0, 1.40129846e-45, 0, -2.5821918e+11, 9.18340949e-41, -3.75533339e+12}
        pmask_matrix = 0x0
        nrect_max = 1
        dst_yscale = <optimized out>
        shader = 0xaaaaea3dcda8
        op_info = {dest_alpha = 0, source_alpha = 0, source_blend = 1, dest_blend = 0}
        op_info_ca = {dest_alpha = 23, source_alpha = 0, source_blend = 3530587640, dest_blend = 65535}
        saved_source_format = 0
        screen = <optimized out>
        mask_xscale = 0.0181818176
        key_ca = {source = 3929902672, mask = 43690, in = glamor_program_alpha_normal, dest_swizzle = SHADER_DEST_SWIZZLE_DEFAULT}
        source_x_off = 0
        ret = 0
        glamor_priv = 0xaaaaea3da140
        mask_yscale = 0.0181818176
        src_xscale = 0.0181818176
        dest_x_off = 0
        source_y_off = 0
        mask_x_off = 0
        mask_matrix = {-4.58865858e+26, 6.12227299e-41, 0, 0, 0, 0, -9.14931297e-05, 9.18340949e-41, 1.40129846e-45}
        psrc_matrix = 0x0
        shader_ca = 0x0
        screen = <optimized out>
        glamor_priv = <optimized out>
        dst_xscale = <optimized out>
        dst_yscale = <optimized out>
        mask_xscale = <optimized out>
        mask_yscale = <optimized out>
        src_xscale = <optimized out>
        src_yscale = <optimized out>
        key = <optimized out>
        key_ca = <optimized out>
        dest_x_off = <optimized out>
        dest_y_off = <optimized out>
        source_x_off = <optimized out>
        source_y_off = <optimized out>
        mask_x_off = <optimized out>
        mask_y_off = <optimized out>
        saved_source_format = <optimized out>
        src_matrix = <optimized out>
        mask_matrix = <optimized out>
        psrc_matrix = <optimized out>
        pmask_matrix = <optimized out>
        nrect_max = <optimized out>
        ret = <optimized out>
        shader = <optimized out>
        shader_ca = <optimized out>
        op_info = <optimized out>
        op_info_ca = <optimized out>
        __FUNCTION__ = "glamor_composite_with_shader"
        _w_ = <optimized out>
        _h_ = <optimized out>
        _i_ = <optimized out>
        _i_ = <optimized out>
        bounds = <optimized out>
        i = <optimized out>
        box = <optimized out>
        mrect = <optimized out>
        rect_processed = <optimized out>
        vb_stride = <optimized out>
        vertices = <optimized out>
        x_source = <optimized out>
        y_source = <optimized out>
        x_mask = <optimized out>
        y_mask = <optimized out>
        x_dest = <optimized out>
        y_dest = <optimized out>
        width = <optimized out>
        height = <optimized out>
        fbo_x_off = <optimized out>
        fbo_y_off = <optimized out>
        _t0_ = <optimized out>
        _t1_ = <optimized out>
        _t2_ = <optimized out>
        _t5_ = <optimized out>
#13 glamor_composite_clipped_region (op=op@entry=1 '\001', source=source@entry=0xaaaaebbd96d0, mask=mask@entry=0xaaaaebbdc850, dest=dest@entry=0xaaaaebbda070, source_pixmap=source_pixmap@entry=0xaaaaebbd95b0, mask_pixmap=mask_pixmap@entry=0xaaaaebbdc730, dest_pixmap=dest_pixmap@entry=0xaaaaebbcede0, region=region@entry=0xffffd2707df8, x_source=<optimized out>, x_source@entry=23, y_source=<optimized out>, y_source@entry=23, x_mask=<optimized out>, x_mask@entry=0, y_mask=<optimized out>, y_mask@entry=0, x_dest=x_dest@entry=0, y_dest=y_dest@entry=0) at ../../../../glamor/glamor_render.c:1570
        box_cnt = 1
        source_pixmap_priv = <optimized out>
        mask_pixmap_priv = <optimized out>
        dest_pixmap_priv = 0xaaaaebbcee30
        glamor_priv = <optimized out>
        screen = <optimized out>
        temp_src = <optimized out>
        temp_mask = <optimized out>
        temp_src_pixmap = <optimized out>
        temp_mask_pixmap = <optimized out>
        temp_src_priv = <optimized out>
        temp_mask_priv = <optimized out>
        x_temp_src = 0
        y_temp_src = 0
        x_temp_mask = 0
        y_temp_mask = 0
        extent = 0xffffd2707df8
        rect = {{x_src = 0, y_src = 0, x_mask = 0, y_mask = 0, x_dst = 0, y_dst = 0, width = 55, height = 55}, {x_src = -26100, y_src = -11174, x_mask = -21846, y_mask = 0, x_dst = -26928, y_dst = -5187, width = -21846, height = 0}, {x_src = -4640, y_src = -5188, x_mask = -21846, y_mask = 0, x_dst = 32064, y_dst = -11664, width = -1, height = 0}, {x_src = 5044, y_src = -18163, x_mask = -1, y_mask = 0, x_dst = -14256, y_dst = -5187, width = -21846, height = 0}, {x_src = -24464, y_src = -5187, x_mask = -21846, y_mask = 0, x_dst = -26928, y_dst = -5187, width = -21846, height = 0}, {x_src = -20480, y_src = -18161, x_mask = -1, y_mask = 0, x_dst = -4640, y_dst = -5188, width = -21846, height = 0}, {x_src = 55, y_src = 0, x_mask = 0, y_mask = 0, x_dst = 55, y_dst = 0, width = 0, height = 0}, {x_src = 0, y_src = 0, x_mask = 0, y_mask = 0, x_dst = 0, y_dst = 0, width = 0, height = 0}, {x_src = -24256, y_src = -5571, x_mask = -21846, y_mask = 0, x_dst = -22768, y_dst = -18071, width = -1, height = 0}, {x_src = 32248, y_src = -11664, x_mask = -1, y_mask = 0, x_dst = 1, y_dst = 0, width = 0, height = 0}}
        prect = 0xffffd2707c38
        prect_size = 10
        ok = 0
        i = <optimized out>
        width = <optimized out>
        height = <optimized out>
        box = 0xffffd2707df8
        nbox = 1
        ca_state = CA_NONE
        __FUNCTION__ = "glamor_composite_clipped_region"
#14 0x0000ffffb90d16cc in glamor_composite (op=1 '\001', source=0xaaaaebbd96d0, mask=0xaaaaebbdc850, dest=0xaaaaebbda070, x_source=23, y_source=23, x_mask=0, y_mask=0, x_dest=0, y_dest=0, width=55, height=55) at ../../../../glamor/glamor_render.c:1709
        screen = <optimized out>
        dest_pixmap = 0xaaaaebbcede0
        source_pixmap = <optimized out>
        mask_pixmap = 0xaaaaebbdc730
        glamor_priv = 0xaaaaea3da140
        region = {extents = {x1 = 0, y1 = 0, x2 = 55, y2 = 55}, data = 0x0}
        extent = <optimized out>
        nbox = <optimized out>
        ok = 0
        force_clip = <optimized out>
        __FUNCTION__ = "glamor_composite"
#15 0x0000aaaad45bc908 in damageComposite (op=1 '\001', pSrc=0xaaaaebbd96d0, pMask=0xaaaaebbdc850, pDst=0xaaaaebbda070, xSrc=23, ySrc=23, xMask=0, yMask=0, xDst=0, yDst=0, width=55, height=55) at ../../../../../miext/damage/damage.c:513
        pScreen = <optimized out>
        ps = 0xaaaaea3d9df0
        pScrPriv = 0xaaaaeaa35710
#16 0x0000ffffb90d8568 in glamor_trapezoids (op=1 '\001', src=0xaaaaebbd96d0, dst=0xaaaaebbda070, mask_format=<optimized out>, x_src=<optimized out>, y_src=<optimized out>, ntrap=<optimized out>, traps=<optimized out>) at ../../../../glamor/glamor_trapezoid.c:146
        screen = <optimized out>
        bounds = {x1 = 0, y1 = 0, x2 = 55, y2 = 55}
        picture = 0xaaaaebbdc850
        x_dst = <optimized out>
        y_dst = 0
        x_rel = <optimized out>
        y_rel = <optimized out>
        width = 55
        height = <optimized out>
        stride = <optimized out>
        pixmap = 0xaaaaebbdc730
        image = 0xaaaaeb331d40
#17 0x0000aaaad45b1e7c in ProcRenderTrapezoids (client=0xaaaaead37920) at ../../../../render/render.c:746
        rc = <optimized out>
        ntraps = <optimized out>
        pSrc = 0xaaaaebbd96d0
        pDst = 0xaaaaebbda070
        pFormat = 0xaaaaea3d9588
        stuff = <optimized out>
#18 0x0000aaaad44e1e18 in Dispatch () at ../../../../dix/dispatch.c:478
        result = <optimized out>
        client = 0xaaaaead37920
        start_tick = 3195
#19 0x0000aaaad44e5f44 in dix_main (argc=8, argv=0xffffd2708238, envp=<optimized out>) at ../../../../dix/main.c:276
        i = <optimized out>
        alwaysCheckForInput = {0, 1}
#20 0x0000ffffb999b2ec in __libc_start_main (main=0xaaaad44cf958 <main>, argc=8, argv=0xffffd2708238, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=<optimized out>) at ../csu/libc-start.c:308
        self = <optimized out>
        result = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {187650684484184, 0, 187650682976604, 0, 0, 0, 0, 0, 0, 0, 281474212331760, 12289526237189948766, 8286623359013384052, 12289526238949013278, 0, 0, 0, 0, 0, 0, 0, 0}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0xaaaad46d1110 <__libc_start_main@got.plt>, 0xaaaad44cf990 <_start+52>}, data = {prev = 0x0, cleanup = 0x0, canceltype = -731049712}}}
        not_first_call = <optimized out>
#21 0x0000aaaad44cf990 in _start () at ../../../../render/render.c:2065
No symbol table info available.
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Reply to: