Bug 2338414 - Totem fails with EGL_BAD_ALLOC in mesa 24.3.3-2
Summary: Totem fails with EGL_BAD_ALLOC in mesa 24.3.3-2
Keywords:
Status: NEW
Alias: None
Product: Fedora
Classification: Fedora
Component: mesa
Version: 41
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: José Expósito
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2025-01-16 11:12 UTC by Cesar Eduardo Barros
Modified: 2025-03-20 10:09 UTC (History)
16 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Type: ---
Embargoed:


Attachments (Terms of Use)
Output of EGL_LOG_LEVEL=debug MESA_DEBUG=1 GST_DEBUG=2 totem ... (116.10 KB, text/plain)
2025-01-16 11:13 UTC, Cesar Eduardo Barros
no flags Details

Description Cesar Eduardo Barros 2025-01-16 11:12:27 UTC
After updating mesa to 24.3.3-2, GNOME's video player (totem) no longer works, always displaying a dialog box saying "Não foi possível inicializar o suporte a OpenGL".

Running totem on the command line with "EGL_LOG_LEVEL=debug MESA_DEBUG=1 GST_DEBUG=2 totem" shows that the true (untranslated) error message from gstreamer (gtkgstglwidget) is "Could not create OpenGL context: Failed to create a OpenGL context: EGL_BAD_ALLOC".

Reproducible: Always

Steps to Reproduce:
1. Run totem on any video
Actual Results:  
The totem window opens with a "broken video" icon, and a dialog box saying "Não foi possível inicializar o suporte a OpenGL" pops up.

Expected Results:  
The video should play normally, as it used to before the mesa update.

Relevant package versions:

mesa-libEGL-24.3.3-2.fc41.x86_64
gstreamer1-plugins-good-gtk-1.24.11-1.fc41.x86_64
totem-43.1-1.fc41.x86_64

