Public bug reported:

Both Cheese and GNOME Snapshot (gnome-snapshot) segfault on launch when using 
the hardware GL path on my Lenovo ThinkPad X9-15 Gen 1 with Intel Lunar Lake 
Xe2 integrated graphics. Apparently occurs inside libgallium (memcpy?) with a 
texture. I'm no expert and the trace has some ??s. Setting 
LIBGL_ALWAYS_SOFTWARE=1 avoids the crash entirely, confirming the bug is in the 
hardware GL driver.
Other applications that use the camera (Zoom, OBS) work fine.

Hardware: Lenovo ThinkPad X9-15 Gen 1 (Intel Core Ultra 7 268V, Lunar Lake)
GPU: Intel Xe2 integrated graphics
OS: Ubuntu 24.04 LTS (Noble)
Kernel: 6.17.0-1020-oem
Mesa: 25.2.8-0ubuntu0.24.04.1 (from noble-updates)
GStreamer: 1.24.2-1ubuntu0.4
Session: Wayland
Camera: Intel MIPI (IPU7) via v4l2loopback

$ apt-cache policy mesa-va-drivers libgstreamer-gl1.0-0
mesa-va-drivers:
  Installed: 25.2.8-0ubuntu0.24.04.1
  Candidate: 25.2.8-0ubuntu0.24.04.1
  Version table:
 *** 25.2.8-0ubuntu0.24.04.1 500
        500 http://nl.archive.ubuntu.com/ubuntu noble-updates/universe amd64 
Packages
        100 /var/lib/dpkg/status
     24.0.5-1ubuntu1 500
        500 http://nl.archive.ubuntu.com/ubuntu noble/universe amd64 Packages
libgstreamer-gl1.0-0:
  Installed: 1.24.2-1ubuntu0.4
  Candidate: 1.24.2-1ubuntu0.4
  Version table:
 *** 1.24.2-1ubuntu0.4 500
        500 http://nl.archive.ubuntu.com/ubuntu noble-updates/main amd64 
Packages
        500 http://security.ubuntu.com/ubuntu noble-security/main amd64 Packages
        100 /var/lib/dpkg/status
     1.24.2-1 500
        500 http://nl.archive.ubuntu.com/ubuntu noble/main amd64 Packages


Steps to Reproduce

Install Ubuntu 24.04 on a Lunar Lake system with current noble-updates
Launch Cheese: cheese
`DEBUGINFOD_URLS="https://debuginfod.ubuntu.com"; gdb -batch -ex "set debuginfod 
enabled on" -ex run -ex bt -ex quit --args cheese 2>&1`

