New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 770621 link

Starred by 2 users

Issue metadata

Status: Fixed
Merged: issue 764474
Owner:
Closed: Feb 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug
Proj-Servicification



Sign in to add a comment

Network Service causes NavigateToURL to return too early for pages with subframes

Project Member Reported by kinuko@chromium.org, Oct 2 2017

Issue description

NavigationControllerBrowserTest.BackSameDocumentAfterBlockedSubframe is added in r505463, but it seems broken on Mojo Linux bot, which is fyi bot but runs with Network Service and we're trying hard to reduce the failures on the bot.

https://build.chromium.org/p/chromium.fyi/builders/Mojo%20Linux/builds/5818
 
Project Member

Comment 1 by bugdroid1@chromium.org, Oct 2 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/70fb53f16595af0da1593c143d69ea612d924034

commit 70fb53f16595af0da1593c143d69ea612d924034
Author: Kinuko Yasuda <kinuko@chromium.org>
Date: Mon Oct 02 07:53:20 2017

Suppress NavigationControllerBrowserTest.BackSameDocumentAfterBlockedSubframe on Mojo Linux

The test is added in r505463, but it seems broken on Mojo Linux bot,
which is fyi bot but runs with Network Service and we're trying hard to
reduce the failures on the bot.

TBR=creis@chromium.org,jam@chromium.org
NOTRY=true

Bug:  770621 
Change-Id: Ie66d698a3bf2fab4189c6a8ef78d95565236386c
Reviewed-on: https://chromium-review.googlesource.com/694764
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Commit-Queue: Kinuko Yasuda <kinuko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#505554}
[modify] https://crrev.com/70fb53f16595af0da1593c143d69ea612d924034/testing/buildbot/filters/mojo.fyi.network_browser_tests.filter

Mergedinto: 764474
Status: Duplicate (was: Untriaged)
Ok probably this is the same category as  issue 764474 

Comment 3 by creis@chromium.org, Oct 2 2017

Cc: creis@chromium.org jam@chromium.org nasko@chromium.org
Labels: -Pri-2 Pri-1
Owner: kinuko@chromium.org
Status: Assigned (was: Duplicate)
Summary: Network Service causes NavigateToURL to return too early for pages with subframes (was: NavigationControllerBrowserTest.BackSameDocumentAfterBlockedSubframe is broken with Network Service)
Hmm, I don't see the relation to  issue 764474 , which appears to be about plugins and downloads.  This test doesn't have either of those, so I'm splitting it back out into a separate issue.

My BackSameDocumentAfterBlockedSubframe test is failing with the log below, apparently because the subframe is on about:blank instead of simple_page.html, after the NavigateToURL call and during the ExecuteScript call.  That suggests that the NavigateToURL call is not waiting for subframes to finish loading before proceeding (i.e., its internal TestNavigationObserver is getting to OnDidStopLoading before the page's initial iframes have committed).

If the network service code is causing this (as it appears), it seems like it would be a significant bug, and one that may cause a lot of test failures on tests that load pages with iframes.  For example, I see that NavigationControllerBrowserTest.RefererStoredForSubFrame is also disabled, and that's another test that loads the same page_with_iframe_simple.html test page.

Can someone on the network service team look into why we're getting early DidStopLoading events?  I'm not familiar enough with the changes in that code to know why it would be happening, but hopefully fixing that would allow several more tests to be enabled on the FYI bot.  :)

In the meantime, I think my test is working ok outside network service, so I'm going to proceed with requesting a merge to M62.  I'm also updating the summary to match what I observed, but feel free to revise if my reasoning was wrong.


