Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-128309

[macOS] Crash on rendering on Intel Macs with Metal RHI

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P1: Critical
    • None
    • 6.7.2, 6.7.3
    • WebEngine
    • None
    • MacBook Pro 15" (Retina, Touch, 2018/2019) macOS 14.6.1
      MacBook Pro 16" (Retina, Touch, Mid-2019) macOS 14.6.1

    • macOS

    Description

      There are crashes on rendering with Metal RHI. Looks like this happens on Intel Macs only.
      I can't reproduce it locally, just found it among our users crash reports on AppCenter.

      Exception Type:  SIGSEGV
      Exception Codes: SEGV_MAPERR at 0x10f0
      Crashed Thread:  10
      
      Thread 10 Crashed:
      0   AMDRadeonX4000GLDriver               0x000000015e235d15 0x15e20d000 + 167189
      1   AMDRadeonX4000GLDriver               0x000000015e268315 0x15e20d000 + 373525
      2   GLEngine                             0x00007ffa2beb1b84 glDrawArrays_ACC_GL3Exec + 352
      3   QtWebEngineCore                      0x0000000122f6b846 rx::ContextGL::drawArrays(gl::Context const*, gl::PrimitiveMode, int, int) (ContextGL.cpp:336)
      4   QtWebEngineCore                      0x00000001272caa2a GL_DrawArrays (Context.inl.h:149)
      5   QtWebEngineCore                      0x00000001272b7824 GrGLFunction<void (unsigned int, int, int)>::GrGLFunction<gl::init::(anonymous namespace)::bind_impl<true, true, false, void, unsigned int, int, int>(GrGLFunction<void (unsigned int, int, int)>, void (*)(unsigned int, int, int), gl::ProgressReporter*)::'lambda'(unsigned int, int, int)>(gl::init::(anonymous namespace)::bind_impl<true, true, false, void, unsigned int, int, int>(GrGLFunction<void (unsigned int, int, int)>, void (*)(unsigned int, int, int), gl::ProgressReporter*)::'lambda'(unsigned int, int, int))::'lambda'(void const*, unsigned int, int, int)::__invoke(void const*, unsigned int, int, int) (create_gr_gl_interface.cc:158)
      6   QtWebEngineCore                      0x0000000125a73458 GrGLOpsRenderPass::onDraw(int, int) (GrGLFunctions.h:294)
      7   QtWebEngineCore                      0x00000001259afe5b (anonymous namespace)::FillRectOpImpl::onExecute(GrOpFlushState*, SkRect const&) (FillRectOp.cpp:320)
      8   QtWebEngineCore                      0x00000001259c0cd7 GrOp::execute(GrOpFlushState*, SkRect const&) (GrOp.h:193)
      9   QtWebEngineCore                      0x00000001259c0ad7 skgpu::ganesh::OpsTask::onExecute(GrOpFlushState*) (OpsTask.cpp:648)
      10  QtWebEngineCore                      0x00000001259086d6 GrDrawingManager::executeRenderTasks(GrOpFlushState*) (GrRenderTask.h:42)
      11  QtWebEngineCore                      0x0000000125907fef GrDrawingManager::flush(SkSpan<GrSurfaceProxy*>, SkSurfaces::BackendSurfaceAccess, GrFlushInfo const&, skgpu::MutableTextureState const*) (GrDrawingManager.cpp:194)
      12  QtWebEngineCore                      0x0000000125908a9c GrDrawingManager::flushSurfaces(SkSpan<GrSurfaceProxy*>, SkSurfaces::BackendSurfaceAccess, GrFlushInfo const&, skgpu::MutableTextureState const*) (GrDrawingManager.cpp:521)
      13  QtWebEngineCore                      0x000000012590253f GrDirectContextPriv::flushSurfaces(SkSpan<GrSurfaceProxy*>, SkSurfaces::BackendSurfaceAccess, GrFlushInfo const&, skgpu::MutableTextureState const*) (GrDirectContextPriv.cpp:67)
      14  QtWebEngineCore                      0x00000001258fef07 GrDirectContext::flush(SkSurface*, GrFlushInfo const&, skgpu::MutableTextureState const*) (GrDirectContextPriv.h:64)
      15  QtWebEngineCore                      0x00000001259dc449 skgpu::ganesh::Flush(SkSurface*) (SkSurface_Ganesh.cpp:781)
      16  QtWebEngineCore                      0x0000000127ccd98d gpu::raster::RasterDecoderImpl::FlushSurface(gpu::SkiaImageRepresentation::ScopedWriteAccess*) (raster_decoder.cc:790)
      17  QtWebEngineCore                      0x0000000127cc7e1b gpu::raster::RasterDecoderImpl::DoEndRasterCHROMIUM() (raster_decoder.cc:3189)
      18  QtWebEngineCore                      0x0000000127cc6989 gpu::raster::RasterDecoderImpl::HandleEndRasterCHROMIUM(unsigned int, void const volatile*) (raster_decoder_autogen.h:161)
      19  QtWebEngineCore                      0x0000000127cc9698 gpu::error::Error gpu::raster::RasterDecoderImpl::DoCommandsImpl<false>(unsigned int, void const volatile*, int, int*) (raster_decoder.cc:1554)
      20  QtWebEngineCore                      0x00000001276e49ae gpu::CommandBufferService::Flush(int, gpu::AsyncAPIInterface*) (command_buffer_service.cc:232)
      21  QtWebEngineCore                      0x0000000127d26c99 gpu::CommandBufferStub::OnAsyncFlush(int, unsigned int, std::__1::vector<gpu::SyncToken, std::__1::allocator<gpu::SyncToken> > const&) (command_buffer_stub.cc:508)
      22  QtWebEngineCore                      0x0000000127d26953 gpu::CommandBufferStub::ExecuteDeferredRequest(gpu::mojom::DeferredCommandBufferRequestParams&) (command_buffer_stub.cc:154)
      23  QtWebEngineCore                      0x0000000127d2ca74 gpu::GpuChannel::ExecuteDeferredRequest(mojo::StructPtr<gpu::mojom::DeferredRequestParams>) (gpu_channel.cc:752)
      24  QtWebEngineCore                      0x0000000127d309d9 base::internal::Invoker<base::internal::BindState<void (gpu::GpuChannel::*)(mojo::StructPtr<gpu::mojom::DeferredRequestParams>), base::WeakPtr<gpu::GpuChannel>, mojo::StructPtr<gpu::mojom::DeferredRequestParams> >, void ()>::RunOnce(base::internal::BindStateBase*) (bind_internal.h:713)
      25  QtWebEngineCore                      0x00000001276f1c1e gpu::SchedulerDfs::ExecuteSequence(base::IdType<gpu::SyncPointOrderData, unsigned int, 0u, 1u>) (callback.h:152)
      26  QtWebEngineCore                      0x00000001276f1052 gpu::SchedulerDfs::RunNextTask() (scheduler_dfs.cc:679)
      27  QtWebEngineCore                      0x000000012543e380 base::TaskAnnotator::RunTaskImpl(base::PendingTask&) (callback.h:152)
      28  QtWebEngineCore                      0x000000012545ebe8 base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWorkImpl(base::LazyNow*) (task_annotator.h:89)
      29  QtWebEngineCore                      0x000000012545e6a7 base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWork() (thread_controller_with_message_pump_impl.cc:345)
      30  QtWebEngineCore                      0x000000012545f2b5 non-virtual thunk to base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWork() (thread_controller_with_message_pump_impl.cc:0)
      31  QtWebEngineCore                      0x00000001253e3395 base::MessagePumpDefault::Run(base::MessagePump::Delegate*) (message_pump_default.cc:40)
      32  QtWebEngineCore                      0x000000012545f590 base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::Run(bool, base::TimeDelta) (thread_controller_with_message_pump_impl.cc:645)
      33  QtWebEngineCore                      0x0000000125415a87 base::RunLoop::Run(base::Location const&) (run_loop.cc:134)
      34  QtWebEngineCore                      0x0000000125488b48 base::Thread::Run(base::RunLoop*) (thread.cc:337)
      35  QtWebEngineCore                      0x0000000125488ccb base::Thread::ThreadMain() (thread.cc:409)
      36  QtWebEngineCore                      0x00000001254a3519 base::(anonymous namespace)::ThreadFunc(void*) (platform_thread_posix.cc:101)
      37  libsystem_pthread.dylib              0x00007ff80f39d18b _pthread_start + 98
      38  libsystem_pthread.dylib              0x00007ff80f398ae3 thread_start + 14
      

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              qt_webengine_team Qt WebEngine Team
              studiosus Vladimir Belyavsky
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:

                Gerrit Reviews

                  There are no open Gerrit changes