EGL_BAD_ATTRIBUTE with chromium-based browsers

Reporting BUG

Synopsis:

[1395:1395:0903/091957.495403:ERROR:ui/gl/egl_util.cc:92] EGL Driver message (Error) eglCreateContext: Requested version is not supported
Warning: eglCreateContext failed with EGL_BAD_ATTRIBUTE
 - While trying to discover a BackendType::OpenGL adapter.
    at CheckEGL (../../third_party/dawn/src/dawn/native/opengl/UtilsEGL.cpp:98)

Brief Description:

When visiting the chrome://gpu info page of a chromium-based browser, a slew of EGL-related errors occurs and the UI flashes rapidly while loading.

Steps to Reproduce and Frequency:

  1. Install the chromium package
  2. launch chromium and visit the chrome://gpu/ page

This is 100% reproducible on Chromium and Brave.

System Configuration: [System model][Operating System][Desktop Environment][GPU][Monitors - Model and Refresh Rates]

  • kernel 6.16.4
  • hyprland 0.50.1 (-DNO_XWAYLAND:STRING=true)
  • sway 1.11 (Native Wayland)
  • wlroots 0.19 (Vulkan Backend) (-Dxwayland=disabled)
  • vulkan-icd-loader 1.4.321
  • nVidia 580.82.07

Display (PHL 328E1): 3840x2160 @ 60 Hz (as 2883x1622) in 32" [External]
Display (DELL U2711): 1440x2560 @ 60 Hz (as 1350x2401) in 27" [External]

Additional details: [Screenshots, Screencapture, console output, logs or any details that can help with debugging]

Note: These errors have been occurring for many driver releases and chromium versions. Not new, just newly reported.

Note: This occurs when using latest git versions of egl-wayland and egl-wayland2, whether each loaded individually or both side-by-side.

Snippet of errors:

[1395:1395:0903/091957.495403:ERROR:ui/gl/egl_util.cc:92] EGL Driver message (Error) eglCreateContext: Requested version is not supported
Warning: eglCreateContext failed with EGL_BAD_ATTRIBUTE
 - While trying to discover a BackendType::OpenGL adapter.
    at CheckEGL (../../third_party/dawn/src/dawn/native/opengl/UtilsEGL.cpp:98)

