New issue
Advanced search Search tips

Issue 706665 link

Starred by 1 user

Issue metadata

Status: Archived
Owner:
Closed: Apr 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug



Sign in to add a comment

ProxyResolutionServiceProvider FATAL:weak_ptr.cc(26)] Check failed: sequence_checker_.CalledOnValidSequence().

Project Member Reported by alemate@chromium.org, Mar 30 2017

Issue description

ToT chrome.

Debug Chrome crashes on Chrome OS OOBE (samus):

[5746:5798:0329/184603.004638:FATAL:weak_ptr.cc(26)] Check failed: sequence_checker_.CalledOnValidSequence(). WeakPtrs must be checked on the same sequenced thread.
#0 0x59d2417bc3ed base::debug::StackTrace::StackTrace()
#1 0x59d2417bb0bc base::debug::StackTrace::StackTrace()
#2 0x59d241808dff logging::LogMessage::~LogMessage()
#3 0x59d241828079 base::internal::WeakReference::Flag::IsValid()
#4 0x59d24182820b base::internal::WeakReference::is_valid()
#5 0x59d23baa2e4f base::WeakPtr<>::get()
#6 0x59d23baa2af5 base::WeakPtr<>::operator bool()
#7 0x59d24351341d _ZN4base8internal12InvokeHelperILb1EvE8MakeItSoIRKMN8chromeos30ProxyResolutionServiceProviderEFvSt10unique_ptrINS5_7RequestESt14default_deleteIS7_EEERKNS_7WeakPtrIS5_EEJSA_EEEvOT_OT0_DpOT1_
#8 0x59d2435133cc _ZN4base8internal7InvokerINS0_9BindStateIMN8chromeos30ProxyResolutionServiceProviderEFvSt10unique_ptrINS4_7RequestESt14default_deleteIS6_EEEJNS_7WeakPtrIS4_EENS0_13PassedWrapperIS9_EEEEEFvvEE7RunImplIRKSB_RKSt5tupleIJSD_SF_EEJLm0ELm1EEEEvOT_OT0_NS_13
#9 0x59d2435132cc _ZN4base8internal7InvokerINS0_9BindStateIMN8chromeos30ProxyResolutionServiceProviderEFvSt10unique_ptrINS4_7RequestESt14default_deleteIS6_EEEJNS_7WeakPtrIS4_EENS0_13PassedWrapperIS9_EEEEEFvvEE3RunEPNS0_13BindStateBaseE
#10 0x59d23c26aaf9 _ZNO4base8CallbackIFvvELNS_8internal8CopyModeE0ELNS2_10RepeatModeE0EE3RunEv
#11 0x59d241a19bf2 base::debug::TaskAnnotator::RunTask()
#12 0x59d24182b7ed base::MessageLoop::RunTask()
#13 0x59d24182ba94 base::MessageLoop::DeferOrRunPendingTask()
#14 0x59d24182bdc0 base::MessageLoop::DoWork()
#15 0x59d2418482ee base::MessagePumpLibevent::Run()
#16 0x59d24182b347 base::MessageLoop::RunHandler()
#17 0x59d2418cd60a base::RunLoop::Run()
#18 0x59d24194d704 base::Thread::Run()
#19 0x59d23ce03716 content::BrowserThreadImpl::IOThreadRun()
#20 0x59d23ce03a1b content::BrowserThreadImpl::Run()
#21 0x59d24194df6a base::Thread::ThreadMain()
#22 0x59d24193561c base::(anonymous namespace)::ThreadFunc()
#23 0x7a2b09a74558 <unknown>
#24 0x7a2b0879f08d clone


This happens when "Continue" button is pressed on EULA screen and Gaia screen is shown.
 

Comment 1 by derat@chromium.org, Mar 30 2017

Status: Started (was: Assigned)
Yeah, this is my fault. :-(

I'm hopeful it'll be pretty straightforward to avoid accessing the weak pointer on the network thread. I think the change that introduced this is several commits deep now, unfortunately. Is it blocking you? I can have a fix sometime tomorrow, if I don't manage to get to it tonight (in maybe 2-3 hours).
It is not blocking me, as I just disabled that check.

(And there are other issues with debug build that I have to block/comment/workaround/etc.... Ugh.)

Comment 3 by derat@chromium.org, Mar 30 2017

I think that https://codereview.chromium.org/2786103002/ should fix this. Sorry!
Project Member

Comment 5 by bugdroid1@chromium.org, Apr 4 2017

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

commit 8cfe70b3bca63aec509c39bf48c384e7eba3372b
Author: derat <derat@chromium.org>
Date: Tue Apr 04 01:23:34 2017

chromeos: Avoid DCHECK in ProxyResolutionServiceProvider.

ProxyResolutionServiceProvider was incorrectly dereferencing
a WeakPtr from a thread other than the one on which it was
created. Make several of its private members be static and
pass more data into them to avoid this.

Also make tests create a network thread to catch issues like
this.

BUG= 706665 

Review-Url: https://codereview.chromium.org/2786103002
Cr-Commit-Position: refs/heads/master@{#461599}

[modify] https://crrev.com/8cfe70b3bca63aec509c39bf48c384e7eba3372b/chromeos/dbus/services/proxy_resolution_service_provider.cc
[modify] https://crrev.com/8cfe70b3bca63aec509c39bf48c384e7eba3372b/chromeos/dbus/services/proxy_resolution_service_provider.h
[modify] https://crrev.com/8cfe70b3bca63aec509c39bf48c384e7eba3372b/chromeos/dbus/services/proxy_resolution_service_provider_unittest.cc

Comment 6 by derat@chromium.org, Apr 4 2017

Status: Fixed (was: Started)
Sorry this took so long; the fix turned into a test refactor.
Project Member

Comment 7 by bugdroid1@chromium.org, Apr 8 2017

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

commit bee89c0dab49b79856ec089111e2d70cd97402ac
Author: derat <derat@chromium.org>
Date: Sat Apr 08 00:44:58 2017

chromeos: Reintroduce proxy resolution service error test.

Reintroduce an error-reporting test for
ProxyResolutionServiceProvider. This is a bit trickier to do
when using a full net::ProxyService.

BUG= 706665 

Review-Url: https://codereview.chromium.org/2798223002
Cr-Commit-Position: refs/heads/master@{#463078}

[modify] https://crrev.com/bee89c0dab49b79856ec089111e2d70cd97402ac/chromeos/dbus/services/proxy_resolution_service_provider_unittest.cc

Comment 8 by dchan@google.com, May 30 2017

Labels: VerifyIn-60

Comment 9 by dchan@chromium.org, Aug 1 2017

Labels: VerifyIn-61

Comment 10 by dchan@chromium.org, Jan 22 2018

Status: Archived (was: Fixed)

Sign in to add a comment