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

Issue 709703 link

Starred by 2 users

Issue metadata

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

Blocking:
issue 537099



Sign in to add a comment

cryptohome protobufs generate static initializers

Project Member Reported by thestig@chromium.org, Apr 8 2017

Issue description

As noted on https://bugs.chromium.org/p/chromium/issues/detail?id=537099#c1 and still present in Chromium browser builds for ChromeOS:

1) Build a chrome binary with:

is_component_build = false
is_debug = false
target_os = "chromeos"
use_ozone = false                                                                                                                                                                                                                                                                 

2) Run: tools/linux/dump-static-initializers.py ./out/cros/chrome

see entries like:

rpc.pb.cc cryptohome::GetBootAttributeReply::default_instance_

dump-static-initializers.py has a bug where it gets confused about multiple files named rpc.pb.cc, but it's really coming from the generated output of ./third_party/cros_system_api/dbus/cryptohome/rpc.proto and not ./media/remoting/rpc.proto.

When protoc processes rpc.proto, the resulting out/cros/gen/chromeos/dbus/cryptohome/rpc.pb.h does not make use of GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER. Looking at the protoc code, I believe this is because rpc.proto uses the extend protobuf language feature.

Can this be easily fixed, or is this something we'll just have to live with?
 
No idea -- I'm an OWNER in the third_party protobuf directory only because I updated it once, I don't actually know anything about protobufs :(
Cc: -pkasting@chromium.org
Components: OS>Systems
pkasting: Oh, I know that feeling. :) I'll un-CC you then.
FWIW, I don't know much about protobufs either, so I'm not sure if this is something the protobuf generator can fix internally.

Sign in to add a comment