[1395:1395:0903/091957.518913:ERROR:ui/gl/angle_platform_impl.cc:47] SyncEGL.cpp:69 (operator()): eglCreateSync failed with 0x00003009
ERR: SyncEGL.cpp:69 (operator()): eglCreateSync failed with 0x00003009
[1395:1395:0903/091957.519065:ERROR:gpu/command_buffer/service/shared_image/wrapped_sk_image_backing.cc:404] MakeFromBackendTexture() failed.
[1395:1395:0903/091957.519116:ERROR:gpu/command_buffer/service/shared_image/shared_image_representation.cc:385] Unable to initialize SkSurface
[1395:1395:0903/091957.519157:ERROR:gpu/command_buffer/service/raster_decoder.cc:1953] [.BrowserWorker-0x1b6c01a34780]GL ERROR :GL_INVALID_VALUE : glCopySubTexture: Dest shared image is not writable
[1395:1395:0903/091957.519280:ERROR:gpu/command_buffer/service/shared_image/wrapped_sk_image_backing.cc:404] MakeFromBackendTexture() failed.
[1395:1395:0903/091957.519310:ERROR:gpu/command_buffer/service/shared_image/shared_image_representation.cc:385] Unable to initialize SkSurface
[1395:1395:0903/091957.519336:ERROR:gpu/command_buffer/service/raster_decoder.cc:1953] [.BrowserWorker-0x1b6c01a34780]GL ERROR :GL_INVALID_VALUE : glCopySubTexture: Dest shared image is not writable
[1395:1395:0903/091957.519409:ERROR:gpu/command_buffer/service/shared_image/wrapped_sk_image_backing.cc:404] MakeFromBackendTexture() failed.
[1395:1395:0903/091957.519431:ERROR:gpu/command_buffer/service/shared_image/shared_image_representation.cc:385] Unable to initialize SkSurface
[1395:1395:0903/091957.519453:ERROR:gpu/command_buffer/service/raster_decoder.cc:1953] [.BrowserWorker-0x1b6c01a34780]GL ERROR :GL_INVALID_VALUE : glCopySubTexture: Dest shared image is not writable
[1395:1395:0903/091957.519554:ERROR:gpu/command_buffer/service/shared_image/wrapped_sk_image_backing.cc:404] MakeFromBackendTexture() failed.
[1395:1395:0903/091957.519591:ERROR:gpu/command_buffer/service/shared_image/shared_image_representation.cc:385] Unable to initialize SkSurface
[1395:1395:0903/091957.519617:ERROR:gpu/command_buffer/service/raster_decoder.cc:1953] [.BrowserWorker-0x1b6c01a34780]GL ERROR :GL_INVALID_VALUE : glCopySubTexture: Dest shared image is not writable
[1395:1395:0903/091957.519711:ERROR:gpu/command_buffer/service/shared_image/wrapped_sk_image_backing.cc:404] MakeFromBackendTexture() failed.
[1395:1395:0903/091957.519734:ERROR:gpu/command_buffer/service/shared_image/shared_image_representation.cc:385] Unable to initialize SkSurface
[1395:1395:0903/091957.519757:ERROR:gpu/command_buffer/service/raster_decoder.cc:1953] [.BrowserWorker-0x1b6c01a34780]GL ERROR :GL_INVALID_VALUE : glCopySubTexture: Dest shared image is not writable
[1395:1395:0903/091957.519869:ERROR:gpu/command_buffer/service/shared_image/wrapped_sk_image_backing.cc:404] MakeFromBackendTexture() failed.
[1395:1395:0903/091957.519893:ERROR:gpu/command_buffer/service/shared_image/shared_image_representation.cc:385] Unable to initialize SkSurface
[1395:1395:0903/091957.519915:ERROR:gpu/command_buffer/service/raster_decoder.cc:1953] [.BrowserWorker-0x1b6c01a34780]GL ERROR :GL_INVALID_VALUE : glCopySubTexture: Dest shared image is not writable
[1395:1395:0903/091957.520269:ERROR:gpu/command_buffer/service/shared_image/wrapped_sk_image_backing.cc:404] MakeFromBackendTexture() failed.
[1395:1395:0903/091957.520301:ERROR:gpu/command_buffer/service/shared_image/shared_image_representation.cc:385] Unable to initialize SkSurface
[1395:1395:0903/091957.520329:ERROR:gpu/command_buffer/service/raster_decoder.cc:2960] [.RenderWorker-0x2cc40013f600]GL ERROR :GL_INVALID_OPERATION : glBeginRasterCHROMIUM: failed to create surface
[1395:1395:0903/091957.520355:ERROR:gpu/command_buffer/service/raster_decoder.cc:3027] [.RenderWorker-0x2cc40013f600]GL ERROR :GL_INVALID_OPERATION : glRasterCHROMIUM: RasterCHROMIUM without BeginRasterCHROMIUM
[1395:1395:0903/091957.520384:ERROR:gpu/command_buffer/service/raster_decoder.cc:3156] [.RenderWorker-0x2cc40013f600]GL ERROR :GL_INVALID_OPERATION : glEndRasterCHROMIUM: EndRasterCHROMIUM without BeginRasterCHROMIUM
[1395:1395:0903/091957.520466:ERROR:gpu/command_buffer/service/shared_image/wrapped_sk_image_backing.cc:404] MakeFromBackendTexture() failed.
[1395:1395:0903/091957.520489:ERROR:gpu/command_buffer/service/shared_image/shared_image_representation.cc:385] Unable to initialize SkSurface
[1395:1395:0903/091957.520512:ERROR:gpu/command_buffer/service/raster_decoder.cc:2960] [.RenderWorker-0x2cc40013f600]GL ERROR :GL_INVALID_OPERATION : glBeginRasterCHROMIUM: failed to create surface
[1395:1395:0903/091957.520537:ERROR:gpu/command_buffer/service/raster_decoder.cc:3027] [.RenderWorker-0x2cc40013f600]GL ERROR :GL_INVALID_OPERATION : glRasterCHROMIUM: RasterCHROMIUM without BeginRasterCHROMIUM
[1395:1395:0903/091957.520561:ERROR:gpu/command_buffer/service/raster_decoder.cc:3156] [.RenderWorker-0x2cc40013f600]GL ERROR :GL_INVALID_OPERATION : glEndRasterCHROMIUM: EndRasterCHROMIUM without BeginRasterCHROMIUM
[1395:1395:0903/091957.520630:ERROR:gpu/command_buffer/service/shared_image/wrapped_sk_image_backing.cc:404] MakeFromBackendTexture() failed.
[1395:1395:0903/091957.520652:ERROR:gpu/command_buffer/service/shared_image/shared_image_representation.cc:385] Unable to initialize SkSurface
[1395:1395:0903/091957.520673:ERROR:gpu/command_buffer/service/raster_decoder.cc:2960] [.RenderWorker-0x2cc40013f600]GL ERROR :GL_INVALID_OPERATION : glBeginRasterCHROMIUM: failed to create surface
[1395:1395:0903/091957.520717:ERROR:gpu/command_buffer/service/raster_decoder.cc:3027] [.RenderWorker-0x2cc40013f600]GL ERROR :GL_INVALID_OPERATION : glRasterCHROMIUM: RasterCHROMIUM without BeginRasterCHROMIUM
[1395:1395:0903/091957.520759:ERROR:gpu/command_buffer/service/raster_decoder.cc:3027] [.RenderWorker-0x2cc40013f600]GL ERROR :GL_INVALID_OPERATION : glRasterCHROMIUM: RasterCHROMIUM without BeginRasterCHROMIUM
[1395:1395:0903/091957.520785:ERROR:gpu/command_buffer/service/raster_decoder.cc:3156] [.RenderWorker-0x2cc40013f600]GL ERROR :GL_INVALID_OPERATION : glEndRasterCHROMIUM: EndRasterCHROMIUM without BeginRasterCHROMIUM
[1395:1395:0903/091957.520845:ERROR:gpu/command_buffer/service/shared_image/wrapped_sk_image_backing.cc:404] MakeFromBackendTexture() failed.
[1395:1395:0903/091957.520867:ERROR:gpu/command_buffer/service/shared_image/shared_image_representation.cc:385] Unable to initialize SkSurface
[1395:1395:0903/091957.520888:ERROR:gpu/command_buffer/service/raster_decoder.cc:2960] [.RenderWorker-0x2cc40013f600]GL ERROR :GL_INVALID_OPERATION : glBeginRasterCHROMIUM: failed to create surface
[1395:1395:0903/091957.520912:ERROR:gpu/command_buffer/service/raster_decoder.cc:3027] [.RenderWorker-0x2cc40013f600]GL ERROR :GL_INVALID_OPERATION : glRasterCHROMIUM: RasterCHROMIUM without BeginRasterCHROMIUM
[1395:1395:0903/091957.520935:ERROR:gpu/command_buffer/service/raster_decoder.cc:3156] [.RenderWorker-0x2cc40013f600]GL ERROR :GL_INVALID_OPERATION : glEndRasterCHROMIUM: EndRasterCHROMIUM without BeginRasterCHROMIUM
[1395:1395:0903/091957.520977:ERROR:gpu/command_buffer/service/shared_image/shared_image_representation.cc:540] Attempt to read from an uninitialized SharedImage. Initialized region: (0, 0, 0, 0) Size: (3840, 512)
[1395:1395:0903/091957.523511:ERROR:gpu/command_buffer/service/shared_image/shared_image_representation.cc:540] Attempt to read from an uninitialized SharedImage. Initialized region: (0, 0, 0, 0) Size: (3840, 512)
[1395:1395:0903/091957.525780:ERROR:gpu/command_buffer/service/shared_image/shared_image_representation.cc:540] Attempt to read from an uninitialized SharedImage. Initialized region: (0, 0, 0, 0) Size: (3840, 512)
[1395:1395:0903/091957.528052:ERROR:gpu/command_buffer/service/shared_image/shared_image_representation.cc:540] Attempt to read from an uninitialized SharedImage. Initialized region: (0, 0, 0, 0) Size: (3840, 512)
[1395:1395:0903/091957.529916:ERROR:ui/gl/angle_platform_impl.cc:47] SyncEGL.cpp:69 (operator()): eglCreateSync failed with 0x00003009
ERR: SyncEGL.cpp:69 (operator()): eglCreateSync failed with 0x00003009
[1395:1395:0903/091957.530377:ERROR:ui/gl/angle_platform_impl.cc:47] SyncEGL.cpp:69 (operator()): eglCreateSync failed with 0x00003009
ERR: SyncEGL.cpp:69 (operator()): eglCreateSync failed with 0x00003009

