Changeset 225985 in webkit
- Timestamp:
- Dec 15, 2017 1:32:07 PM (6 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r225983 r225985 1 2017-12-15 Ryosuke Niwa <rniwa@webkit.org> 2 3 Add a release assert that Timer::m_wasDeleted is false in setNextFireTime 4 https://bugs.webkit.org/show_bug.cgi?id=180860 5 <rdar://problem/36066500> 6 7 Reviewed by David Kilzer. 8 9 Turn an exist debug-only assertion into a release assertion to help diagnose a crash 10 which appears to be caused by a freed timer getting scheduled back into the timer heap. 11 12 * platform/Timer.cpp: 13 (WebCore::TimerBase::~TimerBase): 14 (WebCore::TimerBase::setNextFireTime): 15 * platform/Timer.h: 16 1 17 2017-12-15 Simon Fraser <simon.fraser@apple.com> 2 18 -
trunk/Source/WebCore/platform/Timer.cpp
r225470 r225985 194 194 stop(); 195 195 ASSERT(!inHeap()); 196 #ifndef NDEBUG197 196 m_wasDeleted = true; 198 #endif199 197 } 200 198 … … 361 359 { 362 360 ASSERT(canAccessThreadLocalDataForThread(m_thread.get())); 363 ASSERT(!m_wasDeleted);361 RELEASE_ASSERT_WITH_SECURITY_IMPLICATION(!m_wasDeleted); 364 362 365 363 if (m_unalignedNextFireTime != newTime) -
trunk/Source/WebCore/platform/Timer.h
r225470 r225985 101 101 int m_heapIndex { -1 }; // -1 if not in heap 102 102 unsigned m_heapInsertionOrder; // Used to keep order among equal-fire-time timers 103 bool m_wasDeleted { false }; 103 104 Vector<TimerBase*>* m_cachedThreadGlobalTimerHeap { nullptr }; 104 105 105 106 #ifndef NDEBUG 106 107 Ref<Thread> m_thread { Thread::current() }; 107 bool m_wasDeleted { false };108 108 #endif 109 109
Note: See TracChangeset
for help on using the changeset viewer.