RESOLVED FIXED187382
[Crash] Illegal use of uninitialized std::optional value in WebCore::AnimationBase::updateStateMachine
https://bugs.webkit.org/show_bug.cgi?id=187382
Summary [Crash] Illegal use of uninitialized std::optional value in WebCore::Animatio...
Frédéric Wang (:fredw)
Reported 2018-07-06 02:10:00 PDT
See bug 186536 comment 41 for a repro case with Google drive and stack trace. With the patch from bug 186536, the crash happens here: case AnimationState::PausedWaitTimer: ASSERT(input == AnimationStateInput::PlayStateRunning); ASSERT(paused()); // Update the times m_startTime = m_startTime.value(0) + beginAnimationUpdateTime() - m_pauseTime.value_or(0); m_pauseTime = std::nullopt; Checking other potential misuses of uninitialized std::optional members in AnimationBase::updateStateMachine(), I only see one possible other place. I'll just use value_or(0) for these two places to workaround these issues. Antoine Quint mentioned that the old animation code is going to be removed soon, so the actual way we fix these should not be a big deal...
Attachments
Patch (2.55 KB, patch)
2018-07-06 02:15 PDT, Frédéric Wang (:fredw)
no flags
Frédéric Wang (:fredw)
Comment 1 2018-07-06 02:15:29 PDT
WebKit Commit Bot
Comment 2 2018-07-06 03:10:56 PDT
Comment on attachment 344410 [details] Patch Clearing flags on attachment: 344410 Committed r233574: <https://trac.webkit.org/changeset/233574>
WebKit Commit Bot
Comment 3 2018-07-06 03:10:58 PDT
All reviewed patches have been landed. Closing bug.
Radar WebKit Bug Importer
Comment 4 2018-07-06 03:12:23 PDT
Note You need to log in before you can comment on or make changes to this bug.