segfault in nouveau_scratch_data
@vliaskov
Submitted by Vasilis Liaskovitis Assigned to Nouveau Project
Link to original bug (#105382)
Description
Using:
Mesa-dri-nouveau 17.0.5 kernel 4.15.0 gnome-shell 3.20
with 2 dri-cards (one monitor attached to each card)
03:00.0 VGA compatible controller: NVIDIA Corporation GM107GL [Quadro K620] (rev a2) 0b:00.0 VGA compatible controller: NVIDIA Corporation GK208 [GeForce GT 710] (rev a1)
I am not sure if this is expected to work. I think these cards use a different mesa driver (nv108 vs nv117), so should they work seamlessly together?
Mesa segfaults very often with:
(gdb) bt
#0 0x00007f5bf2c37af5 in __memcpy_avx_unaligned () at ../sysdeps/x86_64/multiarch/memcpy-avx-unaligned.S:114
#1 0x00007f5be066d28d in memcpy (__len=48, __src=<optimized out>, __dest=<optimized out>) at /usr/include/bits/string3.h:53
#2 0x00007f5be066d28d in nouveau_scratch_data (nv=nv@entry=0x1dc0800, data=<optimized out>, base=base@entry=0, size=size@entry=48, bo=bo@entry=0x7ffc23880868) at nouveau_buffer.c:1004
#3 0x00007f5be078bba9 in nvc0_update_user_vbufs_shared (nvc0=0x1dc0800) at nvc0/nvc0_vbo.c:292
#4 0x00007f5be078121d in nvc0_state_validate (nvc0=nvc0@entry=0x1dc0800, mask=mask@entry=4294967295, validate_list=validate_list@entry=0x7f5be0d78fe0 <validate_list_3d>, size=size@entry=33, dirty=dirty@entry=0x1dc0c10, bufctx=0x1dc3fc0) at nvc0/nvc0_state_validate.c:902
#5 0x00007f5be07813f7 in nvc0_state_validate_3d (nvc0=nvc0@entry=0x1dc0800, mask=mask@entry=4294967295) at nvc0/nvc0_state_validate.c:920
#6 0x00007f5be078cb57 in nvc0_draw_vbo (pipe=0x1dc0800, info=<optimized out>) at nvc0/nvc0_vbo.c:977
#7 0x00007f5be0554dc4 in cso_draw_arrays (cso=<optimized out>, mode=mode@entry=6, start=start@entry=0, count=count@entry=4) at cso_cache/cso_context.c:1745
#8 0x00007f5be03c8a21 in st_draw_quad (st=st@entry=0x1e8c340, x0=x0@entry=-1, y0=y0@entry=-1, x1=x1@entry=0.00885415077, y1=y1@entry=1, z=1, s0=s0@entry=0, t0=t0@entry=0, s1=s1@entry=0, t1=t1@entry=0, color=color@entry=0x1dc781c, num_instances=num_instances@entry=1) at state_tracker/st_draw.c:489
#9 0x00007f5be03b2087 in clear_with_quad (clear_buffers=<optimized out>, ctx=0x1dc5d60) at state_tracker/st_cb_clear.c:297
#10 0x00007f5be03b2087 in st_Clear (ctx=0x1dc5d60, mask=16) at state_tracker/st_cb_clear.c:475
#11 0x00007f5bf0310811 in _cogl_framebuffer_gl_clear (framebuffer=0x1ee3000, buffers=<optimized out>, red=<optimized out>, green=<optimized out>, blue=<optimized out>, alpha=<optimized out>)
at driver/gl/cogl-framebuffer-gl.c:1022
#12 0x00007f5bf0355fe2 in cogl_framebuffer_clear4f (framebuffer=0x1ee3000, buffers=2, red=1, green=1, green@entry=0, blue=1, blue@entry=1.40129846e-45, alpha=1, alpha@entry=0) at cogl-framebuffer.c:388
#13 0x00007f5bf03561f8 in cogl_framebuffer_clear (framebuffer=<optimized out>, buffers=<optimized out>, color=<optimized out>) at cogl-framebuffer.c:457
#14 0x00007f5bf3e5f694 in clutter_root_node_pre_draw (node=<optimized out>) at clutter-paint-nodes.c:116
#15 0x00007f5bf3e61d64 in _clutter_paint_node_paint (node=0x3988720 [ClutterRootNode]) at clutter-paint-node.c:955
#16 0x00007f5bf3e61d80 in _clutter_paint_node_paint (node=0x7f5b8cf3e300 [ClutterDummyNode]) at clutter-paint-node.c:966
#17 0x00007f5bf3e1a2a9 in clutter_actor_paint_node (root=0x7f5b8cf3e300 [ClutterDummyNode], actor=0x1edff80 [MetaStage]) at clutter-actor.c:3725
#18 0x00007f5bf3e1a2a9 in clutter_actor_continue_paint (self=self@entry=0x1edff80 [MetaStage]) at clutter-actor.c:4014
#19 0x00007f5bf3e1fcf4 in clutter_actor_paint (self=self@entry=0x1edff80 [MetaStage]) at clutter-actor.c:3938
#20 0x00007f5bf3e75384 in _clutter_stage_do_paint (stage=stage@entry=0x1edff80 [MetaStage], clip=clip@entry=0x1ee2104) at clutter-stage.c:687
#21 0x00007f5bf3e0f7bf in clutter_stage_cogl_redraw (stage_window=0x1ee20b0) at cogl/clutter-stage-cogl.c:531
#22 0x00007f5bf3e73c97 in clutter_stage_do_redraw (stage=0x1edff80 [MetaStage]) at clutter-stage.c:1130
#23 0x00007f5bf3e73c97 in _clutter_stage_do_update (stage=0x1edff80 [MetaStage]) at clutter-stage.c:1186
#24 0x00007f5bf3e5d818 in master_clock_update_stages (master_clock=0x235bd00 [ClutterMasterClockDefault], stages=0x7f5b78001360 = {...}) at clutter-master-clock-default.c:443
#25 0x00007f5bf3e5d818 in clutter_clock_dispatch (source=<optimized out>, callback=<optimized out>, user_data=<optimized out>) at clutter-master-clock-default.c:567
#26 0x00007f5bf3119134 in g_main_dispatch (context=0x1d99ad0) at gmain.c:3154
#27 0x00007f5bf3119134 in g_main_context_dispatch (context=context@entry=0x1d99ad0) at gmain.c:3769
#28 0x00007f5bf3119388 in g_main_context_iterate (context=0x1d99ad0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3840
#29 0x00007f5bf311964a in g_main_loop_run (loop=0x1da05e0) at gmain.c:4034
#30 0x00007f5bf4a63d3c in meta_run () at core/main.c:537
#31 0x0000000000402367 in main (argc=1, argv=0x7ffc238812c8) at main.c:471
I 'll try to have a test that can cause the crash outside of gnome.
Version: 17.0