New issue
Advanced search Search tips

Issue 841681 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: May 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug



Sign in to add a comment

Check failed: observations_.empty() || observation.timestamp() >= observations_.back().timestamp().

Reported by cy...@yandex-team.ru, May 10 2018

Issue description

Steps to reproduce the problem:
1. Launch app
2. Turn on\off mobile internet several times
3. Crash

What is the expected behavior?

What went wrong?
Crash

Crashed report ID: 

How much crashed? Whole browser

Is it a problem with a plugin? N/A 

Did this work before? N/A 

Chrome version: <Copy from: 'about:version'>  Channel: canary
OS Version: 38.0.3419.0
Flash Version: 

Reproduced from version 66.
Code was added in https://chromium-review.googlesource.com/841106
 
dcheck_1.txt
54.7 KB View Download

Comment 1 Deleted

Components: Internals>Network
Chrome version:  68.0.3419.0
Cc: tbansal@chromium.org
Components: -Internals>Network Internals>Network>NetworkQuality
Thanks for report. CC'ing tbansal as author for the DCHECK.

Pasting for better overview:
  000cf651  logging::LogMessage::~LogMessage()                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          /home/oleg/projects/chromium/src/src/base/logging.cc:594:29
  00384d3f  net::nqe::internal::ObservationBuffer::AddObservation(net::nqe::internal::Observation const&)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               /home/oleg/projects/chromium/src/src/net/nqe/observation_buffer.cc:57:3
  0037df7f  net::NetworkQualityEstimator::AddAndNotifyObserversOfRTT(net::nqe::internal::Observation const&)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            /home/oleg/projects/chromium/src/src/net/nqe/network_quality_estimator.cc:1468:62
  00380003  net::NetworkQualityEstimator::ReadCachedNetworkQualityEstimate()                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            /home/oleg/projects/chromium/src/src/net/nqe/network_quality_estimator.cc:1409:3
  0037fd5d  net::NetworkQualityEstimator::ContinueGatherEstimatesForNextConnectionType(net::nqe::internal::NetworkID const&)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            /home/oleg/projects/chromium/src/src/net/nqe/network_quality_estimator.cc:736:8
  0037dcfb  net::NetworkQualityEstimator::GatherEstimatesForNextConnectionType()                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        /home/oleg/projects/chromium/src/src/net/nqe/network_quality_estimator.cc:704:5
  0037fcd7  net::NetworkQualityEstimator::OnConnectionTypeChanged(net::NetworkChangeNotifier::ConnectionType)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           /home/oleg/projects/chromium/src/src/net/nqe/network_quality_estimator.cc:696:3
  002f0917  base::internal::Invoker<base::internal::BindState<void (*)(void (net::NetworkChangeNotifier::NetworkChangeObserver::*)(net::NetworkChangeNotifier::ConnectionType), net::NetworkChangeNotifier::ConnectionType, net::NetworkChangeNotifier::NetworkChangeObserver*), void (net::NetworkChangeNotifier::NetworkChangeObserver::*)(net::NetworkChangeNotifier::ConnectionType), net::NetworkChangeNotifier::ConnectionType>, void (net::NetworkChangeNotifier::NetworkChangeObserver*)>::Run(base::internal::BindStateBase*, net::NetworkChangeNotifier::NetworkChangeObserver*)                                                                                                                                                                                                                                              /home/oleg/projects/chromium/src/src/base/bind_internal.h:603:12
  002b6bf1  base::ObserverListThreadSafe<net::CertDatabase::Observer>::NotifyWrapper(net::CertDatabase::Observer*, base::ObserverListThreadSafe<net::CertDatabase::Observer>::NotificationData const&)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  /home/oleg/projects/chromium/src/src/base/observer_list_threadsafe.h:215:25
  002b6f5b  void base::internal::InvokeHelper<false, void>::MakeItSo<void (base::ObserverListThreadSafe<net::CertDatabase::Observer>::*)(net::CertDatabase::Observer*, base::ObserverListThreadSafe<net::CertDatabase::Observer>::NotificationData const&), scoped_refptr<base::ObserverListThreadSafe<net::CertDatabase::Observer> >, net::CertDatabase::Observer*, base::ObserverListThreadSafe<net::CertDatabase::Observer>::NotificationData>(void (base::ObserverListThreadSafe<net::CertDatabase::Observer>::*&&)(net::CertDatabase::Observer*, base::ObserverListThreadSafe<net::CertDatabase::Observer>::NotificationData const&), scoped_refptr<base::ObserverListThreadSafe<net::CertDatabase::Observer> >&&, net::CertDatabase::Observer*&&, base::ObserverListThreadSafe<net::CertDatabase::Observer>::NotificationData&&)  /home/oleg/projects/chromium/src/src/base/bind_internal.h:547:12
  000bac21  base::OnceCallback<void ()>::Run() &&                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       /home/oleg/projects/chromium/src/src/base/callback.h:96:12

+
Owner: tbansal@chromium.org
Status: Started (was: Unconfirmed)
Making tbansal the proxy owner of this bug since not able to set cypt4@yandex-team.ru as owner but cypt4 is the one with CL in review.
Project Member

Comment 7 by bugdroid1@chromium.org, May 15 2018

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

commit d7f1662fbdcd8664dd6ce365784359219888d485
Author: cypt4 <cypt4@yandex-team.ru>
Date: Tue May 15 04:33:19 2018

Fix dcheck in network_quality_estimator

Adding http_rtt_observation in ReadCachedNetworkQualityEstimate
causes notifying observers.
That can lead to calling ReadCachedNetworkQualityEstimate again.
So some observations can be added between adding
http_rtt_observation and adding transport_rtt_observation.
That ends up to breaking observations timestamp increasing.
To fix this we can use new timestamp each time when add
observation.
Same logic is used in AddDefaultEstimates for example.

R=ryansturm@chromium.org, tbansal@chromium.org

Bug:  841681 
Change-Id: Ibed7d5e8e3efca82915d37b1de58df50ae43ff58
Reviewed-on: https://chromium-review.googlesource.com/1052690
Reviewed-by: Tarun Bansal <tbansal@chromium.org>
Commit-Queue: Tarun Bansal <tbansal@chromium.org>
Cr-Commit-Position: refs/heads/master@{#558609}
[modify] https://crrev.com/d7f1662fbdcd8664dd6ce365784359219888d485/net/nqe/network_quality_estimator.cc

Status: Fixed (was: Started)
Looks like this should be fixed. cypt4, thanks for filing the bug and fixing it promptly. I am marking this as fixed.

Sign in to add a comment