WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
217525
ASSERTION FAILED: REGRESSION(
r268052
?): WTF::CompletionHandler<void ()>::~CompletionHandler(): Completion handler should always be called !m_function
https://bugs.webkit.org/show_bug.cgi?id=217525
Summary
ASSERTION FAILED: REGRESSION(r268052?): WTF::CompletionHandler<void ()>::~Com...
Hector Lopez
Reported
2020-10-09 12:02:28 PDT
Created
attachment 410959
[details]
Crash log fo imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-stop.html imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-stop.html Test is a flaky failure according to history on macOS Catalina wk2 Debug. First occurrence of failure is at
r268054
but I believe this crash might be associated with change at
r268052
. History:
https://results.webkit.org/?suite=layout-tests&test=imported%2Fw3c%2Fweb-platform-tests%2Fmediacapture-record%2FMediaRecorder-stop.html&platform=mac&version_name=Catalina&style=debug&flavor=wk2
Crash log as seen on stderr: ASSERTION FAILED: Completion handler should always be called !m_function /Volumes/Data/slave/catalina-debug/build/WebKitBuild/Debug/usr/local/include/wtf/CompletionHandler.h(53) : WTF::CompletionHandler<void ()>::~CompletionHandler() 1 0x68e144699 WTFCrash 2 0x66df885f7 WTF::CompletionHandler<void ()>::~CompletionHandler() 3 0x66df88595 WTF::CompletionHandler<void ()>::~CompletionHandler() 4 0x66ffa5b76 WebCore::MediaRecorderPrivateWriter::flushCompressedSampleBuffers(WTF::CompletionHandler<void ()>&&)::$_4::~$_4() 5 0x66ff9f3d5 WebCore::MediaRecorderPrivateWriter::flushCompressedSampleBuffers(WTF::CompletionHandler<void ()>&&)::$_4::~$_4() 6 0x66ffa5262 WTF::BlockPtr<void ()> WTF::BlockPtr<void ()>::fromCallable<WebCore::MediaRecorderPrivateWriter::flushCompressedSampleBuffers(WTF::CompletionHandler<void ()>&&)::$_4>(WebCore::MediaRecorderPrivateWriter::flushCompressedSampleBuffers(WTF::CompletionHandler<void ()>&&)::$_4)::'lambda'(void const*)::operator()(void const*) const 7 0x66ffa5205 WTF::BlockPtr<void ()> WTF::BlockPtr<void ()>::fromCallable<WebCore::MediaRecorderPrivateWriter::flushCompressedSampleBuffers(WTF::CompletionHandler<void ()>&&)::$_4>(WebCore::MediaRecorderPrivateWriter::flushCompressedSampleBuffers(WTF::CompletionHandler<void ()>&&)::$_4)::'lambda'(void const*)::__invoke(void const*) 8 0x7fff692b5bd5 _Block_release 9 0x7fff2aad3ebd -[AVAssetWriterInputMediaDataRequester dealloc] 10 0x7fff2aacc81e -[AVAssetWriterInputWritingHelper dealloc] 11 0x7fff318c0f12 NSKVODeallocate 12 0x7fff2aac8f2a -[AVAssetWriterInput dealloc] 13 0x7fff318c0f12 NSKVODeallocate 14 0x66ffaca59 WTF::RetainPtr<AVAssetWriterInput>::~RetainPtr() 15 0x66ff9ce05 WTF::RetainPtr<AVAssetWriterInput>::~RetainPtr() 16 0x66ff9cf4f WebCore::MediaRecorderPrivateWriter::~MediaRecorderPrivateWriter() 17 0x66ff9d235 WebCore::MediaRecorderPrivateWriter::~MediaRecorderPrivateWriter() 18 0x66ffaa99a WTF::ThreadSafeRefCounted<WebCore::MediaRecorderPrivateWriter, (WTF::DestructionThread)1>::deref() const::'lambda'()::operator()() const 19 0x66ffaa8f7 WTF::ThreadSafeRefCounted<WebCore::MediaRecorderPrivateWriter, (WTF::DestructionThread)1>::deref() const 20 0x66ffaa82f WTF::Ref<WebCore::MediaRecorderPrivateWriter, WTF::DumbPtrTraits<WebCore::MediaRecorderPrivateWriter> >::~Ref() 21 0x66ff9c705 WTF::Ref<WebCore::MediaRecorderPrivateWriter, WTF::DumbPtrTraits<WebCore::MediaRecorderPrivateWriter> >::~Ref() 22 0x6722a6e5b WebCore::MediaRecorderPrivateAVFImpl::~MediaRecorderPrivateAVFImpl() 23 0x6722a6ea5 WebCore::MediaRecorderPrivateAVFImpl::~MediaRecorderPrivateAVFImpl() 24 0x6722a6eec WebCore::MediaRecorderPrivateAVFImpl::~MediaRecorderPrivateAVFImpl() 25 0x66fff2a4f std::__1::default_delete<WebCore::MediaRecorderPrivate>::operator()(WebCore::MediaRecorderPrivate*) const 26 0x66fff29cf std::__1::unique_ptr<WebCore::MediaRecorderPrivate, std::__1::default_delete<WebCore::MediaRecorderPrivate> >::reset(WebCore::MediaRecorderPrivate*) 27 0x66fff2969 std::__1::unique_ptr<WebCore::MediaRecorderPrivate, std::__1::default_delete<WebCore::MediaRecorderPrivate> >::~unique_ptr() 28 0x66ffe0bd5 std::__1::unique_ptr<WebCore::MediaRecorderPrivate, std::__1::default_delete<WebCore::MediaRecorderPrivate> >::~unique_ptr() 29 0x66ffe10a1 WebCore::MediaRecorder::~MediaRecorder() 30 0x66ffe1245 WebCore::MediaRecorder::~MediaRecorder() 31 0x66ffe12cc WebCore::MediaRecorder::~MediaRecorder() LEAK: 1 WebPageProxy See attachment for full crash log
Attachments
Crash log fo imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-stop.html
(115.30 KB, text/plain)
2020-10-09 12:02 PDT
,
Hector Lopez
no flags
Details
Patch
(7.49 KB, patch)
2020-10-12 02:55 PDT
,
youenn fablet
no flags
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2020-10-09 12:02:45 PDT
<
rdar://problem/70147564
>
Hector Lopez
Comment 2
2020-10-09 12:24:21 PDT
Test expectation while investigated:
https://trac.webkit.org/changeset/268274/webkit
Hector Lopez
Comment 3
2020-10-09 16:28:53 PDT
imported/w3c/web-platform-tests/mediacapture-record/idlharness.window.html Test is also a flaky crash according to history on macOS Catalina Debug with he seem ASSERTION FAILED. First occurrence of crash is at
r268069
History:
https://results.webkit.org/?suite=layout-tests&test=imported%2Fw3c%2Fweb-platform-tests%2Fmediacapture-record%2Fidlharness.window.html&version_name=Catalina&style=debug&flavor=wk2
Stderr: ASSERTION FAILED: Completion handler should always be called !m_function /Volumes/Data/slave/catalina-debug/build/WebKitBuild/Debug/usr/local/include/wtf/CompletionHandler.h(53) : WTF::CompletionHandler<void ()>::~CompletionHandler() 1 0x2d025cbf9 WTFCrash 2 0x2b00722b7 WTF::CompletionHandler<void ()>::~CompletionHandler() 3 0x2b0072255 WTF::CompletionHandler<void ()>::~CompletionHandler() 4 0x2b208f6f6 WebCore::MediaRecorderPrivateWriter::flushCompressedSampleBuffers(WTF::CompletionHandler<void ()>&&)::$_4::~$_4() 5 0x2b2088f55 WebCore::MediaRecorderPrivateWriter::flushCompressedSampleBuffers(WTF::CompletionHandler<void ()>&&)::$_4::~$_4() 6 0x2b208ede2 WTF::BlockPtr<void ()> WTF::BlockPtr<void ()>::fromCallable<WebCore::MediaRecorderPrivateWriter::flushCompressedSampleBuffers(WTF::CompletionHandler<void ()>&&)::$_4>(WebCore::MediaRecorderPrivateWriter::flushCompressedSampleBuffers(WTF::CompletionHandler<void ()>&&)::$_4)::'lambda'(void const*)::operator()(void const*) const 7 0x2b208ed85 WTF::BlockPtr<void ()> WTF::BlockPtr<void ()>::fromCallable<WebCore::MediaRecorderPrivateWriter::flushCompressedSampleBuffers(WTF::CompletionHandler<void ()>&&)::$_4>(WebCore::MediaRecorderPrivateWriter::flushCompressedSampleBuffers(WTF::CompletionHandler<void ()>&&)::$_4)::'lambda'(void const*)::__invoke(void const*) 8 0x7fff6f569bd5 _Block_release 9 0x7fff30d87ebd -[AVAssetWriterInputMediaDataRequester dealloc] 10 0x7fff30d8081e -[AVAssetWriterInputWritingHelper dealloc] 11 0x7fff37b74f12 NSKVODeallocate 12 0x7fff30d7cf2a -[AVAssetWriterInput dealloc] 13 0x7fff37b74f12 NSKVODeallocate 14 0x2b20965f9 WTF::RetainPtr<AVAssetWriterInput>::~RetainPtr() 15 0x2b2086985 WTF::RetainPtr<AVAssetWriterInput>::~RetainPtr() 16 0x2b2086acf WebCore::MediaRecorderPrivateWriter::~MediaRecorderPrivateWriter() 17 0x2b2086db5 WebCore::MediaRecorderPrivateWriter::~MediaRecorderPrivateWriter() 18 0x2b209453a WTF::ThreadSafeRefCounted<WebCore::MediaRecorderPrivateWriter, (WTF::DestructionThread)1>::deref() const::'lambda'()::operator()() const 19 0x2b2094497 WTF::ThreadSafeRefCounted<WebCore::MediaRecorderPrivateWriter, (WTF::DestructionThread)1>::deref() const 20 0x2b20943cf WTF::Ref<WebCore::MediaRecorderPrivateWriter, WTF::DumbPtrTraits<WebCore::MediaRecorderPrivateWriter> >::~Ref() 21 0x2b2086285 WTF::Ref<WebCore::MediaRecorderPrivateWriter, WTF::DumbPtrTraits<WebCore::MediaRecorderPrivateWriter> >::~Ref() 22 0x2b4394bcb WebCore::MediaRecorderPrivateAVFImpl::~MediaRecorderPrivateAVFImpl() 23 0x2b4394c15 WebCore::MediaRecorderPrivateAVFImpl::~MediaRecorderPrivateAVFImpl() 24 0x2b4394c5c WebCore::MediaRecorderPrivateAVFImpl::~MediaRecorderPrivateAVFImpl() 25 0x2b20dc5ef std::__1::default_delete<WebCore::MediaRecorderPrivate>::operator()(WebCore::MediaRecorderPrivate*) const 26 0x2b20dc56f std::__1::unique_ptr<WebCore::MediaRecorderPrivate, std::__1::default_delete<WebCore::MediaRecorderPrivate> >::reset(WebCore::MediaRecorderPrivate*) 27 0x2b20dc509 std::__1::unique_ptr<WebCore::MediaRecorderPrivate, std::__1::default_delete<WebCore::MediaRecorderPrivate> >::~unique_ptr() 28 0x2b20ca775 std::__1::unique_ptr<WebCore::MediaRecorderPrivate, std::__1::default_delete<WebCore::MediaRecorderPrivate> >::~unique_ptr() 29 0x2b20cac41 WebCore::MediaRecorder::~MediaRecorder() 30 0x2b20cade5 WebCore::MediaRecorder::~MediaRecorder() 31 0x2b20cae6c WebCore::MediaRecorder::~MediaRecorder() LEAK: 1 WebPageProxy
youenn fablet
Comment 4
2020-10-12 02:55:18 PDT
Created
attachment 411106
[details]
Patch
EWS
Comment 5
2020-10-12 10:30:33 PDT
Committed
r268358
: <
https://trac.webkit.org/changeset/268358
> All reviewed patches have been landed. Closing bug and clearing flags on
attachment 411106
[details]
.
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