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

Issue 694814 link

Starred by 1 user

Issue metadata

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



Sign in to add a comment

Android Cronet compile failing due to missing PrefStore::GetValues

Project Member Reported by aelias@chromium.org, Feb 21 2017

Issue description

See https://uberchromegw.corp.google.com/i/chromium.android/builders/Android%20Cronet%20Data%20Reduction%20Proxy%20Builder/builds/4237

Culprit CL is almost certainly https://codereview.chromium.org/2692203007 "Add PrefStore::GetValues", I'll revert.

[3960/7201] CXX obj/components/cronet/android/cronet_static/cronet_data_reduction_proxy.o
FAILED: obj/components/cronet/android/cronet_static/cronet_data_reduction_proxy.o 
/b/build/slave/cache/goma_client/gomacc ../../third_party/android_tools/ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-g++ -MMD -MF obj/components/cronet/android/cronet_static/cronet_data_reduction_proxy.o.d -DDATA_REDUCTION_PROXY_SUPPORT -DV8_DEPRECATION_WARNINGS -DUSE_OPENSSL_CERTS=1 -DNO_TCMALLOC -DUSE_EXTERNAL_POPUP_MENU=1 -DDISABLE_NACL -DSAFE_BROWSING_DB_REMOTE -DCHROMIUM_BUILD -DENABLE_MEDIA_ROUTER=1 -DENABLE_WEBVR -DFIELDTRIAL_TESTING_ENABLED -D_FILE_OFFSET_BITS=64 -DANDROID -DHAVE_SYS_UIO_H -DANDROID_NDK_VERSION=r12b -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FORTIFY_SOURCE=2 -D__GNU_SOURCE=1 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DGOOGLE_PROTOBUF_NO_RTTI -DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER -DHAVE_PTHREAD -Igen/components/cronet/android/cronet_version_header -I../.. -Igen -I../../third_party/protobuf/src -Igen/protoc_out -I../../third_party/protobuf/src -Igen/components/cronet/android/cronet_jni_headers -Igen/components/cronet/android/cronet_jni_headers/cronet -Igen/components/metrics/proto -I../../third_party/boringssl/src/include -DLOGGING=1 -Wno-sign-promo -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -funwind-tables -fPIC -pipe -ffunction-sections -fno-short-enums -finline-limit=64 -march=armv7-a -mfloat-abi=softfp -mtune=generic-armv7-a -fno-tree-sra -fno-caller-saves -mfpu=vfpv3-d16 -mthumb -mthumb-interwork -Wall -Werror -Wno-psabi -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-missing-field-initializers -Wno-unused-parameter -Os -fno-ident -fdata-sections -ffunction-sections -fomit-frame-pointer -gdwarf-3 -g1 --sysroot=../../third_party/android_tools/ndk/platforms/android-16/arch-arm -fvisibility=hidden -fvisibility-inlines-hidden -std=gnu++11 -Wno-narrowing -fno-rtti -isystem../../third_party/android_tools/ndk/sources/cxx-stl/llvm-libc++/libcxx/include -isystem../../third_party/android_tools/ndk/sources/cxx-stl/llvm-libc++abi/libcxxabi/include -isystem../../third_party/android_tools/ndk/sources/android/support/include -fno-exceptions -c ../../components/cronet/android/cronet_data_reduction_proxy.cc -o obj/components/cronet/android/cronet_static/cronet_data_reduction_proxy.o
../../components/cronet/android/cronet_data_reduction_proxy.cc: In function 'std::__ndk1::unique_ptr<PrefService> cronet::{anonymous}::CreatePrefService()':
../../components/cronet/android/cronet_data_reduction_proxy.cc:43:54: error: invalid new-expression of abstract class type 'CronetInMemoryPrefStore'
       make_scoped_refptr(new CronetInMemoryPrefStore()));
                                                      ^
