New issue
Advanced search Search tips

Issue 830991 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2018
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug



Sign in to add a comment

[Flaky test] WebContentsImplBrowserTest.UpdateLoadState (Check failed: waiting_on_load_state_ack_.)

Project Member Reported by gab@chromium.org, Apr 10 2018

Issue description

Only thing I can think of is that ResourceDispatcherHostImpl::UpdateLoadInfo() is invoked while waiting_on_load_state_ack_ is already true, posting two tasks and thus generating a double reply. Should at least DCHECK(!waiting_on_load_state_ack_) before setting it to true as well.

@jcivelli who touched this test recently, P1 to deflake the CQ, thanks!


[FATAL:resource_dispatcher_host_impl.cc(2373)] Check failed: waiting_on_load_state_ack_.

[ERROR:test_suite.cc(301)] Currently running: WebContentsImplBrowserTest.UpdateLoadState
Searching for native crashes in: /b/swarming/w/itiFPtbz/tmpHPlggc
Unknown Android release, consider passing --packed-lib.
Reading Android symbols from: /b/swarming/w/ir
Searching for Chrome symbols from within: /b/swarming/w/ir/out/Release/lib.unstripped:/b/swarming/w/ir/out/Release/lib:/b/swarming/w/ir/out/Release
Stack Trace:
  RELADDR   FUNCTION                                                                                                                                                                                                                FILE:LINE
  0108e815  logging::LogMessage::~LogMessage()                                                                                                                                                                                      ??:0:0
  01d7c139  content::ResourceDispatcherHostImpl::AckUpdateLoadInfo()                                                                                                                                                                ??:0:0
  010cb41b  base::(anonymous namespace)::PostTaskAndReplyRelay::RunReply(base::(anonymous namespace)::PostTaskAndReplyRelay)                                                                                                        ??:0:0
  010cb493  base::internal::Invoker<base::internal::BindState<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay>, void ()>::RunOnce(base::internal::BindStateBase*)  ??:0:0
  0107ee37  base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*)                                                                                                                                                    ??:0:0
  010932db  base::internal::IncomingTaskQueue::RunTask(base::PendingTask*)                                                                                                                                                          ??:0:0
  010955cb  base::MessageLoop::RunTask(base::PendingTask*)                                                                                                                                                                          ??:0:0
  0109583d  base::MessageLoop::DeferOrRunPendingTask(base::PendingTask)                                                                                                                                                             ??:0:0
  010959c3  base::MessageLoop::DoWork()                                                                                                                                                                                             ??:0:0
  010975d5  base::MessagePumpLibevent::Run(base::MessagePump::Delegate*)                                                                                                                                                            ??:0:0
  01095139  base::MessageLoop::Run(bool)                                                                                                                                                                                            ??:0:0
  010aa2c9  base::RunLoop::Run()                                                                                                                                                                                                    ??:0:0
  010ccb0f  base::Thread::Run(base::RunLoop*)                                                                                                                                                                                       ??:0:0
  01c71843  content::BrowserProcessSubThread::IOThreadRun(base::RunLoop*)                                                                                                                                                           ??:0:0
  01c71811  content::BrowserProcessSubThread::Run(base::RunLoop*)                                                                                                                                                                   ??:0:0
  010ccce1  base::Thread::ThreadMain()                                                                                                                                                                                              ??:0:0
  010caf97  base::(anonymous namespace)::ThreadFunc(void*) 
 
Owner: csharrison@chromium.org
Actually I did not touch this test or am familiar with it.
Reassigning to csharrison@ who wrote the test.
Status: Started (was: Assigned)
Project Member

Comment 3 by bugdroid1@chromium.org, Apr 16 2018

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

commit a36f6418ab7f721d0ded77f45eed892026a048d8
Author: Charlie Harrison <csharrison@chromium.org>
Date: Mon Apr 16 19:53:25 2018

Beef up and de-flake UpdateLoadState test

This CL changes the test to:
 - Use the default timer to push load state updates, which should
   deflake the test. This is accomplished using a WebContentsDelegate.
 - Tests the actual LoadState, not just the host.

The test was currently flaking due to the update + ACK refactor which
wasn't compatible with the test.

Bug:  830991 
Change-Id: I4d788e7a7388617af39f0981bd84fc7d1da6a87c
Reviewed-on: https://chromium-review.googlesource.com/1009287
Reviewed-by: Matt Menke <mmenke@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Commit-Queue: Charlie Harrison <csharrison@chromium.org>
Cr-Commit-Position: refs/heads/master@{#551084}
[modify] https://crrev.com/a36f6418ab7f721d0ded77f45eed892026a048d8/content/browser/loader/resource_dispatcher_host_impl.cc
[modify] https://crrev.com/a36f6418ab7f721d0ded77f45eed892026a048d8/content/browser/loader/resource_dispatcher_host_impl.h
[modify] https://crrev.com/a36f6418ab7f721d0ded77f45eed892026a048d8/content/browser/web_contents/web_contents_impl_browsertest.cc

Status: Fixed (was: Started)
Project Member

Comment 5 by bugdroid1@chromium.org, Apr 17 2018

Labels: merge-merged-testbranch
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a36f6418ab7f721d0ded77f45eed892026a048d8

commit a36f6418ab7f721d0ded77f45eed892026a048d8
Author: Charlie Harrison <csharrison@chromium.org>
Date: Mon Apr 16 19:53:25 2018

Beef up and de-flake UpdateLoadState test

This CL changes the test to:
 - Use the default timer to push load state updates, which should
   deflake the test. This is accomplished using a WebContentsDelegate.
 - Tests the actual LoadState, not just the host.

The test was currently flaking due to the update + ACK refactor which
wasn't compatible with the test.

Bug:  830991 
Change-Id: I4d788e7a7388617af39f0981bd84fc7d1da6a87c
Reviewed-on: https://chromium-review.googlesource.com/1009287
Reviewed-by: Matt Menke <mmenke@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Commit-Queue: Charlie Harrison <csharrison@chromium.org>
Cr-Commit-Position: refs/heads/master@{#551084}
[modify] https://crrev.com/a36f6418ab7f721d0ded77f45eed892026a048d8/content/browser/loader/resource_dispatcher_host_impl.cc
[modify] https://crrev.com/a36f6418ab7f721d0ded77f45eed892026a048d8/content/browser/loader/resource_dispatcher_host_impl.h
[modify] https://crrev.com/a36f6418ab7f721d0ded77f45eed892026a048d8/content/browser/web_contents/web_contents_impl_browsertest.cc

Sign in to add a comment