[ RUN      ] NavigationControllerBrowserTest.BackSameDocumentAfterBlockedSubframe
Xlib:  extension "RANDR" missing on display ":99".
DevTools listening on ws://127.0.0.1:35370/devtools/browser/2325dff2-69b4-4dfb-a298-f0364781b5c5
[15520:15552:0929/221830.295443:36270047992:WARNING:child_process_launcher_helper_posix.cc(118)] Ignoring invalid file v8_context_snapshot.bin
[15558:15558:0929/221830.295790:36270048338:ERROR:gpu_info.cc(103)] No active GPU found, returning primary GPU.
[15520:15552:0929/221830.356576:36270109128:WARNING:child_process_launcher_helper_posix.cc(118)] Ignoring invalid file v8_context_snapshot.bin
[15520:15570:0929/221830.448271:36270200819:WARNING:embedded_test_server.cc(229)] Request not handled. Returning 404: /navigation_controller/simple_page.html
[15520:15520:0929/221830.472267:36270224815:INFO:CONSOLE(1)] "Uncaught SecurityError: Failed to execute 'pushState' on 'History': A history state object with URL 'http://127.0.0.1:54483/x-frame-options-deny.html' cannot be created in a document with origin 'http://127.0.0.1:54483' and URL 'about:blank'.", source: about:blank (1)
BrowserTestBase received signal: Terminated. Backtrace:
#0 0x00000258cda7 base::debug::StackTrace::StackTrace()
#1 0x00000223ab51 content::(anonymous namespace)::DumpStackTraceSignalHandler()
#2 0x7f6514ba3cb0 <unknown>
#3 0x7f6514c5dc5d __poll
#4 0x7f6518a34fe4 <unknown>
#5 0x7f6518a350ec g_main_context_iteration
#6 0x0000025af873 base::MessagePumpGlib::Run()
#7 0x0000025ace3a base::MessageLoop::Run()
#8 0x0000025cf906 base::RunLoop::Run()
#9 0x0000022573eb content::MessageLoopRunner::Run()
#10 0x00000223d6d5 content::DOMMessageQueue::WaitForMessage()
#11 0x00000223cae9 content::(anonymous namespace)::ExecuteScriptHelper()
#12 0x00000223c62c content::(anonymous namespace)::ExecuteScriptWithUserGestureControl()
#13 0x0000005fe5cb content::NavigationControllerBrowserTest_BackSameDocumentAfterBlockedSubframe_Test::RunTestOnMainThread()
#14 0x00000223a8bf content::BrowserTestBase::ProxyRunTestOnMainThreadLoop()
#15 0x0000022a4b09 content::ShellBrowserMainParts::PreMainMessageLoopRun()
#16 0x000001bcaf6d content::BrowserMainLoop::PreMainMessageLoopRun()
#17 0x000001ff7b67 content::StartupTaskRunner::RunAllTasksNow()
#18 0x000001bc90ce content::BrowserMainLoop::CreateStartupTasks()
#19 0x000001bcdd43 content::BrowserMainRunnerImpl::Initialize()
#20 0x00000228ad5c ShellBrowserMain()
#21 0x000002281ede content::ShellMainDelegate::RunProcess()
#22 0x000001aea886 content::RunNamedProcessTypeMain()
#23 0x000001aeb3f7 content::ContentMainRunnerImpl::Run()
#24 0x0000037ab950 service_manager::Main()
#25 0x000000fbf6a2 content::ContentMain()
#26 0x00000223a549 content::BrowserTestBase::SetUp()
#27 0x000002230e6e content::ContentBrowserTest::SetUp()
#28 0x000000a6426e testing::Test::Run()
#29 0x000000a64ce0 testing::TestInfo::Run()
#30 0x000000a651c7 testing::TestCase::Run()
#31 0x000000a6b6b7 testing::internal::UnitTestImpl::RunAllTests()
#32 0x000000a6b343 testing::UnitTest::Run()
#33 0x000002263808 base::TestSuite::Run()
#34 0x000002234843 content::ContentTestLauncherDelegate::RunTestSuite()
#35 0x000002251845 content::LaunchTests()
#36 0x0000022347f2 main
#37 0x7f6514b8ef45 __libc_start_main
#38 0x000000486970 <unknown>
Cc: scottmg@chromium.org
Thanks for more details. I don't think we've changed anything on DidStopLoading propagation path, but will try looking into this more. (cc-ing scottmg@ in case this might ring any bell to him)
Navigating back changing too early does sound familiar, but it's not really prompting any more useful details, sorry.

Comment 6 by laforge@google.com, Nov 7 2017

Components: -Internals>Network>Service Internals>Services>Network
Apologies, applied the wrong component in bulk.

Comment 7 by m...@chromium.org, Feb 28 2018

FYI: Perhaps  bug 817217  is the same issue is this? However, in  bug 817217 , all calls to NavigateToURL() fail, whether they are for subframes or the main frame. Also, I see in the content shell, on-screen, a net::ERR_NOT_IMPLEMENTED message.

Comment 8 by jam@chromium.org, Feb 28 2018

Status: Fixed (was: Assigned)
This test was fixed in early November.

Sign in to add a comment