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

Bug#1025659: libgl1-mesa-dri: mesa causes xorg segfault; regression against 22.2.0-1




After updating mesa from 22.2.0-1 to 22.3.0-2 (according to dpkg.log)
earlier today U.S. time as part of a routine upgrade to up-to-date sid,
the greeter stopped appearing, and over the course of the last two hours
we chased it down to that upgrade, which made X.org die with
  iris_dri.so (nouveau_drm_screen_create+[three addresses])
  iris_dri.so (?+0x0)
  iris_dri.so (__driDriverGetExtensions_d3d12+[three addresses])
in the backtrace of a segfault at 0x20.

This may be tangentially related to other d3d12 fuckups in 22.3.0,
like #1025312, given the timeline and d3d12ness.

00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 630 [8086:591b] (rev 04)


Dear Maintainer,
I tried to reconstruct a better backtrace with the
help of the dbgsym packages.

What I find strange is the system has a Intel GPU, but
is calling in some nouveau functions?

Kind regards,
Bernhard


...ebc in nouveau_pushbuf_destroy at ../src/gallium/drivers/nouveau/nouveau_screen.c:244          (nouveau_drm_screen_create+0x4406c)
...319 in nvc0_screen_destroy at ../src/gallium/drivers/nouveau/nvc0/nvc0_screen.c:740            (nouveau_drm_screen_create+0x1e4c9)
...0b6 in nouveau_drm_screen_create at ../src/gallium/winsys/nouveau/drm/nouveau_drm_winsys.c:133 (nouveau_drm_screen_create+0x266)
...df6 in pipe_nouveau_create_screen at ../src/gallium/auxiliary/target-helpers/drm_helper.h:144  (0x7f205d0a9df6)
...0c4 in pipe_loader_create_screen_vk at ../src/gallium/auxiliary/pipe-loader/pipe_loader.c:175  (__driDriverGetExtensions_d3d12+0x60ad84)
...dd3 in dri2_init_screen at ../src/gallium/frontends/dri/dri2.c:2265                            (__driDriverGetExtensions_d3d12+0x1a93)
...4b5 in driCreateNewScreen2 at ../src/gallium/frontends/dri/dri_util.c:143                      (__driDriverGetExtensions_d3d12+0xa175)
...eae in dri_screen_create_dri2 at ../src/gbm/backends/dri/gbm_dri.c:434                         (gbm_format_get_name+0xf2e)
...678 in dri_screen_create at ../src/gbm/backends/dri/gbm_dri.c:511                              (gbm_format_get_name+0x16f8)
...74c in backend_create_device at ../src/gbm/main/backend.c:101                                  (0x7f205edc274c)
...884 in gbm_create_device at ../src/gbm/main/gbm.c:138                                          (gbm_create_device+0x44)
...3c1 in glamor_egl_init at ../../../../../../glamor/glamor_egl.c:947                            (glamor_egl_init+0x61)
...733 in try_enable_glamor at ../../../../../../../hw/xfree86/drivers/modesetting/driver.c:945   (0x7f205f118733)
...56a in InitOutput at ../../../../../../hw/xfree86/common/xf86Init.c:490                        (InitOutput+0xa2a)
...


The crashing instruction:  (the 0x20 offset matches, maybe NULL given to nouveau_pushbuf_destroy?)

   0x00007ffff5f56ebc <nouveau_screen_fini+76>: mov    0x20(%rax),%rdi


https://sources.debian.org/src/mesa/22.3.0-2/src/gallium/drivers/nouveau/nouveau_screen.c/#L244
241 void
242 nouveau_pushbuf_destroy(struct nouveau_pushbuf **push)
243 {
244    FREE((*push)->user_priv);
245    nouveau_pushbuf_del(push);
246 }


Reply to: