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

Issue 678040 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 1
Type: Bug



Sign in to add a comment

DCHECK(!report_histogram_) in EnableActivityReportHistogram() can be hit on Android

Project Member Reported by asvitk...@chromium.org, Jan 3 2017

Issue description

DCHECK(!report_histogram_) in EnableActivityReportHistogram() can be hit on Android.

I hit this in a local debug testing build.

Turns out ContentMainRunner::Run() can be called multiple times on Android.

See this comment in content/app/android/content_main.cc:

  // On Android we can have multiple requests to start the browser in process
  // simultaneously. If we get an asynchonous request followed by a synchronous
  // request then we have to call this a second time to finish starting the
  // browser synchronously.

Here's a stack trace:

01-03 14:25:39.205  2111  2111 F DEBUG   :     #05 pc 0008864b  /data/app/com.google.android.apps.chrome-1/lib/arm/libbase.cr.so (base::debug::BreakDebugger()+18)
01-03 14:25:39.205  2111  2111 F DEBUG   :     #06 pc 0009d0ab  /data/app/com.google.android.apps.chrome-1/lib/arm/libbase.cr.so (logging::LogMessage::~LogMessage()+606)
01-03 14:25:39.205  2111  2111 F DEBUG   :     #07 pc 000aeb75  /data/app/com.google.android.apps.chrome-1/lib/arm/libbase.cr.so (base::HistogramBase::EnableActivityReportHistogram(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&)+68)
01-03 14:25:39.205  2111  2111 F DEBUG   :     #08 pc 00b7e7a1  /data/app/com.google.android.apps.chrome-1/lib/arm/libcontent.cr.so
01-03 14:25:39.205  2111  2111 F DEBUG   :     #09 pc 00b7dfe1  /data/app/com.google.android.apps.chrome-1/lib/arm/libcontent.cr.so (Java_org_chromium_content_app_ContentMain_nativeStart+252)
01-03 14:25:39.205  2111  2111 F DEBUG   :     #10 pc 01ae7d95  /data/app/com.google.android.apps.chrome-1/oat/arm/base.odex (offset 0x122e000) (int org.chromium.content.app.ContentMain.nativeStart()+72)
01-03 14:25:39.205  2111  2111 F DEBUG   :     #11 pc 01ae7e15  /data/app/com.google.android.apps.chrome-1/oat/arm/base.odex (offset 0x122e000) (int org.chromium.content.app.ContentMain.start()+48)
01-03 14:25:39.205  2111  2111 F DEBUG   :     #12 pc 01aec9f3  /data/app/com.google.android.apps.chrome-1/oat/arm/base.odex (offset 0x122e000) (int org.chromium.content.browser.BrowserStartupController.contentStart()+86)
01-03 14:25:39.205  2111  2111 F DEBUG   :     #13 pc 01aed28f  /data/app/com.google.android.apps.chrome-1/oat/arm/base.odex (offset 0x122e000) (void org.chromium.content.browser.BrowserStartupController.startBrowserProcessesSync(boolean)+202)
01-03 14:25:39.205  2111  2111 F DEBUG   :     #14 pc 018ae881  /data/app/com.google.android.apps.chrome-1/oat/arm/base.odex (offset 0x122e000) (void org.chromium.chrome.browser.init.ChromeBrowserInitializer.startChromeBrowserProcessesSync()+540)
01-03 14:25:39.205  2111  2111 F DEBUG   :     #15 pc 018af605  /data/app/com.google.android.apps.chrome-1/oat/arm/base.odex (offset 0x122e000) (void org.chromium.chrome.browser.init.ChromeBrowserInitializer.handlePostNativeStartup(boolean, org.chromium.chrome.browser.init.BrowserParts)+1352)
01-03 14:25:39.205  2111  2111 F DEBUG   :     #16 pc 018afb73  /data/app/com.google.android.apps.chrome-1/oat/arm/base.odex (offset 0x122e000) (void org.chromium.chrome.browser.init.ChromeBrowserInitializer.handleSynchronousStartup()+326)
01-03 14:25:39.205  2111  2111 F DEBUG   :     #17 pc 0188c147  /data/app/com.google.android.apps.chrome-1/oat/arm/base.odex (offset 0x122e000) (void org.chromium.chrome.browser.firstrun.FirstRunActivity.ensureBrowserProcessInitialized()+154)
01-03 14:25:39.205  2111  2111 F DEBUG   :     #18 pc 0188bd23  /data/app/com.google.android.apps.chrome-1/oat/arm/base.odex (offset 0x122e000) (void org.chromium.chrome.browser.firstrun.FirstRunActivity.createPostNativePageSequence()+94)
01-03 14:25:39.205  2111  2111 F DEBUG   :     #19 pc 0188cdb3  /data/app/com.google.android.apps.chrome-1/oat/arm/base.odex (offset 0x122e000) (void org.chromium.chrome.browser.firstrun.FirstRunActivity.acceptTermsOfService(boolean)+62)
01-03 14:25:39.205  2111  2111 F DEBUG   :     #20 pc 027b9857  /data/app/com.google.android.apps.chrome-1/oat/arm/base.odex (offset 0x122e000) (void org.chromium.chrome.browser.firstrun.ToSAndUMAFirstRunFragment$1.onClick(android.view.View)+194)
01-03 14:25:39.205  2111  2111 F DEBUG   :     #21 pc 7315d575  /data/dalvik-cache/arm/system@framework@boot.oat (offset 0x1ec9000)

 
Project Member

Comment 1 by bugdroid1@chromium.org, Jan 5 2017

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

commit 2805edaba1b852b6ce489a8f88bd8e90e51b73d2
Author: bcwhite <bcwhite@chromium.org>
Date: Thu Jan 05 19:38:09 2017

Warn about but ignore multiple attempts to create activity-report histogram.

BUG= 678040 

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

[modify] https://crrev.com/2805edaba1b852b6ce489a8f88bd8e90e51b73d2/base/metrics/histogram_base.cc

Status: Fixed (was: Assigned)

Sign in to add a comment