Bug 148026 - Frequent assertions on animations/restart-after-scroll.html
Summary: Frequent assertions on animations/restart-after-scroll.html
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2015-08-14 08:49 PDT by Alexey Proskuryakov
Modified: 2015-08-14 10:32 PDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alexey Proskuryakov 2015-08-14 08:49:44 PDT
animations/restart-after-scroll.html very frequently asserts in debug builds, both WK1 and WK2:

    if (m_absCaretBoundsDirty && m_selection.isCaret()) // We should be able to always assert this condition.
        ASSERT(m_absCaretBounds == m_selection.visibleStart().absoluteCaretBounds());

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.JavaScriptCore      	0x000000011088c2f7 WTFCrash + 39
1   com.apple.WebCore             	0x0000000112a029ce WebCore::FrameSelection::recomputeCaretRect() + 878 (FrameSelection.cpp:1484)
2   com.apple.WebCore             	0x0000000112a02e0b WebCore::FrameSelection::invalidateCaretRect() + 91 (FrameSelection.cpp:1518)
3   com.apple.WebCore             	0x00000001129f9b4b WebCore::FrameSelection::caretBlinkTimerFired() + 235 (FrameSelection.cpp:1987)
4   com.apple.WebCore             	0x0000000112a079c8 void std::__1::__invoke_void_return_wrapper<void>::__call<std::__1::__bind<void (WebCore::FrameSelection::*&)(), WebCore::FrameSelection*>&>(std::__1::__bind<void (WebCore::FrameSelection::*&)(), WebCore::FrameSelection*>&&&) + 248 (__functional_base:441)
5   com.apple.WebCore             	0x0000000112a0789c std::__1::__function::__func<std::__1::__bind<void (WebCore::FrameSelection::*&)(), WebCore::FrameSelection*>, std::__1::allocator<std::__1::__bind<void (WebCore::FrameSelection::*&)(), WebCore::FrameSelection*> >, void ()>::operator()() + 44 (functional:1407)
6   com.apple.WebCore             	0x00000001120c463a std::__1::function<void ()>::operator()() const + 26 (functional:1793)
7   com.apple.WebCore             	0x00000001120c455c WebCore::Timer::fired() + 28 (Timer.h:134)
8   com.apple.WebCore             	0x000000011410713a WebCore::ThreadTimers::sharedTimerFiredInternal() + 394 (ThreadTimers.cpp:135)
9   com.apple.WebCore             	0x0000000114106df9 WebCore::ThreadTimers::sharedTimerFired() + 25 (ThreadTimers.cpp:108)
10  com.apple.WebCore             	0x0000000113db5802 WebCore::timerFired(__CFRunLoopTimer*, void*) + 34 (SharedTimerCF.cpp:82)

rdar://problem/21843062
Comment 1 Alexey Proskuryakov 2015-08-14 10:10:16 PDT
Got 9 crashes when running the test like this, so the assertion is readily reproducible:

run-webkit-tests LayoutTests/animations/restart-after-scroll.html  --repeat 100 -f

Skipped the test in r188476
Comment 2 Simon Fraser (smfr) 2015-08-14 10:32:19 PDT
This was an iOS platform test that I moved.