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

Issue 727856 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Traveling - Back 2/6
Closed: May 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 1
Type: Bug


Show other hotlists

Hotlists containing this issue:
In-Product-Help


Sign in to add a comment

In-Product Help crashes when reading storage configuration

Project Member Reported by nyquist@chromium.org, May 30 2017

Issue description

Chrome Version: 60.0.3112.7
OS: Android

What steps will reproduce the problem?
(1) Set up a Chrome variations configuration for In-Product Help
(2) Start up Chrome using the command line representation of the config

What is the expected result?
Configuration would load correctly.

What happens instead?
Crash on startup.


Crash stack for reference:
I    6.208s Main  Reading native crash info from stdin
I    6.208s Main  Reading Android symbols from: /usr/local/google/codefast/chromium/src
I    6.208s Main  Searching for Chrome symbols from within: /usr/local/google/codefast/chromium/src/out-android/Debug/lib.unstripped:/usr/local/google/codefast/chromium/src/out-android/Debug/lib:/usr/local/google/codefast/chromium/src/out-android/Debug
I    6.208s Main  Using toolchain from: /usr/local/google/codefast/chromium/src/third_party/android_tools/ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-
I    6.208s Main  pid: 9096, tid: 9096, name: chromium.chrome  >>> org.chromium.chrome <<<
I    6.208s Main  signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x8
I    6.208s Main      r0 3529ae28  r1 517f11cf  r2 00000014  r3 517d9a23
I    6.208s Main      r4 c17d8dc8  r5 00000004  r6 c17d8dc4  r7 ff92e880
I    6.208s Main      r8 ff92e888  r9 c1959850  sl ff92e930  fp c17d8dc8
I    6.208s Main      ip bfca4a54  sp ff92e848  lr 00000014  pc c52e9984
I    6.208s Main  
I    6.208s Main  Stack Trace:
I    6.209s Main    RELADDR   FUNCTION                                                                                                                                   FILE:LINE
I    6.209s Main    v------>  size                                                                                                                                       /usr/local/google/codefast/chromium/src/third_party/android_tools/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/__hash_table:710
I    6.209s Main    v------>  bucket_count                                                                                                                               /usr/local/google/codefast/chromium/src/third_party/android_tools/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/__hash_table:941
I    6.209s Main    002e2984  __insert_unique                                                                                                                            /usr/local/google/codefast/chromium/src/third_party/android_tools/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/__hash_table:1760
I    6.209s Main    v------>  insert                                                                                                                                     /usr/local/google/codefast/chromium/src/third_party/android_tools/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/unordered_set:495
I    6.209s Main    00b70bef  InitializeEventConfig                                                                                                                      /usr/local/google/codefast/chromium/src/components/feature_engagement_tracker/internal/feature_config_storage_validator.cc:79
I    6.209s Main    00b70b8d  InitializeFeatureConfig                                                                                                                    /usr/local/google/codefast/chromium/src/components/feature_engagement_tracker/internal/feature_config_storage_validator.cc:65
I    6.209s Main    002106fd  InitializeFeatures                                                                                                                         /usr/local/google/codefast/chromium/src/components/feature_engagement_tracker/internal/feature_config_storage_validator.cc:54
I    6.209s Main    0020fd3b  Create                                                                                                                                     /usr/local/google/codefast/chromium/src/components/feature_engagement_tracker/internal/feature_engagement_tracker_impl.cc:108
I    6.209s Main    0020fa89  BuildServiceInstanceFor                                                                                                                    /usr/local/google/codefast/chromium/src/chrome/browser/feature_engagement_tracker/feature_engagement_tracker_factory.cc:51
I    6.209s Main    0000677b  BuildServiceInstanceFor                                                                                                                    /usr/local/google/codefast/chromium/src/components/keyed_service/content/browser_context_keyed_service_factory.cc:92
I    6.209s Main    00006c99  GetServiceForContext                                                                                                                       /usr/local/google/codefast/chromium/src/components/keyed_service/core/keyed_service_factory.cc:89
I    6.209s Main    v------>  GetFeatureEngagementTrackerForProfile                                                                                                      /usr/local/google/codefast/chromium/src/chrome/browser/android/feature_engagement_tracker/feature_engagement_tracker_factory_android.cc:23
I    6.209s Main    0020f92f  Java_org_chromium_chrome_browser_feature_1engagement_1tracker_FeatureEngagementTrackerFactory_nativeGetFeatureEngagementTrackerForProfile  /usr/local/google/codefast/chromium/src/out-android/Debug/gen/chrome/browser/jni_headers/chrome/jni/FeatureEngagementTrackerFactory_jni.h:42
I    6.209s Main    0101e159  offset 0xfbb000                                                                                                                            /data/app/org.chromium.chrome-2/oat/arm/base.odex

 
Project Member