Running on GNOME (Wayland), with the display connected through DP to a Radeon 7600 dGPU (there's also the iGPU of the Ryzen 7600 CPU, with no displays connected).

This is the GST_DEBUG=2 part of the output (will attach the log with the EGL_LOG_LEVEL=debug part later):

0:00:00.202602337 19682 0x560c876d3be0 WARN               glcontext gstglcontext.c:1326:gst_gl_context_create_thread:<glcontextegl0> Failed to create context
0:00:00.202631532 19682 0x560c866d4d80 WARN          gtkgstglwidget gtkgstglwidget.c:644:gtk_gst_gl_widget_init_winsys: Could not create OpenGL context: Failed to create a OpenGL context: EGL_BAD_ALLOC
0:00:00.202638765 19682 0x560c866d4d80 WARN               gtkglsink gstgtkglsink.c:270:gst_gtk_gl_sink_start:<sink> error: Failed to initialize OpenGL with Gtk
0:00:00.202650477 19682 0x560c866d4d80 WARN                basesink gstbasesink.c:5906:gst_base_sink_change_state:<sink> error: Failed to start
0:00:00.202681005 19682 0x560c866d4d80 ERROR                playbin gstplaybin2.c:5554:activate_group:<play> failed to activate sinks
0:00:00.206734377 19682 0x560c866d4d80 ERROR                default totem-gst-helpers.c:61:totem_gst_message_print: message = Failed to initialize OpenGL with Gtk
0:00:00.206740809 19682 0x560c866d4d80 ERROR                default totem-gst-helpers.c:62:totem_gst_message_print: domain  = 5186 (gst-resource-error-quark)
0:00:00.206743624 19682 0x560c866d4d80 ERROR                default totem-gst-helpers.c:64:totem_gst_message_print: code    = 3
0:00:00.206746179 19682 0x560c866d4d80 ERROR                default totem-gst-helpers.c:65:totem_gst_message_print: debug   = ../ext/gtk/gstgtkglsink.c(270): gst_gtk_gl_sink_start (): /GstGLSinkBin:glsinkbin/GstGtkGLSink:sink
0:00:00.206757180 19682 0x560c866d4d80 ERROR                default totem-gst-helpers.c:66:totem_gst_message_print: source  = <sink>
0:00:00.206759594 19682 0x560c866d4d80 ERROR                default totem-gst-helpers.c:67:totem_gst_message_print: uri     = (NULL)

Comment 1 Cesar Eduardo Barros 2025-01-16 11:13:45 UTC
Created attachment 2066236 [details]
Output of EGL_LOG_LEVEL=debug MESA_DEBUG=1 GST_DEBUG=2 totem ...

Comment 2 Fabio Valentini 2025-01-16 17:19:12 UTC
The same issue also seems to break GNOME Web / epiphany since 24.3.3.
There are errors about EGL_BAD_ALLOC on the command line, and it doesn't render any web pages.

Comment 3 Cesar Eduardo Barros 2025-01-16 23:06:44 UTC
Reproduced using pure gstreamer, which takes Totem out of the equation and simplifies the output:

$ GST_DEBUG=5 gst-launch-1.0 videotestsrc ! glupload ! gtkglsink

Comparing with another computer where this command works (with older mesa and a different GPU vendor), the place where the output diverges seems to be as follows (the working computer after "attempting to create OpenGL ES context version 3.2 flags 1 profile 0" says "gl context created" and then starts dumping information about the created context):

0:00:00.231511862 12420 0x55a0db0c7d50 INFO               glcontext gstglcontext_egl.c:939:gst_gl_context_egl_create_context: Bound OpenGL|ES
0:00:00.231526500 12420 0x55a0db0c7d50 INFO               glcontext gstglcontext_egl.c:757:gst_gl_context_egl_choose_config: config set: 94149356392512, 1
0:00:00.231529826 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:774:gst_gl_context_egl_choose_config:<glcontextegl0> chosen EGLConfig:
0:00:00.231534375 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:415:gst_gl_context_egl_dump_config:<glcontextegl0> dumping EGLConfig 0x55a0daf19040 with id 0x21 and native visual id 0x0 of type 0x3038
0:00:00.231538402 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:448:gst_gl_context_egl_dump_config:<glcontextegl0> Conformant for OpenGL|OpenGL ES|OpenGL ES 2.x|OpenGL ES 3.x
0:00:00.231543322 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:481:gst_gl_context_egl_dump_config:<glcontextegl0> Renderable for OpenGL|OpenGL ES|OpenGL ES 2.x|OpenGL ES 3.x
0:00:00.231547319 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:514:gst_gl_context_egl_dump_config:<glcontextegl0> Surface for (0x4) window
0:00:00.231552268 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:554:gst_gl_context_egl_dump_config:<glcontextegl0> [R, G, B, A] = [8, 8, 8, 8]
0:00:00.231556296 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:576:gst_gl_context_egl_dump_config:<glcontextegl0> [D, S] = [0, 0]
0:00:00.231560213 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:587:gst_gl_context_egl_dump_config:<glcontextegl0> Swap interval range is [0, 1]
0:00:00.231564482 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:601:gst_gl_context_egl_dump_config:<glcontextegl0> PBuffer maximum dimensions are [4096, 4096]. Max pixels are 0
0:00:00.231569170 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:614:gst_gl_context_egl_dump_config:<glcontextegl0> Multisample buffers: 0 and Samples per pixel: 0
0:00:00.231573789 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:811:_create_context_with_flags:<glcontextegl0> attempting to create OpenGL ES context version 3.2 flags 1 profile 0
0:00:00.232465343 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:811:_create_context_with_flags:<glcontextegl0> attempting to create OpenGL ES context version 3.2 flags 0 profile 0
0:00:00.232968062 12420 0x55a0db0c7d50 INFO               glcontext gstglcontext_egl.c:757:gst_gl_context_egl_choose_config: config set: 94149356392512, 1
0:00:00.232974424 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:774:gst_gl_context_egl_choose_config:<glcontextegl0> chosen EGLConfig:
0:00:00.232982249 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:415:gst_gl_context_egl_dump_config:<glcontextegl0> dumping EGLConfig 0x55a0daf19040 with id 0x21 and native visual id 0x0 of type 0x3038
0:00:00.232988310 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:448:gst_gl_context_egl_dump_config:<glcontextegl0> Conformant for OpenGL|OpenGL ES|OpenGL ES 2.x|OpenGL ES 3.x
0:00:00.232993861 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:481:gst_gl_context_egl_dump_config:<glcontextegl0> Renderable for OpenGL|OpenGL ES|OpenGL ES 2.x|OpenGL ES 3.x
0:00:00.232999592 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:514:gst_gl_context_egl_dump_config:<glcontextegl0> Surface for (0x4) window
0:00:00.233007487 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:554:gst_gl_context_egl_dump_config:<glcontextegl0> [R, G, B, A] = [8, 8, 8, 8]
0:00:00.233013077 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:576:gst_gl_context_egl_dump_config:<glcontextegl0> [D, S] = [0, 0]
0:00:00.233019379 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:587:gst_gl_context_egl_dump_config:<glcontextegl0> Swap interval range is [0, 1]
0:00:00.233025360 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:601:gst_gl_context_egl_dump_config:<glcontextegl0> PBuffer maximum dimensions are [4096, 4096]. Max pixels are 0
0:00:00.233031131 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:614:gst_gl_context_egl_dump_config:<glcontextegl0> Multisample buffers: 0 and Samples per pixel: 0
0:00:00.233037233 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:811:_create_context_with_flags:<glcontextegl0> attempting to create OpenGL ES context version 3.1 flags 1 profile 0
0:00:00.233236279 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:811:_create_context_with_flags:<glcontextegl0> attempting to create OpenGL ES context version 3.1 flags 0 profile 0
0:00:00.233424444 12420 0x55a0db0c7d50 INFO               glcontext gstglcontext_egl.c:757:gst_gl_context_egl_choose_config: config set: 94149356392512, 1
0:00:00.233430205 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:774:gst_gl_context_egl_choose_config:<glcontextegl0> chosen EGLConfig:
0:00:00.233437458 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:415:gst_gl_context_egl_dump_config:<glcontextegl0> dumping EGLConfig 0x55a0daf19040 with id 0x21 and native visual id 0x0 of type 0x3038
0:00:00.233443340 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:448:gst_gl_context_egl_dump_config:<glcontextegl0> Conformant for OpenGL|OpenGL ES|OpenGL ES 2.x|OpenGL ES 3.x
0:00:00.233448790 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:481:gst_gl_context_egl_dump_config:<glcontextegl0> Renderable for OpenGL|OpenGL ES|OpenGL ES 2.x|OpenGL ES 3.x
0:00:00.233454310 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:514:gst_gl_context_egl_dump_config:<glcontextegl0> Surface for (0x4) window
0:00:00.233462165 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:554:gst_gl_context_egl_dump_config:<glcontextegl0> [R, G, B, A] = [8, 8, 8, 8]
0:00:00.233467776 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:576:gst_gl_context_egl_dump_config:<glcontextegl0> [D, S] = [0, 0]
0:00:00.233473466 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:587:gst_gl_context_egl_dump_config:<glcontextegl0> Swap interval range is [0, 1]
0:00:00.233479247 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:601:gst_gl_context_egl_dump_config:<glcontextegl0> PBuffer maximum dimensions are [4096, 4096]. Max pixels are 0
0:00:00.233484948 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:614:gst_gl_context_egl_dump_config:<glcontextegl0> Multisample buffers: 0 and Samples per pixel: 0
0:00:00.233490719 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:811:_create_context_with_flags:<glcontextegl0> attempting to create OpenGL ES context version 3.0 flags 1 profile 0
0:00:00.233650771 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:811:_create_context_with_flags:<glcontextegl0> attempting to create OpenGL ES context version 3.0 flags 0 profile 0
0:00:00.233826393 12420 0x55a0db0c7d50 INFO               glcontext gstglcontext_egl.c:757:gst_gl_context_egl_choose_config: config set: 94149356392512, 1
0:00:00.233832124 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:774:gst_gl_context_egl_choose_config:<glcontextegl0> chosen EGLConfig:
0:00:00.233839207 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:415:gst_gl_context_egl_dump_config:<glcontextegl0> dumping EGLConfig 0x55a0daf19040 with id 0x21 and native visual id 0x0 of type 0x3038
0:00:00.233844948 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:448:gst_gl_context_egl_dump_config:<glcontextegl0> Conformant for OpenGL|OpenGL ES|OpenGL ES 2.x|OpenGL ES 3.x
0:00:00.233850238 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:481:gst_gl_context_egl_dump_config:<glcontextegl0> Renderable for OpenGL|OpenGL ES|OpenGL ES 2.x|OpenGL ES 3.x
0:00:00.233855668 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:514:gst_gl_context_egl_dump_config:<glcontextegl0> Surface for (0x4) window
0:00:00.233863342 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:554:gst_gl_context_egl_dump_config:<glcontextegl0> [R, G, B, A] = [8, 8, 8, 8]
0:00:00.233868833 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:576:gst_gl_context_egl_dump_config:<glcontextegl0> [D, S] = [0, 0]
0:00:00.233875095 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:587:gst_gl_context_egl_dump_config:<glcontextegl0> Swap interval range is [0, 1]
0:00:00.233880996 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:601:gst_gl_context_egl_dump_config:<glcontextegl0> PBuffer maximum dimensions are [4096, 4096]. Max pixels are 0
0:00:00.233886807 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:614:gst_gl_context_egl_dump_config:<glcontextegl0> Multisample buffers: 0 and Samples per pixel: 0
0:00:00.233892738 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:811:_create_context_with_flags:<glcontextegl0> attempting to create OpenGL ES context version 2.0 flags 1 profile 0
0:00:00.234048883 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:811:_create_context_with_flags:<glcontextegl0> attempting to create OpenGL ES context version 2.0 flags 0 profile 0
0:00:00.234223102 12420 0x55a0db0c7d50 INFO               glcontext gstglcontext_egl.c:757:gst_gl_context_egl_choose_config: config set: 94149356392512, 1
0:00:00.234228692 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:774:gst_gl_context_egl_choose_config:<glcontextegl0> chosen EGLConfig:
0:00:00.234235746 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:415:gst_gl_context_egl_dump_config:<glcontextegl0> dumping EGLConfig 0x55a0daf19040 with id 0x21 and native visual id 0x0 of type 0x3038
0:00:00.234241276 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:448:gst_gl_context_egl_dump_config:<glcontextegl0> Conformant for OpenGL|OpenGL ES|OpenGL ES 2.x|OpenGL ES 3.x
0:00:00.234247047 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:481:gst_gl_context_egl_dump_config:<glcontextegl0> Renderable for OpenGL|OpenGL ES|OpenGL ES 2.x|OpenGL ES 3.x
0:00:00.234252377 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:514:gst_gl_context_egl_dump_config:<glcontextegl0> Surface for (0x4) window
0:00:00.234259721 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:554:gst_gl_context_egl_dump_config:<glcontextegl0> [R, G, B, A] = [8, 8, 8, 8]
0:00:00.234265452 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:576:gst_gl_context_egl_dump_config:<glcontextegl0> [D, S] = [0, 0]
0:00:00.234270832 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:587:gst_gl_context_egl_dump_config:<glcontextegl0> Swap interval range is [0, 1]
0:00:00.234276723 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:601:gst_gl_context_egl_dump_config:<glcontextegl0> PBuffer maximum dimensions are [4096, 4096]. Max pixels are 0
0:00:00.234282464 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:614:gst_gl_context_egl_dump_config:<glcontextegl0> Multisample buffers: 0 and Samples per pixel: 0
0:00:00.234288655 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:811:_create_context_with_flags:<glcontextegl0> attempting to create OpenGL ES context version 0.0 flags 1 profile 0
0:00:00.234456923 12420 0x55a0db0c7d50 DEBUG              glcontext gstglcontext_egl.c:811:_create_context_with_flags:<glcontextegl0> attempting to create OpenGL ES context version 0.0 flags 0 profile 0
0:00:00.234630040 12420 0x55a0db0c7d50 WARN               glcontext gstglcontext.c:1326:gst_gl_context_create_thread:<glcontextegl0> Failed to create context
0:00:00.234645209 12420 0x55a0da884b50 INFO               glcontext gstglcontext.c:1079:gst_gl_context_create:<glcontextegl0> gl thread created
0:00:00.234658173 12420 0x55a0da884b50 DEBUG              gldisplay gstgldisplay.c:732:gst_gl_display_remove_window:<gldisplaywayland0> Removing window <glwindowwaylandegl0> (0x55a0dad54660) from internal list
0:00:00.234668743 12420 0x55a0da884b50 DEBUG              glcontext gstglcontext.c:746:gst_gl_context_finalize:<glcontextegl0> End of finalize
0:00:00.234673923 12420 0x55a0da884b50 WARN          gtkgstglwidget gtkgstglwidget.c:644:gtk_gst_gl_widget_init_winsys: Could not create OpenGL context: Failed to create a OpenGL context: EGL_BAD_ALLOC
0:00:00.234680866 12420 0x55a0da884b50 WARN               gtkglsink gstgtkglsink.c:270:gst_gtk_gl_sink_start:<gtkglsink0> error: Failed to initialize OpenGL with Gtk

Comment 4 Cesar Eduardo Barros 2025-01-17 02:37:08 UTC
Tracing where it fails with gdb, after doing (suggested by gdb) "dnf --enablerepo='*debug*' install mesa-va-drivers-freeworld-debuginfo-24.3.3-4.fc41.x86_64", the point where it fails seems to be at _mesa_initialize_context, where "api" is API_OPENGLES2 which has the value 2, but according to the disassembly of the code around the switch, only 0 and 3 (API_OPENGL_COMPAT and API_OPENGL_CORE) are accepted. Which appears to indicate that neither HAVE_OPENGL_ES_2 nor HAVE_OPENGL_ES_1 are defined at that point.

#0  0x00007fffc53f8e31 in _mesa_initialize_context
    (ctx=ctx@entry=0x7fffdf935010, api=api@entry=API_OPENGLES2, no_error=no_error@entry=false, visual=visual@entry=0x7fff7f7fd900, share_list=share_list@entry=0x7fffdff35010, driverFunctions=driverFunctions@entry=0x7fff7f7fd850)
    at ../src/mesa/main/context.c:1093
#1  0x00007fffc52b71c3 in st_create_context
    (api=API_OPENGLES2, pipe=pipe@entry=0x7fff70054c80, visual=0x7fff7f7fd900, share=share@entry=0x555555e5bc00, options=options@entry=0x7fff7f7fda28, no_error=no_error@entry=false, has_egl_image_validate=true)
    at ../src/mesa/state_tracker/st_context.c:845
#2  0x00007fffc52ca62c in st_api_create_context (fscreen=fscreen@entry=0x555555a4b810, attribs=attribs@entry=0x7fff7f7fda00, error=error@entry=0x7fff7f7fd9fc, shared_ctx=shared_ctx@entry=0x555555e5bc00)
    at ../src/mesa/state_tracker/st_manager.c:991
#3  0x00007fffc52205f1 in dri_create_context
    (screen=0x555555a4b810, api=<optimized out>, visual=visual@entry=0x555555c156f0, ctx_config=ctx_config@entry=0x7fff7f7fdaf0, error=error@entry=0x7fff7f7fdb8c, sharedContextPrivate=sharedContextPrivate@entry=0x555555d9ffd0, loaderPrivate=0x7fff700030a0) at ../src/gallium/frontends/dri/dri_context.c:181
#4  0x00007fffc5224658 in driCreateContextAttribs
    (screen=<optimized out>, api=<optimized out>, config=0x555555c156f0, shared=shared@entry=0x555555d9ffd0, num_attribs=<optimized out>, attribs=<optimized out>, error=0x7fff7f7fdb8c, data=0x7fff700030a0)
    at ../src/gallium/frontends/dri/dri_util.c:603
#5  0x00007fffe45574aa in dri2_create_context (disp=0x555555a46800, conf=0x555555c2c980, share_list=0x555555d9ff50, attrib_list=0x7fff7f7fdc80) at ../src/egl/drivers/dri2/egl_dri2.c:1284
#6  0x00007fffe4548e53 in eglCreateContext (dpy=<optimized out>, config=0x555555c2c980, share_list=0x555555d9ff50, attrib_list=0x7fff7f7fdc80) at ../src/egl/main/eglapi.c:913
#7  0x00007fffe96370e9 in _create_context_with_flags
    (egl=egl@entry=0x555555e83fe0 [GstGLContextEGL|glcontextegl0], share_context=share_context@entry=0x555555d9ff50, gl_api=gl_api@entry=GST_GL_API_GLES2, major=major@entry=3, minor=minor@entry=2, contextFlags=contextFlags@entry=1, profileMask=<optimized out>) at ../gst-libs/gst/gl/egl/gstglcontext_egl.c:844
#8  0x00007fffe9639a9e in gst_gl_context_egl_create_context (context=0x555555e83fe0 [GstGLContextEGL|glcontextegl0], gl_api=<optimized out>, other_context=0x555555e7f770 [GstGLWrappedContext|glwrappedcontext0], error=0x7fffffffd610)
    at ../gst-libs/gst/gl/egl/gstglcontext_egl.c:957
#9  0x00007fffe960c989 in gst_gl_context_create_thread (context=0x555555e83fe0 [GstGLContextEGL|glcontextegl0]) at ../gst-libs/gst/gl/gstglcontext.c:1324
#10 0x00007ffff7d7dd43 in g_thread_proxy (data=0x555555e7f260) at ../glib/gthread.c:892
#11 0x00007ffff7b28148 in start_thread (arg=<optimized out>) at pthread_create.c:448
#12 0x00007ffff7bac0cc in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Comment 5 Cesar Eduardo Barros 2025-01-17 02:42:49 UTC
Doing the following pair of commands fixes this issue:

sudo dnf swap mesa-va-drivers-freeworld mesa-va-drivers
sudo dnf swap mesa-vdpau-drivers-freeworld mesa-vdpau-drivers

So this is actually https://bugzilla.rpmfusion.org/show_bug.cgi?id=7147

Comment 6 José Expósito 2025-01-17 10:53:48 UTC
Possible duplicated: https://bugzilla.redhat.com/show_bug.cgi?id=2337385

Comment 7 Cesar Eduardo Barros 2025-01-17 11:38:47 UTC
I can't check anymore since I already uninstalled the package, but I'm guessing that the offending commit was https://pkgs.rpmfusion.org/cgit/free/mesa-freeworld.git/commit/?h=f41&id=a11913c86bf02a4c190334fb4245f7b98143f4bd (Fix tearing due to fedora libgallium), since I recall that the offending function was in libgallium. If that's the case, removing the offending ld.so.conf.d file (and perhaps re-running ldconfig after that) could also be a workaround, instead of uninstalling the package.

And if that's the case, then looking at https://pkgs.rpmfusion.org/cgit/free/mesa-freeworld.git/tree/mesa-freeworld.spec?h=f41&id=a11913c86bf02a4c190334fb4245f7b98143f4bd the offending arguments to meson would be "-Dgles1=disabled" and "-Dgles2=disabled", which match what I saw at _mesa_initialize_context. Compare with https://src.fedoraproject.org/rpms/mesa/blob/f41/f/mesa.spec which has them as "-Dgles1=enabled" and "-Dgles2=enabled". Perhaps other build arguments also have to be synchronized between these spec files (I only looked at these two arguments).

Comment 8 Stan Trzmiel 2025-01-17 13:34:33 UTC
Indeed, swapping mesa*-drivers-freeworld for regular mesa*-drivers works around this issue.

Comment 9 José Expósito 2025-01-17 13:47:37 UTC
The solution suggested by Cesar makes sense, but @leigh123linux might be able to confirm.

Comment 10 Fabio Valentini 2025-01-18 10:47:29 UTC
I agree with https://bugzilla.redhat.com/show_bug.cgi?id=2338414#c7 - it looks like the build flags need to be the same in both packages for them to be actually interchangeable.

Comment 11 leigh scott 2025-03-20 10:09:57 UTC
I believe the build flags have been synced at rpmfusion.


Note You need to log in before you can comment on or make changes to this bug.