```
Download failed: Invalid argument.  Continuing without source file 
./string/../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S.
__memcpy_avx_unaligned_erms () at 
../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:265
warning: 265    ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S: No 
such file or directory
#0  __memcpy_avx_unaligned_erms () at 
../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:265
#1  0x00007fffd9b6a804 in ?? () from 
/lib/x86_64-linux-gnu/libgallium-25.2.8-0ubuntu0.24.04.1.so
#2  0x00007fffda28cb7a in ?? () from 
/lib/x86_64-linux-gnu/libgallium-25.2.8-0ubuntu0.24.04.1.so
#3  0x00007fffd9584f9b in ?? () from 
/lib/x86_64-linux-gnu/libgallium-25.2.8-0ubuntu0.24.04.1.so
#4  0x00007fffd958598a in ?? () from 
/lib/x86_64-linux-gnu/libgallium-25.2.8-0ubuntu0.24.04.1.so
#5  0x00007fffd955a878 in ?? () from 
/lib/x86_64-linux-gnu/libgallium-25.2.8-0ubuntu0.24.04.1.so
#6  0x00007fffd955cd31 in ?? () from 
/lib/x86_64-linux-gnu/libgallium-25.2.8-0ubuntu0.24.04.1.so
#7  0x00007ffff6e5a0de in _cogl_texture_driver_upload_to_gl 
(ctx=0x555555a0d410, gl_target=3553, gl_handle=<optimized out>, is_foreign=0, 
source_bmp=0x5555562bd490, internal_gl_format=6403, source_gl_format=6403, 
source_gl_type=5121, error=0x7fffffffd620) at 
driver/gl/gl/cogl-texture-driver-gl.c:347
#8  0x00007ffff6e3dbc2 in allocate_from_bitmap (error=0x7fffffffd620, 
loader=<optimized out>, tex_2d=0x55555587be40) at 
driver/gl/cogl-texture-2d-gl.c:255
#9  _cogl_texture_2d_gl_allocate (tex=0x55555587be40, error=0x7fffffffd620) at 
driver/gl/cogl-texture-2d-gl.c:462
#10 0x00007ffff6e7d0cb in cogl_texture_allocate (error=0x7fffffffd620, 
texture=0x55555587be40) at 
/build/cogl-YZID4v/cogl-1.22.8/cogl/cogl-texture.c:1398
#11 cogl_texture_allocate (texture=texture@entry=0x55555587be40, 
error=error@entry=0x7fffffffd620) at 
/build/cogl-YZID4v/cogl-1.22.8/cogl/cogl-texture.c:1384
#12 0x00007ffff6e7ebc7 in cogl_texture_2d_new_from_data (ctx=<optimized out>, 
width=<optimized out>, height=<optimized out>, 
format=format@entry=COGL_PIXEL_FORMAT_A_8, rowstride=<optimized out>, 
data=<optimized out>, error=0x7fffffffd620) at 
/build/cogl-YZID4v/cogl-1.22.8/cogl/cogl-texture-2d.c:225
#13 0x00007ffff7df27da in video_texture_new_from_data (ctx=<optimized out>, 
width=<optimized out>, height=<optimized out>, 
format=format@entry=COGL_PIXEL_FORMAT_A_8, rowstride=<optimized out>, 
data=<optimized out>) at 
/build/clutter-gst-3.0-ei5QZ1/clutter-gst-3.0-3.0.27/clutter-gst/clutter-gst-video-sink.c:1108
#14 0x00007ffff7df40fe in clutter_gst_nv12_upload (sink=0x555556082ed0, 
buffer=<optimized out>) at 
/build/clutter-gst-3.0-ei5QZ1/clutter-gst-3.0-3.0.27/clutter-gst/clutter-gst-video-sink.c:1717
#15 0x00007ffff7df5efe in clutter_gst_source_dispatch (source=0x5555561d5e80, 
callback=<optimized out>, user_data=<optimized out>) at 
/build/clutter-gst-3.0-ei5QZ1/clutter-gst-3.0-3.0.27/clutter-gst/clutter-gst-video-sink.c:2053
#16 0x00007ffff72e1585 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#17 0x00007ffff7340977 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#18 0x00007ffff72e0a23 in g_main_context_iteration () from 
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#19 0x00007ffff751789d in g_application_run () from 
/lib/x86_64-linux-gnu/libgio-2.0.so.0
#20 0x00005555555603a6 in ?? ()
#21 0x00007ffff6c2a1ca in __libc_start_call_main 
(main=main@entry=0x555555560300, argc=argc@entry=1, 
argv=argv@entry=0x7fffffffdd38) at ../sysdeps/nptl/libc_start_call_main.h:58
#22 0x00007ffff6c2a28b in __libc_start_main_impl (main=0x555555560300, argc=1, 
argv=0x7fffffffdd38, init=<optimized out>, fini=<optimized out>, 
rtld_fini=<optimized out>, stack_end=0x7fffffffdd28) at ../csu/libc-start.c:360
#23 0x0000555555560445 in ?? ()
A debugging session is active.
```

`GST_DEBUG=3 snapshot 2>&1`

