Summary: | REGRESSION (r279119?): [iOS] ASSERTION FAILED: !m_impl || !m_shouldEnableAssertions || m_impl->wasConstructedOnMainThread() == isMainThread() seen with 3 WebKitLegacy media API tests | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | ayumi_kojima | ||||||||
Component: | Media | Assignee: | Jer Noble <jer.noble> | ||||||||
Status: | RESOLVED FIXED | ||||||||||
Severity: | Normal | CC: | ap, eric.carlson, ews-watchlist, glenn, jean-yves.avenard, jer.noble, peng.liu6, philipj, sergio, webkit-bot-watchers-bugzilla, webkit-bug-importer | ||||||||
Priority: | P2 | Keywords: | InRadar | ||||||||
Version: | WebKit Nightly Build | ||||||||||
Hardware: | Unspecified | ||||||||||
OS: | Unspecified | ||||||||||
See Also: | https://bugs.webkit.org/show_bug.cgi?id=227227 | ||||||||||
Attachments: |
|
Description
ayumi_kojima
2021-07-13 16:55:45 PDT
It appears it has started in https://trac.webkit.org/changeset/279119/webkit Fuller crashlog: ``` /Volumes/Data/worker/ios-simulator-14-debug/build/WebKitBuild/Debug-iphonesimulator/usr/local/include/wtf/WeakPtr.h(118) : T *WTF::WeakPtr<WebCore::MediaPlayerPrivateAVFoundationObjC, WTF::EmptyCounter>::operator->() const [T = WebCore::MediaPlayerPrivateAVFoundationObjC, Counter = WTF::EmptyCounter] 1 0x105f7fdb9 WTFCrash 2 0x1211aeb1b WTFCrashWithInfo(int, char const*, char const*, int) 3 0x121297067 WTF::WeakPtr<WebCore::MediaPlayerPrivateAVFoundationObjC, WTF::EmptyCounter>::operator->() const 4 0x1215c60ba WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer()::$_4::operator()(CMTime) const 5 0x1215c6079 invocation function for block in WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer() 6 0x160c5ce8d -[AVPeriodicTimebaseObserver _effectiveRateChanged] ``` This doesn't seem related to the change in question. It seems much more likely that the cause was: https://trac.webkit.org/changeset/279146/webkit Basically, we dispatch to the main thread, not the UI thread. We should probably re-dispatch to the UI thread if that's needed. Created attachment 433458 [details]
crash log
These tests fail consistently, and the bots are quite certain that the tests passed with r279117, and failed starting r279120 (no historical data in between). (In reply to Alexey Proskuryakov from comment #5) > These tests fail consistently, and the bots are quite certain that the tests > passed with r279117, and failed starting r279120 (no historical data in > between). Be that as it may, the crash in question is in a weak pointer dereference that did not exist before r279146. (In reply to Jer Noble from comment #6) > (In reply to Alexey Proskuryakov from comment #5) > > These tests fail consistently, and the bots are quite certain that the tests > > passed with r279117, and failed starting r279120 (no historical data in > > between). > > Be that as it may, the crash in question is in a weak pointer dereference > that did not exist before r279146. Looks like crashes prior to r279146 were fixed by bug #227227 / r279200 (239087@main). Created attachment 433501 [details]
Patch
Created attachment 433502 [details]
Patch
These are excellent tests to have caught two regressions in one day! Committed r279949 (239692@main): <https://commits.webkit.org/239692@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 433502 [details]. |