WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
127683
[WK2] http/tests/navigation/new-window-redirect-history.html crashes
https://bugs.webkit.org/show_bug.cgi?id=127683
Summary
[WK2] http/tests/navigation/new-window-redirect-history.html crashes
Csaba Osztrogonác
Reported
2014-01-27 08:09:55 PST
http/tests/navigation/new-window-redirect-history.html crashes on WK2 platforms. It is skipped by the generic TestExpectations file with "Unexplained back/forward list failures"
Attachments
Patch
(5.08 KB, patch)
2018-02-19 19:39 PST
,
Fujii Hironori
no flags
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Csaba Osztrogonác
Comment 1
2014-01-27 08:49:37 PST
I added the proper entry to the wk2/TestExpectations file with bug number.
Alexey Proskuryakov
Comment 2
2014-06-10 14:19:05 PDT
run-webkit-tests -2 --no-retry http/tests/navigation/new-window-redirect-history.html This crash happens in WebKitTestRunner code. I don't know if it's a WebKitTestRunner bug, or an API that misbehaves, and makes WebKitTestRunner crash. <
rdar://problem/16928624
>
Alexey Proskuryakov
Comment 3
2014-06-10 14:21:23 PDT
Changed expectation from Crash to Skip in <
http://trac.webkit.org/r169764
>. Generating more crash logs only makes other tests more flaky without providing useful information about this test.
Fujii Hironori
Comment 4
2018-02-19 18:48:05 PST
Callstack:
> Thread 1 (Thread 0x7f0e0c0b8ac0 (LWP 98101)): > #0 0x00007f0e051a6f14 in WTF::DumbPtrTraits<WebCore::HistoryItem>::unwrap (ptr=<error reading variable>) at DerivedSources/ForwardingHeaders/wtf/DumbPtrTraits.h:41 > #1 0x00007f0e051bc67e in WTF::RefPtr<WebCore::HistoryItem, WTF::DumbPtrTraits<WebCore::HistoryItem> >::get (this=0x10) at DerivedSources/ForwardingHeaders/wtf/RefPtr.h:72 > #2 0x00007f0e051bc540 in (anonymous namespace)::InjectedBundleBackForwardListItem::item (this=0x0) at ../../Source/WebKit/WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.h:49 > #3 0x00007f0e051bc367 in WKBundleBackForwardListItemIsSame (itemRef1=0x7f0d8d188480, itemRef2=0x0) at ../../Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.cpp:42 > #4 0x00007f0da5be09d9 in WTR::InjectedBundlePage::dumpBackForwardList (this=0x55df182e90d0, stringBuilder=...) at ../../Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:1985 > #5 0x00007f0da5bcfae9 in WTR::InjectedBundle::dumpBackForwardListsForAllPages (this=0x55df179a7530, stringBuilder=...) at ../../Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:464 > #6 0x00007f0da5bdbaf5 in WTR::InjectedBundlePage::dump (this=0x55df17ba4fb0) at ../../Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:904 > #7 0x00007f0da5be0c91 in WTR::InjectedBundlePage::frameDidChangeLocation (this=0x55df182e90d0, frame=0x7f0d8d1d6078) at ../../Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:2033 > #8 0x00007f0da5bdbdd2 in WTR::InjectedBundlePage::didFinishLoadForFrame (this=0x55df182e90d0, frame=0x7f0d8d1d6078) at ../../Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:941 > #9 0x00007f0da5bda853 in WTR::InjectedBundlePage::didFinishLoadForFrame (page=0x7f0da62fac00, frame=0x7f0d8d1d6078, clientInfo=0x55df182e90d0) at ../../Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:568 > #10 0x00007f0e051b2a2a in (anonymous namespace)::InjectedBundlePageLoaderClient::didFinishLoadForFrame (this=0x55df1800c8c0, page=..., frame=..., userData=...) at ../../Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:150 > #11 0x00007f0e052b1b7b in (anonymous namespace)::WebFrameLoaderClient::dispatchDidFinishLoad (this=0x55df18062650) at ../../Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:600 > #12 0x00007f0e06ec3d58 in (anonymous namespace)::FrameLoader::checkLoadCompleteForThisFrame (this=0x55df182f8000) at ../../Source/WebCore/loader/FrameLoader.cpp:2397 > #13 0x00007f0e06ec4752 in (anonymous namespace)::FrameLoader::checkLoadComplete (this=0x55df182f8000) at ../../Source/WebCore/loader/FrameLoader.cpp:2537 > #14 0x00007f0e06e9312d in (anonymous namespace)::DocumentLoader::finishedLoading (this=0x7f0d8d1ad000) at ../../Source/WebCore/loader/DocumentLoader.cpp:434 > #15 0x00007f0e06e92d6e in (anonymous namespace)::DocumentLoader::notifyFinished (this=0x7f0d8d1ad000, resource=...) at ../../Source/WebCore/loader/DocumentLoader.cpp:379 > #16 0x00007f0e06f73a4c in (anonymous namespace)::CachedResource::checkNotify (this=0x7f0d8d1b3700) at ../../Source/WebCore/loader/cache/CachedResource.cpp:348 > #17 0x00007f0e06f73b4a in (anonymous namespace)::CachedResource::finishLoading (this=0x7f0d8d1b3700) at ../../Source/WebCore/loader/cache/CachedResource.cpp:364 > #18 0x00007f0e06f70068 in (anonymous namespace)::CachedRawResource::finishLoading (this=0x7f0d8d1b3700, data=0x7f0d8d1dcfc0) at ../../Source/WebCore/loader/cache/CachedRawResource.cpp:117 > #19 0x00007f0e06f2108e in (anonymous namespace)::SubresourceLoader::didFinishLoading (this=0x7f0de8773780, networkLoadMetrics=...) at ../../Source/WebCore/loader/SubresourceLoader.cpp:601 > #20 0x00007f0e051fdbf2 in (anonymous namespace)::WebResourceLoader::didFinishResourceLoad (this=0x7f0d8d1de8c0, networkLoadMetrics=...) at ../../Source/WebKit/WebProcess/Network/WebResourceLoader.cpp:150 > #21 0x00007f0e0543ac7c in IPC::callMemberFunctionImpl<WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(WebCore::NetworkLoadMetrics const&), std::tuple<WebCore::NetworkLoadMetrics>, 0> (object=0x7f0d8d1de8c0, function=(void ((anonymous namespace)::WebResourceLoader::*)((anonymous namespace)::WebResourceLoader * const, const (anonymous namespace)::NetworkLoadMetrics &)) 0x7f0e051fdb42 <(anonymous namespace)::WebResourceLoader::didFinishResourceLoad((anonymous namespace)::NetworkLoadMetrics const&)>, args=...) at ../../Source/WebKit/Platform/IPC/HandleMessage.h:40 > #22 0x00007f0e0543a4d7 in IPC::callMemberFunction<WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(WebCore::NetworkLoadMetrics const&), std::tuple<WebCore::NetworkLoadMetrics> > (args=..., object=0x7f0d8d1de8c0, function=(void ((anonymous namespace)::WebResourceLoader::*)((anonymous namespace)::WebResourceLoader * const, const (anonymous namespace)::NetworkLoadMetrics &)) 0x7f0e051fdb42 <(anonymous namespace)::WebResourceLoader::didFinishResourceLoad((anonymous namespace)::NetworkLoadMetrics const&)>) at ../../Source/WebKit/Platform/IPC/HandleMessage.h:46 > #23 0x00007f0e05439c8a in IPC::handleMessage<Messages::WebResourceLoader::DidFinishResourceLoad, WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(WebCore::NetworkLoadMetrics const&)> (decoder=..., object=0x7f0d8d1de8c0, function=(void ((anonymous namespace)::WebResourceLoader::*)((anonymous namespace)::WebResourceLoader * const, const (anonymous namespace)::NetworkLoadMetrics &)) 0x7f0e051fdb42 <(anonymous namespace)::WebResourceLoader::didFinishResourceLoad((anonymous namespace)::NetworkLoadMetrics const&)>) at ../../Source/WebKit/Platform/IPC/HandleMessage.h:126 > #24 0x00007f0e05439343 in (anonymous namespace)::WebResourceLoader::didReceiveWebResourceLoaderMessage (this=0x7f0d8d1de8c0, connection=..., decoder=...) at DerivedSources/WebKit/WebResourceLoaderMessageReceiver.cpp:65 > #25 0x00007f0e051e42db in (anonymous namespace)::NetworkProcessConnection::didReceiveMessage (this=0x7f0de87c9000, connection=..., decoder=...) at ../../Source/WebKit/WebProcess/Network/NetworkProcessConnection.cpp:69 > #26 0x00007f0e04dc1a04 in IPC::Connection::dispatchMessage (this=0x7f0de87e01f8, decoder=...) at ../../Source/WebKit/Platform/IPC/Connection.cpp:907 > #27 0x00007f0e04dc1b77 in IPC::Connection::dispatchMessage (this=0x7f0de87e01f8, message=std::unique_ptr<IPC::Decoder> containing 0x7f0de87c5410) at ../../Source/WebKit/Platform/IPC/Connection.cpp:934 > #28 0x00007f0e04dc1d7d in IPC::Connection::dispatchOneMessage (this=0x7f0de87e01f8) at ../../Source/WebKit/Platform/IPC/Connection.cpp:965 > #29 0x00007f0e04dc18b5 in IPC::Connection::<lambda()>::operator()(void) (__closure=0x7f0de87c60a8) at ../../Source/WebKit/Platform/IPC/Connection.cpp:901 > #30 0x00007f0e04dc812e in WTF::Function<void()>::CallableWrapper<IPC::Connection::enqueueIncomingMessage(std::unique_ptr<IPC::Decoder>)::<lambda()> >::call(void) (this=0x7f0de87c60a0) at DerivedSources/ForwardingHeaders/wtf/Function.h:101 > #31 0x00007f0e04c98c5a in WTF::Function<void()>::operator()(void) const (this=0x7ffee5441360) at DerivedSources/ForwardingHeaders/wtf/Function.h:56 > #32 0x00007f0df992b514 in WTF::RunLoop::performWork (this=0x7f0de87f9000) at ../../Source/WTF/wtf/RunLoop.cpp:123 > #33 0x00007f0df997bfd8 in WTF::RunLoop::<lambda(gpointer)>::operator()(gpointer) const (__closure=0x0, userData=0x7f0de87f9000) at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:68 > #34 0x00007f0df997bffc in WTF::RunLoop::<lambda(gpointer)>::_FUN(gpointer) () at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:70 > #35 0x00007f0df997bf78 in WTF::<lambda(GSource*, GSourceFunc, gpointer)>::operator()(GSource *, GSourceFunc, gpointer) const (__closure=0x0, source=0x55df179b1200, callback=0x7f0df997bfdf <WTF::RunLoop::<lambda(gpointer)>::_FUN(gpointer)>, userData=0x7f0de87f9000) at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:45 > #36 0x00007f0df997bfa7 in WTF::<lambda(GSource*, GSourceFunc, gpointer)>::_FUN(GSource *, GSourceFunc, gpointer) () at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:46 > #37 0x00007f0dfb492c35 in g_main_dispatch () at /home/fujii/work/webkit/ga/WebKitBuild/DependenciesGTK/Source/glib-2.54.2/glib/gmain.c:3148 > #38 g_main_context_dispatch () at /home/fujii/work/webkit/ga/WebKitBuild/DependenciesGTK/Source/glib-2.54.2/glib/gmain.c:3813 > #39 0x00007f0dfb493000 in g_main_context_iterate () at /home/fujii/work/webkit/ga/WebKitBuild/DependenciesGTK/Source/glib-2.54.2/glib/gmain.c:3886 > #40 0x00007f0dfb493312 in g_main_loop_run () at /home/fujii/work/webkit/ga/WebKitBuild/DependenciesGTK/Source/glib-2.54.2/glib/gmain.c:4082 > #41 0x00007f0df997c4e7 in WTF::RunLoop::run () at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:96 > #42 0x00007f0e0571b414 in (anonymous namespace)::ChildProcessMain<WebKit::WebProcess, WebKit::WebProcessMain> (argc=3, argv=0x7ffee5441768) at ../../Source/WebKit/Shared/unix/ChildProcessMain.h:61 > #43 0x00007f0e0571b02f in (anonymous namespace)::WebProcessMainUnix (argc=3, argv=0x7ffee5441768) at ../../Source/WebKit/WebProcess/gtk/WebProcessMainGtk.cpp:68 > #44 0x000055df161bba45 in main (argc=3, argv=0x7ffee5441768) at ../../Source/WebKit/WebProcess/EntryPoint/unix/WebProcessMain.cpp:52
Fujii Hironori
Comment 5
2018-02-19 19:17:15 PST
m_previousTestBackForwardListItem was null for the new window. m_previousTestBackForwardListItem is initialized only for the main window in InjectedBundlePage::prepare. This code has been added in
Bug 42322
.
Fujii Hironori
Comment 6
2018-02-19 19:34:18 PST
I think we have two choices of solutions: 1. Do null-check of m_previousTestBackForwardListItem 2. Remove m_previousTestBackForwardListItem. Call WKBundleBackForwardListClear in InjectedBundlePage::prepare. Rebaseline all expected.txt files.
Fujii Hironori
Comment 7
2018-02-19 19:39:12 PST
Created
attachment 334228
[details]
Patch
Fujii Hironori
Comment 8
2018-02-19 19:46:12 PST
***
Bug 128458
has been marked as a duplicate of this bug. ***
Fujii Hironori
Comment 9
2018-02-20 18:17:12 PST
Hi Darin, can I ask you review this patch?
Fujii Hironori
Comment 10
2018-02-25 17:42:48 PST
Could anyone review?
WebKit Commit Bot
Comment 11
2018-02-25 18:50:35 PST
Comment on
attachment 334228
[details]
Patch Clearing flags on attachment: 334228 Committed
r228984
: <
https://trac.webkit.org/changeset/228984
>
WebKit Commit Bot
Comment 12
2018-02-25 18:50:36 PST
All reviewed patches have been landed. Closing bug.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug