Bug 187804 - [GStreamer][MSE] imported/w3c/web-platform-tests/media-source/mediasource-seek-beyond-duration.html crashes
Summary: [GStreamer][MSE] imported/w3c/web-platform-tests/media-source/mediasource-see...
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: Platform (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-07-19 08:44 PDT by Philippe Normand
Modified: 2021-03-26 05:31 PDT (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Philippe Normand 2018-07-19 08:44:24 PDT
Thread 1 (Thread 0x7f047fce33c0 (LWP 46277)):
#0  0x00007f048e1a7406 in WTFCrash () at /home/slave/webkitgtk/gtk-linux-64-debug/build/Source/WTF/wtf/Assertions.cpp:267
#1  0x00007f049ad2814c in (anonymous namespace)::MediaPlayerPrivateGStreamerMSE::doSeek (this=0x7f0413e35000) at /home/slave/webkitgtk/gtk-linux-64-debug/build/Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:330
#2  0x00007f049ad2732e in (anonymous namespace)::MediaPlayerPrivateGStreamerMSE::seek (this=0x7f0413e35000, time=...) at /home/slave/webkitgtk/gtk-linux-64-debug/build/Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:197
#3  0x00007f049a43baa6 in (anonymous namespace)::MediaPlayerPrivateInterface::seekWithTolerance (this=0x7f0413e35000, time=...) at ../../Source/WebCore/platform/graphics/MediaPlayerPrivate.h:99
#4  0x00007f049a4309e3 in (anonymous namespace)::MediaPlayer::seekWithTolerance (this=0x7f047f3a1d80, time=..., negativeTolerance=..., positiveTolerance=...) at ../../Source/WebCore/platform/graphics/MediaPlayer.cpp:626
#5  0x00007f0499d5ba99 in (anonymous namespace)::HTMLMediaElement::seekTask (this=0x7f0411a02508) at ../../Source/WebCore/html/HTMLMediaElement.cpp:3074
#6  0x00007f0499d9a18a in std::__invoke_impl<void, void (WebCore::HTMLMediaElement::* const&)(), WebCore::HTMLMediaElement*&> (__f=@0x7eef180c60c8: (void ((anonymous namespace)::HTMLMediaElement::*)((anonymous namespace)::HTMLMediaElement * const)) 0x7f0499d5b4ca <(anonymous namespace)::HTMLMediaElement::seekTask()>, __t=@0x7eef180c60d8: 0x7f0411a02508) at /usr/include/c++/6/functional:227
#7  0x00007f0499d9a0af in std::__invoke<void (WebCore::HTMLMediaElement::* const&)(), WebCore::HTMLMediaElement*&> (__fn=@0x7eef180c60c8: (void ((anonymous namespace)::HTMLMediaElement::*)((anonymous namespace)::HTMLMediaElement * const)) 0x7f0499d5b4ca <(anonymous namespace)::HTMLMediaElement::seekTask()>, __args#0=@0x7eef180c60d8: 0x7f0411a02508) at /usr/include/c++/6/functional:251
#8  0x00007f0499d9a006 in std::_Mem_fn_base<void (WebCore::HTMLMediaElement::*)(), true>::operator()<WebCore::HTMLMediaElement*&> (this=0x7eef180c60c8, __args#0=@0x7eef180c60d8: 0x7f0411a02508) at /usr/include/c++/6/functional:604
#9  0x00007f0499d99dce in std::_Bind<std::_Mem_fn<void (WebCore::HTMLMediaElement::*)()>(WebCore::HTMLMediaElement*)>::__call<void, 0ul>(<unknown type in /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37, CU 0x0, DIE 0x321aa4>, std::_Index_tuple<0ul>) (this=0x7eef180c60c8, __args=<unknown type in /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37, CU 0x0, DIE 0x321aa4>) at /usr/include/c++/6/functional:934
#10 0x00007f0499d989c6 in std::_Bind<std::_Mem_fn<void (WebCore::HTMLMediaElement::*)()>(WebCore::HTMLMediaElement*)>::operator()<>(void) (this=0x7eef180c60c8) at /usr/include/c++/6/functional:993
#11 0x00007f0499d9779c in WTF::Function<void()>::CallableWrapper<std::_Bind<std::_Mem_fn<void (WebCore::HTMLMediaElement::*)()>(WebCore::HTMLMediaElement*)> >::call(void) (this=0x7eef180c60c0) at DerivedSources/ForwardingHeaders/wtf/Function.h:101
#12 0x00007f0497d7ed8a in WTF::Function<void()>::operator()(void) const (this=0x7eef180fd7a8) at DerivedSources/ForwardingHeaders/wtf/Function.h:56
#13 0x00007f04994a1edc in (anonymous namespace)::GenericTaskQueue<WebCore::Timer>::<lambda()>::operator()(void) const (__closure=0x7eef180fd7a0) at ../../Source/WebCore/platform/GenericTaskQueue.h:94
#14 0x00007f04994a3320 in WTF::Function<void()>::CallableWrapper<WebCore::GenericTaskQueue<T>::enqueueTask(WebCore::GenericTaskQueue<T>::TaskFunction&&) [with T = WebCore::Timer; WebCore::GenericTaskQueue<T>::TaskFunction = WTF::Function<void()>]::<lambda()> >::call(void) (this=0x7eef180fd798) at DerivedSources/ForwardingHeaders/wtf/Function.h:101
#15 0x00007f0497d7ed8a in WTF::Function<void()>::operator()(void) const (this=0x7ffcd5b7c098) at DerivedSources/ForwardingHeaders/wtf/Function.h:56
#16 0x00007f049a2f792b in (anonymous namespace)::TaskDispatcher<WebCore::Timer>::dispatchOneTask (this=0x7f0411a027a0) at ../../Source/WebCore/platform/GenericTaskQueue.cpp:80
#17 0x00007f049a2f7818 in (anonymous namespace)::TaskDispatcher<WebCore::Timer>::sharedTimerFired () at ../../Source/WebCore/platform/GenericTaskQueue.cpp:65
#18 0x00007f049a2f76a5 in (anonymous namespace)::TaskDispatcher<WebCore::Timer>::<lambda()>::operator()(void) const (__closure=0x7f04112178b8) at ../../Source/WebCore/platform/GenericTaskQueue.cpp:49
#19 0x00007f049a2f811a in WTF::Function<void()>::CallableWrapper<WebCore::TaskDispatcher<WebCore::Timer>::sharedTimer()::<lambda()> >::call(void) (this=0x7f04112178b0) at DerivedSources/ForwardingHeaders/wtf/Function.h:101
#20 0x00007f0497d7ed8a in WTF::Function<void()>::operator()(void) const (this=0x7f04a04d7260 <_ZZN7WebCore14TaskDispatcherINS_5TimerEE11sharedTimerEvE5timer+64>) at DerivedSources/ForwardingHeaders/wtf/Function.h:56
#21 0x00007f0497d8e010 in (anonymous namespace)::Timer::fired (this=0x7f04a04d7220 <_ZZN7WebCore14TaskDispatcherINS_5TimerEE11sharedTimerEvE5timer>) at ../../Source/WebCore/platform/Timer.h:131
#22 0x00007f049a3262b6 in (anonymous namespace)::ThreadTimers::sharedTimerFiredInternal (this=0x7f047f37f730) at ../../Source/WebCore/platform/ThreadTimers.cpp:117
#23 0x00007f049a325ddb in (anonymous namespace)::ThreadTimers::<lambda()>::operator()(void) const (__closure=0x7f047f3fa348) at ../../Source/WebCore/platform/ThreadTimers.cpp:69
#24 0x00007f049a33097c in WTF::Function<void()>::CallableWrapper<WebCore::ThreadTimers::setSharedTimer(WebCore::SharedTimer*)::<lambda()> >::call(void) (this=0x7f047f3fa340) at DerivedSources/ForwardingHeaders/wtf/Function.h:101
#25 0x00007f0497d7ed8a in WTF::Function<void()>::operator()(void) const (this=0x7f04a04d7408 <_ZZN7WebCore21MainThreadSharedTimer9singletonEvE8instance+8>) at DerivedSources/ForwardingHeaders/wtf/Function.h:56
#26 0x00007f049a304ed7 in (anonymous namespace)::MainThreadSharedTimer::fired (this=0x7f04a04d7400 <_ZZN7WebCore21MainThreadSharedTimer9singletonEvE8instance>) at ../../Source/WebCore/platform/MainThreadSharedTimer.cpp:54
#27 0x00007f049a308e50 in WTF::RunLoop::Timer<WebCore::MainThreadSharedTimer>::fired (this=0x7f04a04d7410 <_ZZN7WebCore21MainThreadSharedTimer9singletonEvE8instance+16>) at DerivedSources/ForwardingHeaders/wtf/RunLoop.h:149
#28 0x00007f048e220d97 in WTF::RunLoop::TimerBase::<lambda(gpointer)>::operator()(gpointer) const (__closure=0x0, userData=0x7f04a04d7410 <_ZZN7WebCore21MainThreadSharedTimer9singletonEvE8instance+16>) at /home/slave/webkitgtk/gtk-linux-64-debug/build/Source/WTF/wtf/glib/RunLoopGLib.cpp:170
#29 0x00007f048e220def in WTF::RunLoop::TimerBase::<lambda(gpointer)>::_FUN(gpointer) () at /home/slave/webkitgtk/gtk-linux-64-debug/build/Source/WTF/wtf/glib/RunLoopGLib.cpp:176
#30 0x00007f048e22051a in WTF::<lambda(GSource*, GSourceFunc, gpointer)>::operator()(GSource *, GSourceFunc, gpointer) const (__closure=0x0, source=0x558d529dc690, callback=0x7f048e220dd2 <WTF::RunLoop::TimerBase::<lambda(gpointer)>::_FUN(gpointer)>, userData=0x7f04a04d7410 <_ZZN7WebCore21MainThreadSharedTimer9singletonEvE8instance+16>) at /home/slave/webkitgtk/gtk-linux-64-debug/build/Source/WTF/wtf/glib/RunLoopGLib.cpp:45
#31 0x00007f048e220549 in WTF::<lambda(GSource*, GSourceFunc, gpointer)>::_FUN(GSource *, GSourceFunc, gpointer) () at /home/slave/webkitgtk/gtk-linux-64-debug/build/Source/WTF/wtf/glib/RunLoopGLib.cpp:46
#32 0x00007f04878d381a in g_main_dispatch () at /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/DependenciesGTK/Source/glib-2.54.2/glib/gmain.c:3148
#33 g_main_context_dispatch () at /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/DependenciesGTK/Source/glib-2.54.2/glib/gmain.c:3813
#34 0x00007f04878d3ba8 in g_main_context_iterate () at /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/DependenciesGTK/Source/glib-2.54.2/glib/gmain.c:3886
#35 0x00007f04878d3ec2 in g_main_loop_run () at /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/DependenciesGTK/Source/glib-2.54.2/glib/gmain.c:4082
#36 0x00007f048e220a57 in WTF::RunLoop::run () at /home/slave/webkitgtk/gtk-linux-64-debug/build/Source/WTF/wtf/glib/RunLoopGLib.cpp:96
#37 0x00007f04989138f1 in (anonymous namespace)::ChildProcessMain<WebKit::WebProcess, WebKit::WebProcessMain> (argc=3, argv=0x7ffcd5b7c648) at ../../Source/WebKit/Shared/unix/ChildProcessMain.h:61
#38 0x00007f049891336c in (anonymous namespace)::WebProcessMainUnix (argc=3, argv=0x7ffcd5b7c648) at ../../Source/WebKit/WebProcess/gtk/WebProcessMainGtk.cpp:67
#39 0x0000558d519d6e5b in main (argc=3, argv=0x7ffcd5b7c648) at /home/slave/webkitgtk/gtk-linux-64-debug/build/Source/WebKit/WebProcess/EntryPoint/unix/WebProcessMain.cpp:52

STDERR: 
STDERR: warning: core file may not match specified executable file.
STDERR: g_object_set_is_valid_property: object class 'WebKitMediaSrc' has no property named 'current-video'
STDERR: g_object_set_is_valid_property: object class 'WebKitMediaSrc' has no property named 'current-video'
STDERR: ASSERTION FAILED: !m_mseSeekCompleted
STDERR: /home/slave/webkitgtk/gtk-linux-64-debug/build/Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp(330) : bool WebCore::MediaPlayerPrivateGStreamerMSE::doSeek()
STDERR: 1   0x7f048e1a7401 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(WTFCrash+0x9) [0x7f048e1a7401]
STDERR: 2   0x7f049ad2814c /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::MediaPlayerPrivateGStreamerMSE::doSeek()+0x98e) [0x7f049ad2814c]
STDERR: 3   0x7f049ad2732e /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::MediaPlayerPrivateGStreamerMSE::seek(WTF::MediaTime const&)+0x330) [0x7f049ad2732e]
STDERR: 4   0x7f049a43baa6 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::MediaPlayerPrivateInterface::seekWithTolerance(WTF::MediaTime const&, WTF::MediaTime const&, WTF::MediaTime const&)+0x38) [0x7f049a43baa6]
STDERR: 5   0x7f049a4309e3 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::MediaPlayer::seekWithTolerance(WTF::MediaTime const&, WTF::MediaTime const&, WTF::MediaTime const&)+0x47) [0x7f049a4309e3]
STDERR: 6   0x7f0499d5ba99 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::HTMLMediaElement::seekTask()+0x5cf) [0x7f0499d5ba99]
STDERR: 7   0x7f0499d9a18a /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(void std::__invoke_impl<void, void (WebCore::HTMLMediaElement::* const&)(), WebCore::HTMLMediaElement*&>(std::__invoke_memfun_deref, void (WebCore::HTMLMediaElement::* const&)(), WebCore::HTMLMediaElement*&)+0x66) [0x7f0499d9a18a]
STDERR: 8   0x7f0499d9a0af /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(std::result_of<void (WebCore::HTMLMediaElement::* const&(WebCore::HTMLMediaElement*&))()>::type std::__invoke<void (WebCore::HTMLMediaElement::* const&)(), WebCore::HTMLMediaElement*&>(void (WebCore::HTMLMediaElement::* const&)(), WebCore::HTMLMediaElement*&)+0x3f) [0x7f0499d9a0af]
STDERR: 9   0x7f0499d9a006 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(decltype (__invoke((*this)._M_pmf, (forward<WebCore::HTMLMediaElement*&>)({parm#1}))) std::_Mem_fn_base<void (WebCore::HTMLMediaElement::*)(), true>::operator()<WebCore::HTMLMediaElement*&>(WebCore::HTMLMediaElement*&) const+0x2e) [0x7f0499d9a006]
STDERR: 10  0x7f0499d99dce /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(void std::_Bind<std::_Mem_fn<void (WebCore::HTMLMediaElement::*)()> (WebCore::HTMLMediaElement*)>::__call<void, , 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>)+0x48) [0x7f0499d99dce]
STDERR: 11  0x7f0499d989c6 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(void std::_Bind<std::_Mem_fn<void (WebCore::HTMLMediaElement::*)()> (WebCore::HTMLMediaElement*)>::operator()<, void>()+0x2a) [0x7f0499d989c6]
STDERR: 12  0x7f0499d9779c /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WTF::Function<void ()>::CallableWrapper<std::_Bind<std::_Mem_fn<void (WebCore::HTMLMediaElement::*)()> (WebCore::HTMLMediaElement*)> >::call()+0x1c) [0x7f0499d9779c]
STDERR: 13  0x7f0497d7ed8a /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WTF::Function<void ()>::operator()() const+0x5e) [0x7f0497d7ed8a]
STDERR: 14  0x7f04994a1edc /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::GenericTaskQueue<WebCore::Timer>::enqueueTask(WTF::Function<void ()>&&)::{lambda()#1}::operator()() const+0x80) [0x7f04994a1edc]
STDERR: 15  0x7f04994a3320 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WTF::Function<void ()>::CallableWrapper<WebCore::GenericTaskQueue<WebCore::Timer>::enqueueTask(WTF::Function<void ()>&&)::{lambda()#1}>::call()+0x1c) [0x7f04994a3320]
STDERR: 16  0x7f0497d7ed8a /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WTF::Function<void ()>::operator()() const+0x5e) [0x7f0497d7ed8a]
STDERR: 17  0x7f049a2f792b /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::TaskDispatcher<WebCore::Timer>::dispatchOneTask()+0x67) [0x7f049a2f792b]
STDERR: 18  0x7f049a2f7818 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::TaskDispatcher<WebCore::Timer>::sharedTimerFired()+0xe6) [0x7f049a2f7818]
STDERR: 19  0x7f049a2f76a5 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(+0xaa8e6a5) [0x7f049a2f76a5]
STDERR: 20  0x7f049a2f811a /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(+0xaa8f11a) [0x7f049a2f811a]
STDERR: 21  0x7f0497d7ed8a /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WTF::Function<void ()>::operator()() const+0x5e) [0x7f0497d7ed8a]
STDERR: 22  0x7f0497d8e010 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::Timer::fired()+0x1c) [0x7f0497d8e010]
STDERR: 23  0x7f049a3262b6 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::ThreadTimers::sharedTimerFiredInternal()+0x216) [0x7f049a3262b6]
STDERR: 24  0x7f049a325ddb /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(+0xaabcddb) [0x7f049a325ddb]
STDERR: 25  0x7f049a33097c /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(+0xaac797c) [0x7f049a33097c]
STDERR: 26  0x7f0497d7ed8a /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WTF::Function<void ()>::operator()() const+0x5e) [0x7f0497d7ed8a]
STDERR: 27  0x7f049a304ed7 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::MainThreadSharedTimer::fired()+0x57) [0x7f049a304ed7]
STDERR: 28  0x7f049a308e50 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WTF::RunLoop::Timer<WebCore::MainThreadSharedTimer>::fired()+0x66) [0x7f049a308e50]
STDERR: 29  0x7f048e220d97 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(+0x2e76d97) [0x7f048e220d97]
STDERR: 30  0x7f048e220def /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(+0x2e76def) [0x7f048e220def]
STDERR: 31  0x7f048e22051a /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(+0x2e7651a) [0x7f048e22051a]
Comment 1 Enrique Ocaña 2018-07-20 01:31:24 PDT
I've just noticed that the block of code affected by the assert is very different in the downstream WPE implementation we maintain, where we've extensively tested the seek behaviour:

https://github.com/WebPlatformForEmbedded/WPEWebKit/blob/cc88c3c/Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp#L324

https://github.com/WebKit/webkit/blob/dc5795c/Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp#L318

It might be worth to examine the differences in the seek algorithms between both versions and see what can be improved upstream.
Comment 2 Xabier Rodríguez Calvar 2021-03-26 05:31:02 PDT
There is a crash in debug mode with the ASSERT(!m_mseSeekCompleted) on MediaPlayerPrivateGStreamerMSE::doSeek. This needs to be removed to avoid the crash in debug mode because in our case for this test, we complete the seek without marking it as incomplete first.

If you remove this, the only thing that is left is fixing the release bug, which is still there.