```
GST_DEBUG=3 snapshot 2>&1
2026-05-06T16:51:21.332134Z  INFO snapshot::application::imp: Snapshot 
(org.gnome.Snapshot)    
2026-05-06T16:51:21.332153Z  INFO snapshot::application::imp: Version: 46.2    
2026-05-06T16:51:21.332155Z  INFO snapshot::application::imp: Datadir: 
/usr/share/snapshot    
0:00:00.370056572 20209 0x7857a80039c0 FIXME                default 
gstutils.c:4088:gst_element_decorate_stream_id_internal:<preview-appsrc> 
Creating random stream-id, consider implementing a deterministic way of 
creating a stream-id
0:00:00.370135312 20209 0x7857a8003c80 FIXME                default 
gstutils.c:4088:gst_element_decorate_stream_id_internal:<camerasrc-real-src-actual-src-pipewir>
 Creating random stream-id, consider implementing a deterministic way of 
creating a stream-id
0:00:00.371562393 20209 0x78570001afc0 FIXME              glcontext 
gstglcontext.c:2038:gst_gl_wrapped_context_get_config:<glwrappedcontext0> 
wrapped context could not retrieve config. The application may be missing a 
call to gst_gl_context_fill_info() or the specific platform implemention is not 
implemented for retrieving the config from a wrapped OpenGL context.
0:00:00.439359582 20209 0x7857a8003c80 FIXME                default 
gstutils.c:4088:gst_element_decorate_stream_id_internal:<preview-appsrc> 
Creating random stream-id, consider implementing a deterministic way of 
creating a stream-id
0:00:00.439398913 20209 0x7857a80039c0 FIXME                default 
gstutils.c:4088:gst_element_decorate_stream_id_internal:<pipewiresrc0> Creating 
random stream-id, consider implementing a deterministic way of creating a 
stream-id
0:00:00.443473307 20209 0x7857a80039c0 FIXME             decodebin3 
gstdecodebin3.c:1690:update_requested_selection:<decodebin3-0> Implement 
EXPOSE_ALL_MODE
0:00:00.705317836 20209 0x7857a80039c0 FIXME             decodebin3 
gstdecodebin3-parse.c:454:unblock_pending_input:<decodebin3-0> Re-use existing 
input streams if/when possible
0:00:00.705830052 20209 0x7857a8001e40 FIXME             decodebin3 
gstdecodebin3.c:2273:get_output_for_slot:<decodebin3-0> emit autoplug-continue
0:00:00.705858688 20209 0x7857a8001e40 FIXME             decodebin3 
gstdecodebin3.c:2276:get_output_for_slot:<decodebin3-0> Handle EXPOSE_ALL_MODE
0:00:00.706863864 20209 0x78574800a940 FIXME              glcontext 
gstglcontext.c:2038:gst_gl_wrapped_context_get_config:<glwrappedcontext0> 
wrapped context could not retrieve config. The application may be missing a 
call to gst_gl_context_fill_info() or the specific platform implemention is not 
implemented for retrieving the config from a wrapped OpenGL context.
Segmentation fault (core dumped)
```
Observe segfault


Installed:

```
mesa-va-drivers        25.2.8-0ubuntu0.24.04.1
mesa-vulkan-drivers    25.2.8-0ubuntu0.24.04.1
mesa-vdpau-drivers     25.2.8-0ubuntu0.24.04.1
mesa-libgallium        25.2.8-0ubuntu0.24.04.1
libgl1-mesa-dri        25.2.8-0ubuntu0.24.04.1
libegl-mesa0           25.2.8-0ubuntu0.24.04.1
libglx-mesa0           25.2.8-0ubuntu0.24.04.1
libgstreamer-gl1.0-0   1.24.2-1ubuntu0.4
cheese                 46.1-3
gnome-snapshot         46.2-1ubuntu2
```

Hope this helps. Tried my best to provide the traces to confirm if this
is indeed a bug.

** Affects: mesa (Ubuntu)
     Importance: Undecided
         Status: New

** Summary changed:

- Mesa 25.2.8 segfaults during GL texture upload on Intel Lunar Lake (Xe2) — 
crashes Cheese (and GNOME Snapshot)
+ Mesa 25.2.8 segfaults during GL texture upload on Intel Lunar Lake (Xe2) 
crashes Cheese (and GNOME Snapshot)

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2151718

Title:
  Mesa 25.2.8 segfaults during GL texture upload on Intel Lunar Lake
  (Xe2) crashes Cheese (and GNOME Snapshot)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/mesa/+bug/2151718/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to