WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
NEW
289275
[ macOS ] media/media-garbage-collection.html is a flaky failure timeout crash: Unsafe to ref/deref from different threads
https://bugs.webkit.org/show_bug.cgi?id=289275
Summary
[ macOS ] media/media-garbage-collection.html is a flaky failure timeout cras...
Karl Rackler
Reported
2025-03-06 13:15:13 PST
Description: media/media-garbage-collection.html The test was added at
269165@main
and has been a flaky failure and timeout since then on macOS Release. The flaky crash is confined to macOS Debug wk1, while the flaky timeout fail is confined to macOS Release. The flaky crash looks to have begun at approximately
289805@main
. I am having trouble reproducing this issue. History: flaky failure timeout:
https://results.webkit.org/?suite=layout-tests&test=media%2Fmedia-garbage-collection.html&platform=mac&style=release&recent=false
flaky crash:
https://results.webkit.org/?suite=layout-tests&test=media%2Fmedia-garbage-collection.html&platform=mac&style=debug&flavor=wk1
Crash Log: No crash log found for DumpRenderTree:51548. stdout: stderr: ASSERTION FAILED: Unsafe to ref/deref from different threads m_isOwnedByMainThread == isMainThread() /Volumes/Data/worker/Apple-Sonoma-Debug-Build/build/WebKitBuild/Debug/usr/local/include/wtf/RefCounted.h(119) : void WTF::RefCountedBase::applyRefDerefThreadingCheck() const 1 0x123d23c14 WTF::RefCountedBase::applyRefDerefThreadingCheck() const 2 0x123d26144 WTF::RefCountedBase::ref() const 3 0x12429b04c WTF::DefaultRefDerefTraits<WebCore::MediaPlaybackTarget>::refIfNotNull(WebCore::MediaPlaybackTarget*) 4 0x12429b004 WTF::RefPtr<WebCore::MediaPlaybackTarget, WTF::RawPtrTraits<WebCore::MediaPlaybackTarget>, WTF::DefaultRefDerefTraits<WebCore::MediaPlaybackTarget>>::RefPtr(WTF::RefPtr<WebCore::MediaPlaybackTarget, WTF::RawPtrTraits<WebCore::MediaPlaybackTarget>, WTF::DefaultRefDerefTraits<WebCore::MediaPlaybackTarget>> const&) 5 0x124242014 WTF::RefPtr<WebCore::MediaPlaybackTarget, WTF::RawPtrTraits<WebCore::MediaPlaybackTarget>, WTF::DefaultRefDerefTraits<WebCore::MediaPlaybackTarget>>::RefPtr(WTF::RefPtr<WebCore::MediaPlaybackTarget, WTF::RawPtrTraits<WebCore::MediaPlaybackTarget>, WTF::DefaultRefDerefTraits<WebCore::MediaPlaybackTarget>> const&) 6 0x124234adc WebCore::MediaPlayerPrivateAVFoundationObjC::isCurrentPlaybackTargetWireless() const 7 0x124239d58 WebCore::MediaPlayerPrivateAVFoundationObjC::hasAudio() const 8 0x129f50938 WebCore::MediaPlayer::hasAudio() const 9 0x128d57994 WebCore::HTMLMediaElement::hasAudio() const 10 0x128d62700 WebCore::HTMLMediaElement::canProduceAudio() const 11 0x128d63a8c WebCore::HTMLMediaElement::virtualHasPendingActivity() const 12 0x124591564 WebCore::ActiveDOMObject::hasPendingActivity() const 13 0x12542f684 WebCore::JSHTMLVideoElementOwner::isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void*, JSC::AbstractSlotVisitor&, WTF::ASCIILiteral*) 14 0x11acd9574 void JSC::WeakBlock::specializedVisit<JSC::PreciseAllocation, JSC::SlotVisitor>(JSC::PreciseAllocation&, JSC::SlotVisitor&) 15 0x11accb9b4 void JSC::WeakBlock::visitImpl<JSC::SlotVisitor>(JSC::SlotVisitor&) 16 0x11accb8e8 JSC::WeakBlock::visit(JSC::SlotVisitor&) 17 0x11ac44d68 WTF::Ref<WTF::SharedTask<void (JSC::SlotVisitor&)>, WTF::RawPtrTraits<WTF::SharedTask<void (JSC::SlotVisitor&)>>, WTF::DefaultRefDerefTraits<WTF::SharedTask<void (JSC::SlotVisitor&)>>> JSC::MarkedSpace::forEachWeakInParallel<JSC::SlotVisitor&>(JSC::SlotVisitor&)::Task::run(JSC::SlotVisitor&) 18 0x11aca0358 JSC::MarkingConstraint::doParallelWork(JSC::SlotVisitor&, WTF::SharedTask<void (JSC::SlotVisitor&)>&) 19 0x11aca1af8 JSC::MarkingConstraintSolver::runExecutionThread(JSC::SlotVisitor&, JSC::MarkingConstraintSolver::SchedulerPreference, WTF::ScopedLambda<std::__1::optional<unsigned int> ()>) 20 0x11acb8aac JSC::MarkingConstraintSolver::execute(JSC::MarkingConstraintSolver::SchedulerPreference, WTF::ScopedLambda<std::__1::optional<unsigned int> ()>)::$_35::operator()(JSC::SlotVisitor&) const 21 0x11acb8a34 WTF::SharedTaskFunctor<void (JSC::SlotVisitor&), JSC::MarkingConstraintSolver::execute(JSC::MarkingConstraintSolver::SchedulerPreference, WTF::ScopedLambda<std::__1::optional<unsigned int> ()>)::$_35>::run(JSC::SlotVisitor&) 22 0x11acbf0c8 JSC::SlotVisitor::drainFromShared(JSC::SlotVisitor::SharedDrainMode, WTF::MonotonicTime) 23 0x11ac2e668 JSC::Heap::runBeginPhase(JSC::GCConductor)::$_15::operator()() const 24 0x11ac2e554 WTF::SharedTaskFunctor<void (), JSC::Heap::runBeginPhase(JSC::GCConductor)::$_15>::run() 25 0x1194c09a4 WTF::ParallelHelperClient::runTask(WTF::RefPtr<WTF::SharedTask<void ()>, WTF::RawPtrTraits<WTF::SharedTask<void ()>>, WTF::DefaultRefDerefTraits<WTF::SharedTask<void ()>>> const&) 26 0x1194c1a44 WTF::ParallelHelperPool::Thread::work() 27 0x119400bb8 WTF::AutomaticThread::start(WTF::AbstractLocker const&)::$_0::operator()() const 28 0x119400768 WTF::Detail::CallableWrapper<WTF::AutomaticThread::start(WTF::AbstractLocker const&)::$_0, void>::call() 29 0x11941f9e0 WTF::Function<void ()>::operator()() const 30 0x119572ef4 WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*) 31 0x11957f770 WTF::wtfThreadEntryPoint(void*) Test Run:
https://build.webkit.org/#/builders/949/builds/6061
layout-tests Full log: 06:45:04.712 46697 worker/0 This test marked as a crash because of no data while reading stdout for the server process. 06:45:04.712 46697 worker/0 This test marked as a crash because of no data while reading stdout for the server process. 06:45:04.712 46697 worker/0 Test media/media-garbage-collection.html crashed, we will now gather a crash log. 06:47:04.757 46697 worker/0 worker/0 media/media-garbage-collection.html crashed, (stderr lines): 06:47:04.757 46697 worker/0 ASSERTION FAILED: Unsafe to ref/deref from different threads Diff: @@ -5,7 +5,7 @@ Test 2: Test that the media element is not collected between load() and "loadstart" EVENT(loadstart) -EXPECTED (weakVideo.wasCollected == 'false') OK +EXPECTED (weakVideo.wasCollected == 'false'), OBSERVED 'true', AFTER TIMEOUT FAIL Test 3: Test that the media element is not collected during playback Test Run:
https://build.webkit.org/#/builders/931/builds/8402
layout-tests Full log: 03:56:53.941 95887 [72903/74055] media/media-garbage-collection.html failed unexpectedly (text diff) 03:56:53.941 95887 worker/0 media/media-garbage-collection.html failed: 03:56:53.941 95887 worker/0 text diff
Attachments
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2025-03-06 13:15:33 PST
<
rdar://problem/146416725
>
EWS
Comment 2
2025-03-06 13:24:48 PST
Test gardening commit
291727@main
(a18a55d0554e): <
https://commits.webkit.org/291727@main
> Reviewed commits have been landed. Closing PR #42030 and removing active labels.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug