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

Bug#975990: xorg: X server stop working



Dear Maintainer,
I tried to reconstruct the line number information with
the dbgsym packages from the backtrace provided by the submitter.

This points to the assert in this line of code: [1]

There are already some other references showing a similar assert below:
  ../nouveau/pushbuf.c:723: nouveau_pushbuf_data: Assertion `kref' failed.

It might be helpful to see the related dmesg output.

Kind regards,
Bernhard



Backtrace:                                                                     Reconstructed:
 0: Xorg (OsLookupColor+0x138) [0x5566d2ec4e88]                                 0: 0x000055555570bd78 in OsSigHandler at ../../../../os/osinit.c:135
 1: libpthread.so.0 (funlockfile+0x50) [0x7fd0e1dfc18f]                         1: 0x00007ffff748f140 <__restore_rt>
 2: libc.so.6 (gsignal+0x141) [0x7fd0e1c5cc41]                                  2: 0x00007ffff72efc41 in __GI_raise at ../sysdeps/unix/sysv/linux/internal-signals.h:86
 3: libc.so.6 (abort+0x123) [0x7fd0e1c46537]                                    3: 0x00007ffff72d9537 in __GI_abort at abort.c:79
 4: libc.so.6 (?+0x0) [0x7fd0e1c46400]                                          4: 0x00007ffff72d9400 in __assert_fail_base at assert.c:83
 5: libc.so.6 (__assert_fail+0x42) [0x7fd0e1c555c2]                             5: 0x00007ffff72e85c2 in __GI___assert_fail at assert.c:101
 6: libdrm_nouveau.so.2 (nouveau_pushbuf_data+0xff) [0x7fd0da9ba4df]            6: 0x00007ffff061d4df in nouveau_pushbuf_data at ../nouveau/pushbuf.c:723
 7: libdrm_nouveau.so.2 (nouveau_pushbuf_data+0x63) [0x7fd0da9ba443]            7: 0x00007ffff061d443 in nouveau_pushbuf_data at ../nouveau/pushbuf.c:715
 8: libdrm_nouveau.so.2 (nouveau_pushbuf_data+0x17f) [0x7fd0da9ba65f]           8: 0x00007ffff061d55f in pushbuf_submit at ../nouveau/pushbuf.c:326
 9: libdrm_nouveau.so.2 (nouveau_pushbuf_data+0x597) [0x7fd0da9baed7]           9: 0x00007ffff061d977 in pushbuf_flush at ../nouveau/pushbuf.c:401
10: libdrm_nouveau.so.2 (nouveau_pushbuf_space+0x359) [0x7fd0da9bb709]         10: 0x00007ffff061e459 in pushbuf_refn at ../nouveau/pushbuf.c:471
11: nouveau_dri.so (nouveau_drm_screen_create+0x2053f) [0x7fd0e040ad6f]        11: 0x00007ffff608695f in PUSH_AVAIL or PUSH_REFN at ../src/gallium/drivers/nouveau/nvc0/nvc0_winsys.h:45
12: nouveau_dri.so (nouveau_drm_screen_create+0xc87a3) [0x7fd0e055b293]        12: 0x00007ffff612ebc3 in nvc0_constbufs_validate at ../src/gallium/drivers/nouveau/nvc0/nvc0_state_validate.c:599
13: nouveau_dri.so (nouveau_drm_screen_create+0xcb33e) [0x7fd0e05608fe]        13: 0x00007ffff613175e in nvc0_state_validate at ../src/gallium/drivers/nouveau/nvc0/nvc0_state_validate.c:980
14: nouveau_dri.so (nouveau_drm_screen_create+0xcb477) [0x7fd0e0560ce7]        14: 0x00007ffff6131897 in nvc0_state_validate_3d at ../src/gallium/drivers/nouveau/nvc0/nvc0_state_validate.c:998
15: nouveau_dri.so (nouveau_drm_screen_create+0xccb2e) [0x7fd0e05638be]        15: 0x00007ffff6132f4e in nvc0_draw_vbo at ../src/gallium/drivers/nouveau/nvc0/nvc0_vbo.c:1006
16: nouveau_dri.so (__driDriverGetExtensions_zink+0x233c8) [0x7fd0dfc65f48]    16: 0x00007ffff58ded58 in st_draw_vbo at ../src/mesa/state_tracker/st_draw.c:266
17: nouveau_dri.so (__driDriverGetExtensions_zink+0x2621f4) [0x7fd0e00e3d04]   17: 0x00007ffff5b1db84 in _mesa_draw_arrays at ../src/mesa/main/draw.c:367
18: libglamoregl.so (glamor_create_gc+0xdff8) [0x7fd0e12d2448]                 18: 0x00007ffff6f27758 in glamor_poly_fill_rect_gl at ../../../../glamor/glamor_rects.c:148
19: Xorg (DamageRegionAppend+0x19be) [0x5566d2e49c9e]                          19: 0x000055555568f35e in damagePolyFillRect at ../../../../../miext/damage/damage.c:1224
20: libglamoregl.so (glamor_pixmap_exchange_fbos+0x78d) [0x7fd0e12cf05d]       20: 0x00007ffff6f319ad in glamor_solid_boxes at ../../../../glamor/glamor_utils.c:51
21: libglamoregl.so (glamor_pixmap_exchange_fbos+0x653) [0x7fd0e12ceaf3]       21: 0x00007ffff6f31873 in glamor_composite_rectangles at ../../../../glamor/glamor_compositerects.c:244
22: Xorg (AddTraps+0x34af) [0x5566d2e3e71f]                                    22: 0x000055555568230f in ProcRenderFillRectangles at ../../../../render/render.c:1414
23: Xorg (SendErrorToClient+0x354) [0x5566d2d67964]                            23: 0x00005555555ae904 in Dispatch at ../../../../dix/dispatch.c:478
24: Xorg (InitFonts+0x3b4) [0x5566d2d6b914]                                    24: 0x00005555555b28d4 in dix_main at ../../../../dix/main.c:276
25: libc.so.6 (__libc_start_main+0xea) [0x7fd0e1c47cca]                        25: 0x00007ffff72dacca in __libc_start_main at ../csu/libc-start.c:308
26: Xorg (_start+0x2a) [0x5566d2d5573a]                                        26: 0x000055555559c73a <_start+42>



[1]
  https://sources.debian.org/src/libdrm/2.4.103-2/nouveau/pushbuf.c/#L723

[2]
  https://bugs.debian.org/977323

  Maybe similar:
  https://bugs.debian.org/929130
  https://bugs.debian.org/927954

  https://bugs.freedesktop.org/show_bug.cgi?id=91632
  https://gitlab.freedesktop.org/mesa/mesa/issues/1080

  https://gitlab.freedesktop.org/mesa/mesa/-/issues/3518

  https://bugs.launchpad.net/oxide/+bug/1499419

# amd64 qemu VM 2020-12-15


approx:
debian-11-bullseye-snapshot.debian.org                  https://snapshot.debian.org/archive/debian/20201128T000000Z/
debian-11-bullseye-debug-snapshot.debian.org            https://snapshot.debian.org/archive/debian-debug/20201128T000000Z/


sources.list:
deb     [check-valid-until=no] http://192.168.178.25:9999/debian-11-bullseye-snapshot.debian.org/ bullseye main
deb-src [check-valid-until=no] http://192.168.178.25:9999/debian-11-bullseye-snapshot.debian.org/ bullseye main
deb     [check-valid-until=no] http://192.168.178.25:9999/debian-11-bullseye-debug-snapshot.debian.org/ bullseye-debug main


apt update
apt dist-upgrade


apt install gdb xserver-xorg-core xserver-xorg-core-dbgsym libgl1-mesa-dri-dbgsym libdrm-nouveau2-dbgsym


gdb -q --args /usr/lib/xorg/Xorg
set width 0
set pagination off
tb dix_main
run

call dlopen("/usr/lib/xorg/modules/libfb.so",0x102)
call dlopen("/usr/lib/xorg/modules/libglamoregl.so",0x102)
call dlopen("/usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so",0x102)

b *InitFonts+0x3b4
info b
b *0x00005555555b28cf
info b




Backtrace:                                                                     Reconstructed:
 0: Xorg (OsLookupColor+0x138) [0x5566d2ec4e88]                                 0: 0x000055555570bd78 in OsSigHandler at ../../../../os/osinit.c:135
 1: libpthread.so.0 (funlockfile+0x50) [0x7fd0e1dfc18f]                         1: 0x00007ffff748f140 <__restore_rt>
 2: libc.so.6 (gsignal+0x141) [0x7fd0e1c5cc41]                                  2: 0x00007ffff72efc41 in __GI_raise at ../sysdeps/unix/sysv/linux/internal-signals.h:86
 3: libc.so.6 (abort+0x123) [0x7fd0e1c46537]                                    3: 0x00007ffff72d9537 in __GI_abort at abort.c:79
 4: libc.so.6 (?+0x0) [0x7fd0e1c46400]                                          4: 0x00007ffff72d9400 in __assert_fail_base at assert.c:83
 5: libc.so.6 (__assert_fail+0x42) [0x7fd0e1c555c2]                             5: 0x00007ffff72e85c2 in __GI___assert_fail at assert.c:101
 6: libdrm_nouveau.so.2 (nouveau_pushbuf_data+0xff) [0x7fd0da9ba4df]            6: 0x00007ffff061d4df in nouveau_pushbuf_data at ../nouveau/pushbuf.c:723
 7: libdrm_nouveau.so.2 (nouveau_pushbuf_data+0x63) [0x7fd0da9ba443]            7: 0x00007ffff061d443 in nouveau_pushbuf_data at ../nouveau/pushbuf.c:715
 8: libdrm_nouveau.so.2 (nouveau_pushbuf_data+0x17f) [0x7fd0da9ba65f]           8: 0x00007ffff061d55f in pushbuf_submit at ../nouveau/pushbuf.c:326
 9: libdrm_nouveau.so.2 (nouveau_pushbuf_data+0x597) [0x7fd0da9baed7]           9: 0x00007ffff061d977 in pushbuf_flush at ../nouveau/pushbuf.c:401
10: libdrm_nouveau.so.2 (nouveau_pushbuf_space+0x359) [0x7fd0da9bb709]         10: 0x00007ffff061e459 in pushbuf_refn at ../nouveau/pushbuf.c:471
11: nouveau_dri.so (nouveau_drm_screen_create+0x2053f) [0x7fd0e040ad6f]        11: 0x00007ffff608695f in PUSH_AVAIL or PUSH_REFN at ../src/gallium/drivers/nouveau/nvc0/nvc0_winsys.h:45
12: nouveau_dri.so (nouveau_drm_screen_create+0xc87a3) [0x7fd0e055b293]        12: 0x00007ffff612ebc3 in nvc0_constbufs_validate at ../src/gallium/drivers/nouveau/nvc0/nvc0_state_validate.c:599
13: nouveau_dri.so (nouveau_drm_screen_create+0xcb33e) [0x7fd0e05608fe]        13: 0x00007ffff613175e in nvc0_state_validate at ../src/gallium/drivers/nouveau/nvc0/nvc0_state_validate.c:980
14: nouveau_dri.so (nouveau_drm_screen_create+0xcb477) [0x7fd0e0560ce7]        14: 0x00007ffff6131897 in nvc0_state_validate_3d at ../src/gallium/drivers/nouveau/nvc0/nvc0_state_validate.c:998
15: nouveau_dri.so (nouveau_drm_screen_create+0xccb2e) [0x7fd0e05638be]        15: 0x00007ffff6132f4e in nvc0_draw_vbo at ../src/gallium/drivers/nouveau/nvc0/nvc0_vbo.c:1006
16: nouveau_dri.so (__driDriverGetExtensions_zink+0x233c8) [0x7fd0dfc65f48]    16: 0x00007ffff58ded58 in st_draw_vbo at ../src/mesa/state_tracker/st_draw.c:266
17: nouveau_dri.so (__driDriverGetExtensions_zink+0x2621f4) [0x7fd0e00e3d04]   17: 0x00007ffff5b1db84 in _mesa_draw_arrays at ../src/mesa/main/draw.c:367
18: libglamoregl.so (glamor_create_gc+0xdff8) [0x7fd0e12d2448]                 18: 0x00007ffff6f27758 in glamor_poly_fill_rect_gl at ../../../../glamor/glamor_rects.c:148
19: Xorg (DamageRegionAppend+0x19be) [0x5566d2e49c9e]                          19: 0x000055555568f35e in damagePolyFillRect at ../../../../../miext/damage/damage.c:1224
20: libglamoregl.so (glamor_pixmap_exchange_fbos+0x78d) [0x7fd0e12cf05d]       20: 0x00007ffff6f319ad in glamor_solid_boxes at ../../../../glamor/glamor_utils.c:51
21: libglamoregl.so (glamor_pixmap_exchange_fbos+0x653) [0x7fd0e12ceaf3]       21: 0x00007ffff6f31873 in glamor_composite_rectangles at ../../../../glamor/glamor_compositerects.c:244
22: Xorg (AddTraps+0x34af) [0x5566d2e3e71f]                                    22: 0x000055555568230f in ProcRenderFillRectangles at ../../../../render/render.c:1414
23: Xorg (SendErrorToClient+0x354) [0x5566d2d67964]                            23: 0x00005555555ae904 in Dispatch at ../../../../dix/dispatch.c:478  
24: Xorg (InitFonts+0x3b4) [0x5566d2d6b914]                                    24: 0x00005555555b28d4 in dix_main at ../../../../dix/main.c:276      
25: libc.so.6 (__libc_start_main+0xea) [0x7fd0e1c47cca]                        25: 0x00007ffff72dacca in __libc_start_main at ../csu/libc-start.c:308
26: Xorg (_start+0x2a) [0x5566d2d5573a]                                        26: 0x000055555559c73a <_start+42>                                    




https://sources.debian.org/src/libdrm/2.4.103-2/nouveau/pushbuf.c/#L723
722 		kref = cli_kref_get(push->client, bo);
723 		assert(kref);
724 		kpsh = &krec->push[krec->nr_push++];

Should produce somewhere the output:
    ...: ../nouveau/pushbuf.c:723: nouveau_pushbuf_data: Assertion `kref' failed.




Same reporter to libdrm-nouveau2:
https://bugs.debian.org/977323

Maybe similar:
https://bugs.debian.org/929130
https://bugs.debian.org/927954


https://bugs.freedesktop.org/show_bug.cgi?id=91632
https://gitlab.freedesktop.org/mesa/mesa/issues/1080

https://gitlab.freedesktop.org/mesa/mesa/-/issues/3518

https://bugs.launchpad.net/oxide/+bug/1499419

Reply to: