RESOLVED FIXED 239941
[WPE][Debug] http/tests/media/video-redirect.html crashing
https://bugs.webkit.org/show_bug.cgi?id=239941
Summary [WPE][Debug] http/tests/media/video-redirect.html crashing
Philippe Normand
Reported 2022-05-01 03:53:42 PDT
Happens only with builds made with gcc... Thread 1 (Thread 0x7f0e77cb0640 (LWP 21165)): #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:49 #1 0x00007f0f1faa6867 in __GI_abort () at abort.c:79 #2 0x00007f0f1fe5f8f9 in __gnu_cxx::__verbose_terminate_handler() () at ../../../../libstdc++-v3/libsupc++/vterminate.cc:95 #3 0x00007f0f1fe6b62a in __cxxabiv1::__terminate(void (*)()) (handler=<optimized out>) at ../../../../libstdc++-v3/libsupc++/eh_terminate.cc:48 #4 0x00007f0f1fe6b695 in std::terminate() () at ../../../../libstdc++-v3/libsupc++/eh_terminate.cc:58 #5 0x00007f0f1fe6c4d3 in __cxxabiv1::__cxa_pure_virtual() () at ../../../../libstdc++-v3/libsupc++/pure.cc:50 #6 0x00007f0f2d1791d3 in WebCore::TextureMapperLayer::paintSelf(WebCore::TextureMapperPaintOptions&) (this=0x7f0ed8ee6000, options=...) at /app/webkit/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:201 #7 0x00007f0f2d1796c9 in WebCore::TextureMapperLayer::paintSelfAndChildren(WebCore::TextureMapperPaintOptions&) (this=0x7f0ed8ee6000, options=...) at /app/webkit/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:254 #8 0x00007f0f2d179d8d in WebCore::TextureMapperLayer::paintSelfAndChildrenWithReplica(WebCore::TextureMapperPaintOptions&) (this=0x7f0ed8ee6000, options=...) at /app/webkit/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:316 #9 0x00007f0f2d17b5d9 in WebCore::TextureMapperLayer::paintRecursive(WebCore::TextureMapperPaintOptions&) (this=0x7f0ed8ee6000, options=...) at /app/webkit/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:502 #10 0x00007f0f2d179a4d in WebCore::TextureMapperLayer::paintSelfAndChildren(WebCore::TextureMapperPaintOptions&) (this=0x7f0ed8ee9800, options=...) at /app/webkit/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:278 #11 0x00007f0f2d179d8d in WebCore::TextureMapperLayer::paintSelfAndChildrenWithReplica(WebCore::TextureMapperPaintOptions&) (this=0x7f0ed8ee9800, options=...) at /app/webkit/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:316 #12 0x00007f0f2d17b5d9 in WebCore::TextureMapperLayer::paintRecursive(WebCore::TextureMapperPaintOptions&) (this=0x7f0ed8ee9800, options=...) at /app/webkit/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:502 #13 0x00007f0f2d179a4d in WebCore::TextureMapperLayer::paintSelfAndChildren(WebCore::TextureMapperPaintOptions&) (this=0x7f0ed8ee9200, options=...) at /app/webkit/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:278 #14 0x00007f0f2d179d8d in WebCore::TextureMapperLayer::paintSelfAndChildrenWithReplica(WebCore::TextureMapperPaintOptions&) (this=0x7f0ed8ee9200, options=...) at /app/webkit/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:316 #15 0x00007f0f2d17b5d9 in WebCore::TextureMapperLayer::paintRecursive(WebCore::TextureMapperPaintOptions&) (this=0x7f0ed8ee9200, options=...) at /app/webkit/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:502 #16 0x00007f0f2d179a4d in WebCore::TextureMapperLayer::paintSelfAndChildren(WebCore::TextureMapperPaintOptions&) (this=0x7f0ed8ee6c00, options=...) at /app/webkit/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:278 #17 0x00007f0f2d179d8d in WebCore::TextureMapperLayer::paintSelfAndChildrenWithReplica(WebCore::TextureMapperPaintOptions&) (this=0x7f0ed8ee6c00, options=...) at /app/webkit/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:316 #18 0x00007f0f2d17b5d9 in WebCore::TextureMapperLayer::paintRecursive(WebCore::TextureMapperPaintOptions&) (this=0x7f0ed8ee6c00, options=...) at /app/webkit/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:502 #19 0x00007f0f2d179a4d in WebCore::TextureMapperLayer::paintSelfAndChildren(WebCore::TextureMapperPaintOptions&) (this=0x7f0ed8ee6600, options=...) at /app/webkit/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:278 #20 0x00007f0f2d179d8d in WebCore::TextureMapperLayer::paintSelfAndChildrenWithReplica(WebCore::TextureMapperPaintOptions&) (this=0x7f0ed8ee6600, options=...) at /app/webkit/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:316 #21 0x00007f0f2d17b5d9 in WebCore::TextureMapperLayer::paintRecursive(WebCore::TextureMapperPaintOptions&) (this=0x7f0ed8ee6600, options=...) at /app/webkit/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:502 #22 0x00007f0f2d179a4d in WebCore::TextureMapperLayer::paintSelfAndChildren(WebCore::TextureMapperPaintOptions&) (this=0x7f0ed8ee7800, options=...) at /app/webkit/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:278 #23 0x00007f0f2d179d8d in WebCore::TextureMapperLayer::paintSelfAndChildrenWithReplica(WebCore::TextureMapperPaintOptions&) (this=0x7f0ed8ee7800, options=...) at /app/webkit/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:316 #24 0x00007f0f2d17b5d9 in WebCore::TextureMapperLayer::paintRecursive(WebCore::TextureMapperPaintOptions&) (this=0x7f0ed8ee7800, options=...) at /app/webkit/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:502 #25 0x00007f0f2d179a4d in WebCore::TextureMapperLayer::paintSelfAndChildren(WebCore::TextureMapperPaintOptions&) (this=0x7f0ed8ee8600, options=...) at /app/webkit/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:278 #26 0x00007f0f2d179d8d in WebCore::TextureMapperLayer::paintSelfAndChildrenWithReplica(WebCore::TextureMapperPaintOptions&) (this=0x7f0ed8ee8600, options=...) at /app/webkit/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:316 #27 0x00007f0f2d17b5d9 in WebCore::TextureMapperLayer::paintRecursive(WebCore::TextureMapperPaintOptions&) (this=0x7f0ed8ee8600, options=...) at /app/webkit/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:502 #28 0x00007f0f2d179a4d in WebCore::TextureMapperLayer::paintSelfAndChildren(WebCore::TextureMapperPaintOptions&) (this=0x7f0ed8ee8000, options=...) at /app/webkit/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:278 #29 0x00007f0f2d179d8d in WebCore::TextureMapperLayer::paintSelfAndChildrenWithReplica(WebCore::TextureMapperPaintOptions&) (this=0x7f0ed8ee8000, options=...) at /app/webkit/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:316 #30 0x00007f0f2d17b5d9 in WebCore::TextureMapperLayer::paintRecursive(WebCore::TextureMapperPaintOptions&) (this=0x7f0ed8ee8000, options=...) at /app/webkit/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:502 #31 0x00007f0f2d17897b in WebCore::TextureMapperLayer::paint(WebCore::TextureMapper&) (this=0x7f0ed8ee8000, textureMapper=...) at /app/webkit/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:144 #32 0x00007f0f2a5d5515 in WebKit::CoordinatedGraphicsScene::paintToCurrentGLContext(WebCore::TransformationMatrix const&, WebCore::FloatRect const&, unsigned int) (this=0x7f0f1a82b000, matrix=..., clipRect=..., PaintFlags=0) at /app/webkit/Source/WebKit/Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:78 #33 0x00007f0f2a5f6ddd in WebKit::ThreadedCompositor::renderLayerTree() (this=0x7f0f1a83eb80) at /app/webkit/Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:240 #34 0x00007f0f2a5f5d9d in operator()() const (__closure=0x7f0f1a840d68) at /app/webkit/Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:58 #35 0x00007f0f2a5fa8ec in WTF::Detail::CallableWrapper<WebKit::ThreadedCompositor::ThreadedCompositor(WebKit::ThreadedCompositor::Client&, WebKit::ThreadedDisplayRefreshMonitor::Client&, WebCore::PlatformDisplayID, const WebCore::IntSize&, float, WebCore::TextureMapper::PaintFlags)::<lambda()>, void>::call(void) (this=0x7f0f1a840d60) at /app/webkit/WebKitBuild/Debug/WTF/Headers/wtf/Function.h:53 #36 0x00007f0f298d0ce5 in WTF::Function<void ()>::operator()() const (this=0x7f0f1a846948) at /app/webkit/WebKitBuild/Debug/WTF/Headers/wtf/Function.h:82 #37 0x00007f0f2a5d8b8c in WebKit::CompositingRunLoop::updateTimerFired() (this=0x7f0f1a846910) at /app/webkit/Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp:188 #38 0x00007f0f2a5f5a52 in std::__invoke_impl<void, void (WebKit::CompositingRunLoop::*&)(), WebKit::CompositingRunLoop*&>(std::__invoke_memfun_deref, void (WebKit::CompositingRunLoop::*&)(), WebKit::CompositingRunLoop*&) (__f=@0x7f0f1a861ca8: (void (WebKit::CompositingRunLoop::*)(class WebKit::CompositingRunLoop * const)) 0x7f0f2a5d8b14 <WebKit::CompositingRunLoop::updateTimerFired()>, __t=@0x7f0f1a861cb8: 0x7f0f1a846910) at /usr/include/c++/11.2.0/bits/invoke.h:74 #39 0x00007f0f2a5f59cb in std::__invoke<void (WebKit::CompositingRunLoop::*&)(), WebKit::CompositingRunLoop*&>(void (WebKit::CompositingRunLoop::*&)(), WebKit::CompositingRunLoop*&) (__fn=@0x7f0f1a861ca8: (void (WebKit::CompositingRunLoop::*)(class WebKit::CompositingRunLoop * const)) 0x7f0f2a5d8b14 <WebKit::CompositingRunLoop::updateTimerFired()>) at /usr/include/c++/11.2.0/bits/invoke.h:96 #40 0x00007f0f2a5f5941 in std::_Bind<void (WebKit::CompositingRunLoop::*(WebKit::CompositingRunLoop*))()>::__call<void, , 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) (this=0x7f0f1a861ca8, __args=...) at /usr/include/c++/11.2.0/functional:420 #41 0x00007f0f2a5f58d3 in std::_Bind<void (WebKit::CompositingRunLoop::*(WebKit::CompositingRunLoop*))()>::operator()<, void>() (this=0x7f0f1a861ca8) at /usr/include/c++/11.2.0/functional:503 #42 0x00007f0f2a5f587c in WTF::Detail::CallableWrapper<std::_Bind<void (WebKit::CompositingRunLoop::*(WebKit::CompositingRunLoop*))()>, void>::call() (this=0x7f0f1a861ca0) at /app/webkit/WebKitBuild/Debug/WTF/Headers/wtf/Function.h:53 #43 0x00007f0f298d0ce5 in WTF::Function<void ()>::operator()() const (this=0x7f0f1a846940) at /app/webkit/WebKitBuild/Debug/WTF/Headers/wtf/Function.h:82 #44 0x00007f0f2a5f589c in WTF::RunLoop::Timer<WebKit::CompositingRunLoop>::fired() (this=0x7f0f1a846918) at /app/webkit/WebKitBuild/Debug/WTF/Headers/wtf/RunLoop.h:188 #45 0x00007f0f2cf6efb7 in operator()(gpointer) const (__closure=0x0, userData=0x7f0f1a846918) at /app/webkit/Source/WTF/wtf/glib/RunLoopGLib.cpp:177 #46 0x00007f0f2cf6eff7 in _FUN(gpointer) () at /app/webkit/Source/WTF/wtf/glib/RunLoopGLib.cpp:181 #47 0x00007f0f2cf6e509 in operator()(GSource*, GSourceFunc, gpointer) const (__closure=0x0, source=0x55d12f4b1f60, callback=0x7f0f2cf6efda <_FUN(gpointer)>, userData=0x7f0f1a846918) at /app/webkit/Source/WTF/wtf/glib/RunLoopGLib.cpp:53 #48 0x00007f0f2cf6e557 in _FUN(GSource*, GSourceFunc, gpointer) () at /app/webkit/Source/WTF/wtf/glib/RunLoopGLib.cpp:56 #49 0x00007f0f20290294 in g_main_dispatch (context=0x7f0e60000b60) at ../glib/gmain.c:3381 #50 g_main_context_dispatch (context=0x7f0e60000b60) at ../glib/gmain.c:4099 #51 0x00007f0f20290638 in g_main_context_iterate (context=0x7f0e60000b60, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4175 #52 0x00007f0f20290943 in g_main_loop_run (loop=0x7f0e60001cb0) at ../glib/gmain.c:4373 #53 0x00007f0f2cf6ebc2 in WTF::RunLoop::run() () at /app/webkit/Source/WTF/wtf/glib/RunLoopGLib.cpp:108 #54 0x00007f0f2a5d8233 in operator()() const (__closure=0x7f0f1a83f230) at /app/webkit/Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp:49 #55 0x00007f0f2a5dd366 in WTF::Detail::CallableWrapper<WebKit::createRunLoop()::<lambda()>, void>::call(void) (this=0x7f0f1a83f228) at /app/webkit/WebKitBuild/Debug/WTF/Headers/wtf/Function.h:53 #56 0x00007f0f298d0ce5 in WTF::Function<void ()>::operator()() const (this=0x7f0e77cafb80) at /app/webkit/WebKitBuild/Debug/WTF/Headers/wtf/Function.h:82 #57 0x00007f0f2ceca517 in WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*) (newThreadContext=0x7f0f1a846960) at /app/webkit/Source/WTF/wtf/Threading.cpp:235 #58 0x00007f0f2cf7b7d7 in WTF::wtfThreadEntryPoint(void*) (context=0x7f0f1a846960) at /app/webkit/Source/WTF/wtf/posix/ThreadingPOSIX.cpp:242 #59 0x00007f0f1d88e3ba in start_thread (arg=0x7f0e77cb0640) at pthread_create.c:481 #60 0x00007f0f1fb85b03 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 STDERR: pure virtual method called STDERR: terminate called without an active exception STDERR: WPEWebProcess terminated (pid 20903) for reason: crash
Attachments
Philippe Normand
Comment 1 2022-05-01 03:54:31 PDT
Not sure how to fix this properly, this might be a workaround... diff --git a/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp b/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp index 49e80eeb6e40..63e8f3d4ad36 100644 --- a/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp +++ b/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp @@ -182,7 +182,7 @@ void TextureMapperLayer::paintSelf(TextureMapperPaintOptions& options) solidColorLayer.setColor(m_state.solidColor); contentsLayer = &solidColorLayer; } - if (!contentsLayer) + if (!contentsLayer || !contentsLayer->client()) return; if (!m_state.contentsTileSize.isEmpty()) { diff --git a/Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayer.h b/Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayer.h index 12f56ab813ba..0d3c43578f96 100644 --- a/Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayer.h +++ b/Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayer.h @@ -45,9 +45,7 @@ public: } void setClient(TextureMapperPlatformLayer::Client* client) { m_client = client; } - -protected: - TextureMapperPlatformLayer::Client* client() { return m_client; } + TextureMapperPlatformLayer::Client* client() const { return m_client; } private: TextureMapperPlatformLayer::Client* m_client { nullptr };
Philippe Normand
Comment 2 2022-05-01 04:56:26 PDT
Also affected by this crash: fast/mediastream/getUserMedia-rvfc.html [ Crash ] fast/mediastream/getUserMedia-video-rescaling.html [ Crash ] fast/mediastream/mediastreamtrack-video-clone.html [ Crash ] fast/mediastream/play-newly-added-audio-track.html [ Crash ] http/wpt/mediarecorder/set-srcObject-MediaStream-Blob.html [ Crash ]
Philippe Normand
Comment 3 2022-06-29 08:53:03 PDT
Looks like that was fixed.
Note You need to log in before you can comment on or make changes to this bug.