Attaching an nVidia Bug Report and full log of the errors.

nvidia-egl-errors-chromium-gpu-page.log (244.4 KB)

nvidia-bug-report.log.gz (1.5 MB)

1 Like

The message Requested version is not supported doesn’t appear in any of the driver software I can find except for the version of libGLESv2.so that is shipped with Chromium, which as far as I can tell comes from the swiftshader software renderer. I can’t find that string in the source code from that repository but it does appear in /usr/lib/chromium/libGLESv2.so on my system.

Never mind, swiftshader got replaced by a software renderer in ANGLE and that’s where the message is coming from: src/libANGLE/Context.cpp - angle/angle - Git at Google

Thanks for the feedback!

So, do you think this is a chromium issue, or is my GPU not supporting new enough EGL?

Wayland platform:
EGL API version: 1.5
EGL vendor string: NVIDIA
EGL version string: 1.5
EGL client APIs: OpenGL_ES OpenGL
OpenGL core profile vendor: NVIDIA Corporation
OpenGL core profile renderer: NVIDIA GeForce GTX 1050 Ti/PCIe/SSE2
OpenGL core profile version: 4.6.0 NVIDIA 580.82.07
OpenGL core profile shading language version: 4.60 NVIDIA
OpenGL compatibility profile vendor: NVIDIA Corporation
OpenGL compatibility profile renderer: NVIDIA GeForce GTX 1050 Ti/PCIe/SSE2
OpenGL compatibility profile version: 4.6.0 NVIDIA 580.82.07
OpenGL compatibility profile shading language version: 4.60 NVIDIA
OpenGL ES profile vendor: NVIDIA Corporation
OpenGL ES profile renderer: NVIDIA GeForce GTX 1050 Ti/PCIe/SSE2
OpenGL ES profile version: OpenGL ES 3.2 NVIDIA 580.82.07
OpenGL ES profile shading language version: OpenGL ES GLSL ES 3.20

