New issue
Advanced search Search tips

Issue 653299 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

budget_database is rounding inaccurately on some devices

Reported by kra...@amazon.com, Oct 5 2016

Issue description

Version: Tip of master
OS: Android

What steps will reproduce the problem?
(1) On a Kindle Fire HDX, run unit_tests

What is the expected output?
All tests pass

What do you see instead?
C  268.824s Main  ********************************************************************************
C  268.830s Main  [==========] 2305 tests ran.
C  268.830s Main  [  PASSED  ] 2299 tests.
C  268.830s Main  [  FAILED  ] 6 tests, listed below:
C  268.830s Main  [  FAILED  ] BudgetDatabaseTest.AddEngagementBudgetTest
C  268.830s Main  [  FAILED  ] BudgetDatabaseTest.CheckEngagementHistograms
C  268.830s Main  [  FAILED  ] BudgetManagerTest.GetBudgetConsumedOverTime
C  268.830s Main  [  FAILED  ] BudgetDatabaseTest.CheckBackgroundBudgetHistogram (CRASHED)
C  268.830s Main  [  FAILED  ] BudgetDatabaseTest.GetBudgetNegativeTime (CRASHED)
C  268.830s Main  [  FAILED  ] BudgetDatabaseTest.SpendBudgetTest (CRASHED)

3 of them crash:
C  268.823s Main  [ERROR:test_suite.cc(270)] Currently running: BudgetDatabaseTest.GetBudgetNegativeTime
C  268.823s Main  [CRASH] BudgetDatabaseTest.SpendBudgetTest:
C  268.823s Main  [ RUN      ] BudgetDatabaseTest.SpendBudgetTest
C  268.823s Main  [FATAL:budget_database.cc(166)] Check failed: 0 == total (0 vs. 4.44089e-16)

3 fail:
C  268.820s Main  [FAIL] BudgetDatabaseTest.AddEngagementBudgetTest:
C  268.820s Main  [ RUN      ] BudgetDatabaseTest.AddEngagementBudgetTest
C  268.820s Main  ../../chrome/browser/budget_service/budget_database_unittest.cc:126: Failure
C  268.820s Main  Value of: prediction_[0]->budget_at
C  268.820s Main    Actual: 30
C  268.820s Main  Expected: kDefaultEngagement
C  268.820s Main  Which is: 30
C  268.820s Main  [  FAILED  ] BudgetDatabaseTest.AddEngagementBudgetTest (35 ms)
C  268.820s Main  [FAIL] BudgetDatabaseTest.CheckEngagementHistograms:
C  268.820s Main  [ RUN      ] BudgetDatabaseTest.CheckEngagementHistograms
C  268.820s Main  ../../chrome/browser/budget_service/budget_database_unittest.cc:284: Failure
C  268.820s Main  Value of: SpendBudget(cost)
C  268.820s Main    Actual: false
C  268.820s Main  Expected: true
C  268.820s Main  [  FAILED  ] BudgetDatabaseTest.CheckEngagementHistograms (28 ms)
C  268.820s Main  [FAIL] BudgetManagerTest.GetBudgetConsumedOverTime:
C  268.820s Main  [ RUN      ] BudgetManagerTest.GetBudgetConsumedOverTime
C  268.820s Main  ../../chrome/browser/budget_service/budget_manager_unittest.cc:97: Failure
C  268.820s Main  Value of: ReserveBudget(type)
C  268.820s Main    Actual: false
C  268.820s Main  Expected: true
C  268.820s Main  [  FAILED  ] BudgetManagerTest.GetBudgetConsumedOverTime (58 ms)
C  268.821s Main  [CRASH] BudgetDatabaseTest.CheckBackgroundBudgetHistogram:
C  268.821s Main  [ RUN      ] BudgetDatabaseTest.CheckBackgroundBudgetHistogram
C  268.821s Main  [FATAL:budget_database.cc(166)] Check failed: 0 == total (0 vs. 8.88178e-16)


Please use labels and text to provide additional information.
While those seem at first glance like an EXPECT_NEAR might fix the issue, that just leads other checks further down the line fail.
Some of them are rather drastic differences - e.g. the histogram buckets are often off by a full bucket (which is a value of 2)

--> This is most likely not just affecting Kindie Fire devices, but is rather caused by the Qualcom chipset, which is known to sometimes have slight rounding deviations.

I'm slightly concerned about the histogram part - deviations of a full bucket seem problematic.
 
Components: Blink>PushAPI

Comment 2 by picksi@chromium.org, Feb 26 2018

Owner: peter@chromium.org
Status: Assigned (was: Untriaged)

Sign in to add a comment