WebKit Bugzilla
Attachment 346935 Details for
Bug 188480
: [macOS] Multiple third party apps crash due to the thread safety check in TimerBase::setNextFireTime
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Diable release assert in WebKit1
bug-188480-20180810153650.patch (text/plain), 2.51 KB, created by
Ryosuke Niwa
on 2018-08-10 15:36:51 PDT
(
hide
)
Description:
Diable release assert in WebKit1
Filename:
MIME Type:
Creator:
Ryosuke Niwa
Created:
2018-08-10 15:36:51 PDT
Size:
2.51 KB
patch
obsolete
>Index: Source/WebCore/ChangeLog >=================================================================== >--- Source/WebCore/ChangeLog (revision 234772) >+++ Source/WebCore/ChangeLog (working copy) >@@ -1,3 +1,20 @@ >+2018-08-10 Ryosuke Niwa <rniwa@webkit.org> >+ >+ [macOS] Multiple third party apps crash due to the thread safety check in TimerBase::setNextFireTime >+ https://bugs.webkit.org/show_bug.cgi?id=188480 >+ <rdar://problem/43158535> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Supress the release assert in WebKit1 on macOS (isInWebProcess is always true in non-Cocoa platforms). >+ >+ In the future, we should consider throwing Objective-C exceptions when thrid party apps call WebKit1 >+ or WebKit2 APIs in non-main threads. >+ >+ * platform/Timer.cpp: >+ (WebCore::TimerBase::~TimerBase): >+ (WebCore::TimerBase::setNextFireTime): >+ > 2018-08-10 Daniel Bates <dabates@apple.com> > > Cleanup: Remove unnecessary code to resume animations from CachedFrameBase::restore() >Index: Source/WebCore/platform/Timer.cpp >=================================================================== >--- Source/WebCore/platform/Timer.cpp (revision 234680) >+++ Source/WebCore/platform/Timer.cpp (working copy) >@@ -27,6 +27,7 @@ > #include "config.h" > #include "Timer.h" > >+#include "RuntimeApplicationChecks.h" > #include "SharedTimer.h" > #include "ThreadGlobalData.h" > #include "ThreadTimers.h" >@@ -194,9 +195,9 @@ TimerBase::~TimerBase() > { > #if USE(WEB_THREAD) > ASSERT(canAccessThreadLocalDataForThread(m_thread.get())); >- RELEASE_ASSERT(WebThreadIsEnabled() || canAccessThreadLocalDataForThread(m_thread.get())); >+ RELEASE_ASSERT(canAccessThreadLocalDataForThread(m_thread.get()) || WebThreadIsEnabled()); > #else >- RELEASE_ASSERT(canAccessThreadLocalDataForThread(m_thread.get())); >+ RELEASE_ASSERT(canAccessThreadLocalDataForThread(m_thread.get()) || !isInWebProcess()); > #endif > stop(); > ASSERT(!inHeap()); >@@ -366,9 +367,9 @@ void TimerBase::setNextFireTime(Monotoni > { > #if USE(WEB_THREAD) > ASSERT(canAccessThreadLocalDataForThread(m_thread.get())); >- RELEASE_ASSERT(WebThreadIsEnabled() || canAccessThreadLocalDataForThread(m_thread.get())); >+ RELEASE_ASSERT(canAccessThreadLocalDataForThread(m_thread.get()) || WebThreadIsEnabled()); > #else >- RELEASE_ASSERT(canAccessThreadLocalDataForThread(m_thread.get())); >+ RELEASE_ASSERT(canAccessThreadLocalDataForThread(m_thread.get()) || !isInWebProcess()); > #endif > RELEASE_ASSERT_WITH_SECURITY_IMPLICATION(!m_wasDeleted); >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 188480
:
346935
|
346944