Seems likely to be an ANGLE issue, since ANGLE is the GLES vendor in this case. It has a bunch of different backends and it’s not clear to me exactly which one it’s trying to use when it generates this error.

I managed to get it to cough up some more specific errors:

[44555:44555:1001/062513.636112:ERROR:gpu/command_buffer/service/shared_context_state.cc:235] Skia shader compilation error (was cached = 0)
------------------------
#version 300 es

#extension GL_NV_shader_noperspective_interpolation : require
uniform highp vec2 u_skRTFlip;
precision mediump float;
precision mediump sampler2D;
out mediump vec4 sk_FragColor;
uniform highp vec4 ucircle_S1_c0;
flat in mediump vec4 vcolor_S0;
void main() {
highp     vec4 sk_FragCoord = vec4(gl_FragCoord.x, u_skRTFlip.x + u_skRTFlip.y * gl_FragCoord.y, gl_FragCoord.z, gl_FragCoord.w);
mediump vec4 outputColor_S0 = vcolor_S0;
mediump float _3_d = (1.0 - length((ucircle_S1_c0.xy - sk_FragCoord.xy) * ucircle_S1_c0.w)) * ucircle_S1_c0.z;
mediump vec4 output_S1 = vec4(clamp(_3_d, 0.0, 1.0));
{
sk_FragColor = outputColor_S0 * output_S1;
}
}

Errors:

[44555:44555:1001/062513.642692:ERROR:ui/gl/angle_platform_impl.cc:42] SyncEGL.cpp:69 (operator()): eglCreateSync failed with 0x00003009
ERR: SyncEGL.cpp:69 (operator()): eglCreateSync failed with 0x00003009
[44555:44555:1001/062513.651194:ERROR:gpu/command_buffer/service/shared_image/wrapped_sk_image_backing.cc:404] MakeFromBackendTexture() failed.
[44555:44555:1001/062513.651207:ERROR:gpu/command_buffer/service/shared_image/shared_image_representation.cc:385] Unable to initialize SkSurface
[44555:44555:1001/062513.651243:ERROR:gpu/command_buffer/service/shared_image/wrapped_sk_image_backing.cc:404] MakeFromBackendTexture() failed.
[44555:44555:1001/062513.651255:ERROR:gpu/command_buffer/service/shared_image/shared_image_representation.cc:385] Unable to initialize SkSurface
[44555:44555:1001/062513.651463:ERROR:gpu/command_buffer/service/shared_image/shared_image_representation.cc:540] Attempt to read from an uninitialized SharedImage. Initialized region: (0, 0, 0, 0) Size: (256, 256)
[44555:44555:1001/062513.651512:ERROR:gpu/command_buffer/service/shared_image/shared_image_representation.cc:540] Attempt to read from an uninitialized SharedImage. Initialized region: (0, 0, 0, 0) Size: (256, 256)
[44555:44555:1001/062513.651868:ERROR:gpu/command_buffer/service/shared_context_state.cc:235] Skia shader compilation error (was cached = 0)
------------------------
#version 300 es