In file included from ../../components/cronet/android/cronet_data_reduction_proxy.cc:13:0:
../../components/cronet/android/cronet_in_memory_pref_store.h:26:7: note:   because the following virtual functions are pure within 'CronetInMemoryPrefStore':
 class CronetInMemoryPrefStore : public PersistentPrefStore {
       ^
In file included from ../../components/prefs/writeable_pref_store.h:14:0,
                 from ../../components/prefs/persistent_pref_store.h:11,
                 from ../../components/cronet/android/cronet_in_memory_pref_store.h:16,
                 from ../../components/cronet/android/cronet_data_reduction_proxy.cc:13:
../../components/prefs/pref_store.h:58:50: note: 	virtual std::__ndk1::unique_ptr<base::DictionaryValue> PrefStore::GetValues() const
   virtual std::unique_ptr<base::DictionaryValue> GetValues() const = 0;


 
Project Member

Comment 1 by bugdroid1@chromium.org, Feb 21 2017

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

commit 0373fe1947fb05fbe421407dc7f393e430db6019
Author: aelias <aelias@chromium.org>
Date: Tue Feb 21 23:50:54 2017

Revert of Add PrefStore::GetValues (patchset #8 id:140001 of https://codereview.chromium.org/2692203007/ )

Reason for revert:
Breaks compile on Cronet proxy.

BUG= 694814 

Original issue's description:
> Add PrefStore::GetValues
>
> Currently there's no way to proxy a PrefStore, which we need to
> in the new prefs service, because there's no way to get its
> initial state. The existing observer interface can only be used
> to get changed values and GetValue requires that you know all the
> keys in advance.
>
> GetValues involve a deep copy, but the intended consumer needs to
> take ownership to send the value over the wire anyway.
>
> Design doc: https://docs.google.com/document/d/1Fj013SXClTzk4Yfq2eoL9OkKfN0h-GLXPAokCXFkcTY/edit?usp=sharing
>
> BUG= 654988 
>
> Review-Url: https://codereview.chromium.org/2692203007
> Cr-Commit-Position: refs/heads/master@{#451691}
> Committed: https://chromium.googlesource.com/chromium/src/+/311d4a192239299e42e66b1319b19ee58a5a4b06

TBR=sammc@chromium.org,emaxx@chromium.org,bauerb@chromium.org,tibell@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 654988 

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

[modify] https://crrev.com/0373fe1947fb05fbe421407dc7f393e430db6019/chrome/browser/supervised_user/supervised_user_pref_store.cc
[modify] https://crrev.com/0373fe1947fb05fbe421407dc7f393e430db6019/chrome/browser/supervised_user/supervised_user_pref_store.h
[modify] https://crrev.com/0373fe1947fb05fbe421407dc7f393e430db6019/components/policy/core/browser/configuration_policy_pref_store.cc
[modify] https://crrev.com/0373fe1947fb05fbe421407dc7f393e430db6019/components/policy/core/browser/configuration_policy_pref_store.h
[modify] https://crrev.com/0373fe1947fb05fbe421407dc7f393e430db6019/components/prefs/default_pref_store.cc
[modify] https://crrev.com/0373fe1947fb05fbe421407dc7f393e430db6019/components/prefs/default_pref_store.h
[modify] https://crrev.com/0373fe1947fb05fbe421407dc7f393e430db6019/components/prefs/in_memory_pref_store.cc
[modify] https://crrev.com/0373fe1947fb05fbe421407dc7f393e430db6019/components/prefs/in_memory_pref_store.h
[modify] https://crrev.com/0373fe1947fb05fbe421407dc7f393e430db6019/components/prefs/json_pref_store.cc
[modify] https://crrev.com/0373fe1947fb05fbe421407dc7f393e430db6019/components/prefs/json_pref_store.h
[modify] https://crrev.com/0373fe1947fb05fbe421407dc7f393e430db6019/components/prefs/overlay_user_pref_store.cc
[modify] https://crrev.com/0373fe1947fb05fbe421407dc7f393e430db6019/components/prefs/overlay_user_pref_store.h
[modify] https://crrev.com/0373fe1947fb05fbe421407dc7f393e430db6019/components/prefs/overlay_user_pref_store_unittest.cc
[modify] https://crrev.com/0373fe1947fb05fbe421407dc7f393e430db6019/components/prefs/pref_store.h
[modify] https://crrev.com/0373fe1947fb05fbe421407dc7f393e430db6019/components/prefs/pref_value_map.cc
[modify] https://crrev.com/0373fe1947fb05fbe421407dc7f393e430db6019/components/prefs/pref_value_map.h
[modify] https://crrev.com/0373fe1947fb05fbe421407dc7f393e430db6019/components/prefs/testing_pref_store.cc
[modify] https://crrev.com/0373fe1947fb05fbe421407dc7f393e430db6019/components/prefs/testing_pref_store.h
[modify] https://crrev.com/0373fe1947fb05fbe421407dc7f393e430db6019/components/prefs/value_map_pref_store.cc
[modify] https://crrev.com/0373fe1947fb05fbe421407dc7f393e430db6019/components/prefs/value_map_pref_store.h
[modify] https://crrev.com/0373fe1947fb05fbe421407dc7f393e430db6019/components/user_prefs/tracked/segregated_pref_store.cc
[modify] https://crrev.com/0373fe1947fb05fbe421407dc7f393e430db6019/components/user_prefs/tracked/segregated_pref_store.h
[modify] https://crrev.com/0373fe1947fb05fbe421407dc7f393e430db6019/components/user_prefs/tracked/segregated_pref_store_unittest.cc

Comment 2 by aelias@chromium.org, Feb 21 2017

Status: Fixed (was: Assigned)

Sign in to add a comment