Comment 2 by bugdroid1@chromium.org, May 31 2017

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

commit c91b24c8f2f55e6a71a02c999fa69cfdf0745c3e
Author: Tommy Nyquist <nyquist@chromium.org>
Date: Wed May 31 00:00:25 2017

Fix crash when using Chrome Variations config for In-Product Help

When using a valid configuration for In-Product Help, the Android
build crashes on startup, because of an issue with ownership in the
prod setup code.

Basically, a std::unique_ptr<> is used after it has been std::move()'d.

This CL moves the initialization of the configuration to be earlier
in the process, avoiding the whole problem, and ensuring that the
configuration is valid at any time later in the prod construction
code.

BUG= 727856 

Change-Id: Idbee5afe4658a920dbd7070c39389a8957653c93
Reviewed-on: https://chromium-review.googlesource.com/518290
Reviewed-by: David Trainor <dtrainor@chromium.org>
Commit-Queue: Tommy Nyquist <nyquist@chromium.org>
Cr-Commit-Position: refs/heads/master@{#475699}
[modify] https://crrev.com/c91b24c8f2f55e6a71a02c999fa69cfdf0745c3e/components/feature_engagement_tracker/internal/feature_engagement_tracker_impl.cc

Labels: Merge-Request-60
Status: Started (was: Untriaged)
Project Member

Comment 4 by sheriffbot@chromium.org, May 31 2017

Labels: -Merge-Request-60 Hotlist-Merge-Approved Merge-Approved-60
Your change meets the bar and is auto-approved for M60. Please go ahead and merge the CL to branch 3112 manually. Please contact milestone owner if you have questions.
Owners: amineer@(Android), cmasso@(iOS), josafat@(ChromeOS), bustamante@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Project Member

Comment 5 by bugdroid1@chromium.org, May 31 2017

Labels: -merge-approved-60 merge-merged-3112
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4d22a3dbfe12f311b7253b483f7c597146fe2891

commit 4d22a3dbfe12f311b7253b483f7c597146fe2891
Author: Tommy Nyquist <nyquist@chromium.org>
Date: Wed May 31 00:14:33 2017

Fix crash when using Chrome Variations config for In-Product Help

When using a valid configuration for In-Product Help, the Android
build crashes on startup, because of an issue with ownership in the
prod setup code.

Basically, a std::unique_ptr<> is used after it has been std::move()'d.

This CL moves the initialization of the configuration to be earlier
in the process, avoiding the whole problem, and ensuring that the
configuration is valid at any time later in the prod construction
code.

BUG= 727856 
TBR=nyquist@chromium.org

(cherry picked from commit c91b24c8f2f55e6a71a02c999fa69cfdf0745c3e)

Change-Id: Idbee5afe4658a920dbd7070c39389a8957653c93
Reviewed-on: https://chromium-review.googlesource.com/518290
Reviewed-by: David Trainor <dtrainor@chromium.org>
Commit-Queue: Tommy Nyquist <nyquist@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#475699}
Reviewed-on: https://chromium-review.googlesource.com/518524
Reviewed-by: Tommy Nyquist <nyquist@chromium.org>
Cr-Commit-Position: refs/branch-heads/3112@{#44}
Cr-Branched-From: b6460e24cf59f429d69de255538d0fc7a425ccf9-refs/heads/master@{#474897}
[modify] https://crrev.com/4d22a3dbfe12f311b7253b483f7c597146fe2891/components/feature_engagement_tracker/internal/feature_engagement_tracker_impl.cc

Status: Fixed (was: Started)
Components: Internals>FeatureEngagementTracker

Sign in to add a comment