#extension GL_NV_shader_noperspective_interpolation : require
uniform highp vec2 u_skRTFlip;
precision mediump float;
precision mediump sampler2D;
out mediump vec4 sk_FragColor;
uniform highp vec4 ucircle_S1_c0;
flat in mediump vec4 vcolor_S0;
void main() {
highp     vec4 sk_FragCoord = vec4(gl_FragCoord.x, u_skRTFlip.x + u_skRTFlip.y * gl_FragCoord.y, gl_FragCoord.z, gl_FragCoord.w);
mediump vec4 outputColor_S0 = vcolor_S0;
mediump float _3_d = (1.0 - length((ucircle_S1_c0.xy - sk_FragCoord.xy) * ucircle_S1_c0.w)) * ucircle_S1_c0.z;
mediump vec4 output_S1 = vec4(clamp(_3_d, 0.0, 1.0));
{
sk_FragColor = outputColor_S0 * output_S1;
}
}

I'll file an issue with the `chromium` project as well.

To be clear… this does not affect browser usage. It is exclusive to the chrome://gpu page.

In the same vein as the old glvkspirv thread, which should now be closed/solved/locked, as that issue is long gone.

  • chromium 140.0.7339.207
  • nvidia 580.95.05

With latest egl-wayland2 git @ Merge pull request #15 from kbrenneman/fix-surface-version-check · NVIDIA/egl-wayland2@e16cb0f · GitHub both chromium and brave browsers have a thread crash when accessing chrome://gpu or brave://gpu info page.

Core was generated by `/usr/lib/chromium/chromium --type=gpu-process\ --ozone-platform=wayland\ --render-node-override=/dev/dri/renderD128\ --crashpad-handler-pid=37725\ --enable-crash-reporter=,Arch\ Linux\ --change-stack-guard-on-fork=enable\ --gpu-preferences=UAAAAAAAAAAgAAAEAAAAAAAAAAAAAGAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAA\ --shared-files\ --metrics-shmem-handle=4,i,11230100242938372249,3677300102810232469,262144\ --field-trial-handle=3,i,11150263108701159331,5559775839786323102,262144\ --disable-features=EyeDropper\ --variations-seed-version cess\ --ozone-platform=wayland\ --render-node-override=/dev/dri/renderD128\ --crashpad-handler-pid=37725\ --enable-crash-reporter=,Arch\ Linux\ --change-stack-guard-on-fork=enable\ --gpu-preferences=UAAAAAAAAAAgAAAEAAAAAAAAAAAAAGAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAA\ --shared-files\ --metrics-shmem-handle=4,i,11230100242938372249,3677300102810232469,262144\ --field-trial-handle=3,i,11150263108701159331,5559775839786323102,262144\ --disable-features=EyeDropper\ --variations-seed-version m=wayland\ --render-node-override=/dev/dri/renderD128\ --crashpad-handler-pid=37725\ --enable-crash-reporter=,Arch\ Linux\ --change-stack-guard-on-fork=enable\ --gpu-preferences=UAAAAAAAAAAgAAAEAAAAAAAAAAAAAGAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAA\ --shared-files\ --metrics-shmem-handle=4,i,11230100242938372249,3677300102810232469,262144\ --field-trial-handle=3,i,11150263108701159331,5559775839786323102,262144\ --disable-features=EyeDropper\ --variations-seed-version ide=/dev/dri/renderD128\ --crashpad-handler-pid=37725\ --enable-crash-reporter=,Arch\ Linux\ --change-stack-guard-on-fork=enable\ --gpu-preferences=UAAAAAAAAAAgAAAEAAAAAAAAAAAAAGAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAA\ --shared-files\ --metrics-shmem-handle=4,i,11230100242938372249,3677300102810232469,262144\ --field-trial-handle=3,i,11150263108701159331,5559775839786323102,262144\ --disable-features=EyeDropper\ --variations-seed-version andler-pid=37725\ --enable-crash-reporter=,Arch\ Linux\ --change-stack-guard-on-fork=enable\ --gpu-preferences=UAAAAAAAAAAgAAAEAAAAAAAAAAAAAGAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAA\ --shared-files\ --metrics-shmem-handle=4,i,11230100242938372249,3677300102810232469,262144\ --field-trial-handle=3,i,11150263108701159331,5559775839786323102,262144\ --disable-features=EyeDropper\ --variations-seed-version'.
Program terminated with signal SIGTRAP, Trace/breakpoint trap.
#0  0x0000557f9d2c0242 in gl::GLFenceEGL::ServerWait() ()
[Current thread is 1 (Thread 0x7f74c5812580 (LWP 37760))]
(gdb) bt full
#0  0x0000557f9d2c0242 in gl::GLFenceEGL::ServerWait() ()
No symbol table info available.
#1  0x0000557f9ea50f43 in gpu::GLTexturePassthroughOzoneImageRepresentation::BeginAccess(unsigned int) ()
No symbol table info available.
#2  0x0000557f9ea2de5f in gpu::SkiaGLImageRepresentation::BeginWriteAccess(int, SkSurfaceProps const&, gfx::Rect const&, std::__Cr::vector<GrBackendSemaphore, std::__Cr::allocator<GrBackendSemaphore> >*, std::__Cr::vector<GrBackendSemaphore, std::__Cr::allocator<GrBackendSemaphore> >*, std::__Cr::unique_ptr<skgpu::MutableTextureState, std::__Cr::default_delete<skgpu::MutableTextureState> >*) ()
No symbol table info available.
#3  0x0000557f9e83ed2c in gpu::SkiaGaneshImageRepresentation::BeginScopedWriteAccess(int, SkSurfaceProps const&, gfx::Rect const&, std::__Cr::vector<GrBackendSemaphore, std::__Cr::allocator<GrBackendSemaphore> >*, std::__Cr::vector<GrBackendSemaphore, std::__Cr::allocator<GrBackendSemaphore> >*, gpu::SharedImageRepresentation::AllowUnclearedAccess, bool) ()
No symbol table info available.
#4  0x0000557f9f314e82 in viz::SkiaOutputSurfaceImplOnGpu::FinishPaintRenderPass(gpu::Mailbox const&, sk_sp<GrDeferredDisplayList>, sk_sp<GrDeferredDisplayList>, std::__Cr::unique_ptr<skgpu::graphite::Recording, std::__Cr::default_delete<skgpu::graphite::Recording> >, std::__Cr::vector<base::raw_ptr<viz::ImageContextImpl, (partition_alloc::internal::RawPtrTraits)1>, std::__Cr::allocator<base::raw_ptr<viz::ImageContextImpl, (partition_alloc::internal::RawPtrTraits)1> > >, std::__Cr::vector<gpu::SyncToken, std::__Cr::allocator<gpu::SyncToken> >, base::OnceCallback<void ()>, base::OnceCallback<void (gfx::GpuFenceHandle)>, gfx::Rect const&, bool) ()
No symbol table info available.
#5  0x0000557f9f308506 in base::internal::Invoker<base::internal::FunctorTraits<void (viz::SkiaOutputSurfaceImplOnGpu::*&&)(gpu::Mailbox const&, sk_sp<GrDeferredDisplayList>, sk_sp<GrDeferredDisplayList>, std::__Cr::unique_ptr<skgpu::graphite::Recording, std::__Cr::default_delete<skgpu::graphite::Recording> >, std::__Cr::vector<base::raw_ptr<viz::ImageContextImpl, (partition_alloc::internal::RawPtrTraits)1>, std::__Cr::allocator<base::raw_ptr<viz::ImageContextImpl, (partition_alloc::internal::RawPtrTraits)1> > >, std::__Cr::vector<gpu::SyncToken, std::__Cr::allocator<gpu::SyncToken> >, base::OnceCallback<void ()>, base::OnceCallback<void (gfx::GpuFenceHandle)>, gfx::Rect const&, bool), viz::SkiaOutputSurfaceImplOnGpu*, gpu::Mailbox&&, sk_sp<GrDeferredDisplayList>&&, sk_sp<GrDeferredDisplayList>&&, std::__Cr::unique_ptr<skgpu::graphite::Recording, std::__Cr::default_delete<skgpu::graphite::Recording> >&&, std::__Cr::vector<base::raw_ptr<viz::ImageContextImpl, (partition_alloc::internal::RawPtrTraits)1>, std::__Cr::allocator<base::raw_ptr<viz::ImageContextImpl, (partition_alloc::internal::RawPtrTraits)1> > >&&, std::__Cr::vector<gpu::SyncToken, std::__Cr::allocator<gpu::SyncToken> >&&, base::OnceCallback<void ()>&&, base::OnceCallback<void (gfx::GpuFenceHandle)>&&, gfx::Rect&&, bool&&>, base::internal::BindState<true, true, false, void (viz::SkiaOutputSurfaceImplOnGpu::*)(gpu::Mailbox const&, sk_sp<GrDeferredDisplayList>, sk_sp<GrDeferredDisplayList>, std::__Cr::unique_ptr<skgpu::graphite::Recording, std::__Cr::default_delete<skgpu::graphite::Recording> >, std::__Cr::vector<base::raw_ptr<viz::ImageContextImpl, (partition_alloc::internal::RawPtrTraits)1>, std::__Cr::allocator<base::raw_ptr<viz::ImageContextImpl, (partition_alloc::internal::RawPtrTraits)1> > >, std::__Cr::vector<gpu::SyncToken, std::__Cr::allocator<gpu::SyncToken> >, base::OnceCallback<void ()>, base::OnceCallback<void (gfx::GpuFenceHandle)>, gfx::Rect const&, bool), base::internal::UnretainedWrapper<viz::SkiaOutputSurfaceImplOnGpu, base::unretained_traits::MayNotDangle, (partition_alloc::internal::RawPtrTraits)0>, gpu::Mailbox, sk_sp<GrDeferredDisplayList>, sk_sp<GrDeferredDisplayList>, std::__Cr::unique_ptr<skgpu::graphite::Recording, std::__Cr::default_delete<skgpu::graphite::Recording> >, std::__Cr::vector<base::raw_ptr<viz::ImageContextImpl, (partition_alloc::internal::RawPtrTraits)1>, std::__Cr::allocator<base::raw_ptr<viz::ImageContextImpl, (partition_alloc::internal::RawPtrTraits)1> > >, std::__Cr::vector<gpu::SyncToken, std::__Cr::allocator<gpu::SyncToken> >, base::OnceCallback<void ()>, base::OnceCallback<void (gfx::GpuFenceHandle)>, gfx::Rect, bool>, void ()>::RunOnce(base::internal::BindStateBase*) [clone .cfi] ()
No symbol table info available.
#6  0x0000557f9f3090d7 in base::internal::Invoker<base::internal::FunctorTraits<viz::SkiaOutputSurfaceImpl::FlushGpuTasksWithImpl(viz::SkiaOutputSurfaceImpl::SyncMode, viz::SkiaOutputSurfaceImplOnGpu*, gpu::SyncToken const&)::$_0&&, std::__Cr::vector<base::OnceCallback<void ()>, std::__Cr::allocator<base::OnceCallback<void ()> > >&&, viz::SkiaOutputSurfaceImpl::SyncMode&&, base::WaitableEvent*&&, viz::SkiaOutputSurfaceImplOnGpu*&&, bool&&, bool&&, base::TimeTicks&&>, base::internal::BindState<false, false, false, viz::SkiaOutputSurfaceImpl::FlushGpuTasksWithImpl(viz::SkiaOutputSurfaceImpl::SyncMode, viz::SkiaOutputSurfaceImplOnGpu*, gpu::SyncToken const&)::$_0, std::__Cr::vector<base::OnceCallback<void ()>, std::__Cr::allocator<base::OnceCallback<void ()> > >, viz::SkiaOutputSurfaceImpl::SyncMode, base::internal::UnretainedWrapper<base::WaitableEvent, base::unretained_traits::MayNotDangle, (partition_alloc::internal::RawPtrTraits)0>, base::internal::UnretainedWrapper<viz::SkiaOutputSurfaceImplOnGpu, base::unretained_traits::MayNotDangle, (partition_alloc::internal::RawPtrTraits)0>, bool, bool, base::TimeTicks>, void ()>::RunOnce(base::internal::BindStateBase*) [clone .bdd2f4b476431f35a425b2736da14483] [clone .cfi] ()
No symbol table info available.
#7  0x0000557f97f22fc6 in gpu::Scheduler::RunNextTask() ()
No symbol table info available.
#8  0x0000557f9bcd5cbb in base::TaskAnnotator::RunTaskImpl(base::PendingTask&) ()
No symbol table info available.
#9  0x0000557f9bcfceff in base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWork() ()
No symbol table info available.
#10 0x0000557f9bc79708 in base::MessagePumpDefault::Run(base::MessagePump::Delegate*) ()
No symbol table info available.
#11 0x0000557f9bcfdbdf in base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::Run(bool, base::TimeDelta) ()
--Type <RET> for more, q to quit, c to continue without paging--c
No symbol table info available.
#12 0x0000557f9bcb2702 in base::RunLoop::Run(base::Location const&) ()
No symbol table info available.
#13 0x0000557f9f2a5f4a in content::GpuMain(content::MainFunctionParams) [clone .cfi] ()
No symbol table info available.
#14 0x0000557f9a73e0cc in content::RunOtherNamedProcessTypeMain(std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> > const&, content::MainFunctionParams, content::ContentMainDelegate*) ()
No symbol table info available.
#15 0x0000557f9a73fb1b in content::ContentMainRunnerImpl::Run() ()
No symbol table info available.
#16 0x0000557f9a73cb5e in content::ContentMain(content::ContentMainParams) ()
No symbol table info available.
#17 0x0000557f955073d8 in ChromeMain ()
No symbol table info available.
#18 0x00007f74c6027675 in __libc_start_call_main (main=main@entry=0x557f95506f30 <main>, argc=argc@entry=6, 
    argv=argv@entry=0x7ffc48677bc8) at ../sysdeps/nptl/libc_start_call_main.h:58
        self = <optimized out>
        result = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, 5652498184572218174, 140721523227592, 6, 140139544387584, 94006700487336, 
                5652498184607869758, 5719758360155892542}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 
              0x557fa3d3af9a <__cxa_guard_release+51>, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = -1546408038}}}
        not_first_call = <optimized out>
#19 0x00007f74c6027729 in __libc_start_main_impl (main=0x557f95506f30 <main>, argc=6, argv=0x7ffc48677bc8, init=<optimized out>, 
    fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffc48677bb8) at ../csu/libc-start.c:360
No locals.
#20 0x0000557f94f33025 in _start ()
  • kernel 6.17.5
  • hyprland 0.51.0.r102.g057695b
  • nVidia 580.95.05
  • chromium 141.0.7390.122
  • brave 1.83.120

nvidia-bug-report.log.gz

Filed issue with egl-wayland2: Crash on chrome://gpu (chromium & brave) · Issue #16 · NVIDIA/egl-wayland2 · GitHub

Cc: @kbrenneman

EDIT:

This is a Hyprland regression.

  • Cannot reproduce on latest sway/wlroots git master.
  • Cannot reproduce on hyprland v0.51.1 tagged release.

EDIT2:

Not sure it’s hyprland’s fault yet.
Further narrowed this to only chromium versions 140+.
Does not crash thread with 139.0.7258.154, only spewing the EGL errors this topic is discussing.

I think I’ll just abandon this odd curiosity given how esoteric and niche the thread crash is.

My wild guess, it’s somehow related to the Xwayland stubs that get compiled in Hyprland when building without Xwayland support. Or some bits of unused GL that get compiled out.

-DNO_XWAYLAND:STRING=true

BUT… I build the same way on my Intel laptop and this issue does not occur.

Hyprland 0.51.0 built from branch main at commit b10b9660004b3dfaf9e11a305d78f24955b089a4 dirty (screencopy: fix missing XBGR2101010 format with screencopy_force_8b ( 12125)).
Date: Sat Oct 25 06:57:46 2025
Tag: v0.51.0-109-gb10b96600, commits: 6527

Libraries:
Hyprgraphics: built against 0.2.0, system has 0.2.0
Hyprutils: built against 0.10.0, system has 0.10.0
Hyprcursor: built against 0.1.13, system has 0.1.13
Hyprlang: built against 0.6.3, system has 0.6.3
Aquamarine: built against 0.9.5, system has 0.9.5

flags set:
no xwayland

So, it’s specific to nVidia+Hyprland (sans Xwayland) and only affects Chromium versions since 140.x.

If I build vanilla Hyprland (with Xwayland)… on the nVidia system… issue does not occur. Wth?

Having absolutely zero use for the pesky chrome://gpu page whatsoever… this is just a Waste of Time™!