I install Bazel 0.17.1 in a fresh ubuntu:xenial container using the installer.sh, and when I run bazel version it gives the following warnings:
bazel version
Extracting Bazel installation...
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.protobuf.UnsafeUtil (file:/root/.cache/bazel/_bazel_root/install/28c1d2ace0add449e21862ae9f2d2289/_embedded_binaries/A-server.jar) to field java.lang.String.value
WARNING: Please consider reporting this to the maintainers of com.google.protobuf.UnsafeUtil
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
WARNING: --batch mode is deprecated. Please instead explicitly shut down your Bazel server using the command "bazel shutdown".
Build label: 0.17.1
Build target: bazel-out/k8-opt/bin/src/main/java/com/google/devtools/build/lib/bazel/BazelServer_deploy.jar
Build time: Fri Sep 14 10:39:25 2018 (1536921565)
Build timestamp: 1536921565
Build timestamp as int: 1536921565
I'm just not sure if that's expected with the new version.
docker run -it ubuntu:xenial bash
apt-get update && apt-get install -y wget unzip
wget https://github.com/bazelbuild/bazel/releases/download/0.17.1/bazel-0.17.1-installer-linux-x86_64.sh
chmod +x bazel-0.17.1-installer-linux-x86_64.sh
./chmod +x bazel-0.17.1-installer-linux-x86_64.sh
bazel version
ubuntu xenial docker container
bazel info release?bazel info release
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.protobuf.UnsafeUtil (file:/root/.cache/bazel/_bazel_root/install/28c1d2ace0add449e21862ae9f2d2289/_embedded_binaries/A-server.jar) to field java.lang.String.value
WARNING: Please consider reporting this to the maintainers of com.google.protobuf.UnsafeUtil
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
ERROR: The 'info' command is only supported from within a workspace.
WARNING: --batch mode is deprecated. Please instead explicitly shut down your Bazel server using the command "bazel shutdown".
I'm just not sure if that's expected with the new version.
We should suppress those warnings, but it's harmless to ignore them for now.
And you should only see these on startup, i.e. subsequent runs of bazel version shouldn't print warnings.
I see them during every build, not just on startup.
INFO: From Checking the completeness of the deps for external/androidx_vectordrawable_vectordrawable_1_0_0_beta01/_aar/androidx_vectordrawable_vectordrawable_1_0_0_beta01/classes_and_libs_merged.jar:
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.protobuf.UnsafeUtil (file:/private/var/tmp/_bazel_jgavris/install/5d78d317e261432eb3abd12e67760ca9/_embedded_binaries/embedded_tools/src/java_tools/import_deps_checker/java/com/google/devtools/build/importdeps/ImportDepsChecker_deploy.jar) to field java.nio.Buffer.address
WARNING: Please consider reporting this to the maintainers of com.google.protobuf.UnsafeUtil
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
That's a different instance of the same problem, the same suppression flags are needed here too:
When buliding an android app it does spit out a lot of them building the build, it seems everytime a java process it started.
Was this fixed?
https://github.com/bazelbuild/bazel/commit/efdb3f6874fc1c11525bc66d51c109f9367aed36 seems not cherry-picked in 0.17.2. Will it be included in 0.18 @aehlig?
efdb3f6 seems not cherry-picked in 0.17.2. Will it be included in 0.18 @aehlig?
AFAICT, the problem still exists in 0.18.0. ANd the warnings are printed sometimes when I run bazel command. E.g. it happend for 'bazel version' and 'bazel shutdown', or help
Running on Ubuntu 16.04.5 LTS
Several of us on Angular team observed this after update to 0.18
Building Bazel HEAD using Bazel 0.18.0 in IntelliJ on my Arch Linux box (no matter if system JDK is 8 or 10) spams the build log with ~100 of these annoying messages.
@alexeagle @philwo this affects every Java binary that transitively depends on protos: https://github.com/protocolbuffers/protobuf/issues/3781
Which specific tools are you seeing generate warnings? The fix is to add the following JVM flags:
jvm_flags = [
# quiet warnings from com.google.protobuf.UnsafeUtil,
# see: https://github.com/google/protobuf/issues/3781
"-XX:+IgnoreUnrecognizedVMOptions",
"--add-opens=java.base/java.nio=ALL-UNNAMED",
"--add-opens=java.base/java.lang=ALL-UNNAMED",
],
@cushon This is what I'm seeing:
INFO: From Parsing java package strings for //src/main/java/com/google/devtools/build/lib/windows/jni:processes:
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.protobuf.repackaged.UnsafeUtil (file:/home/philwo/.IntelliJIdea2018.2/config/plugins/ijwb/aspect/tools/PackageParser_deploy.jar) to field java.nio.Buffer.address
WARNING: Please consider reporting this to the maintainers of com.google.protobuf.repackaged.UnsafeUtil
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
I guess it comes from our IntelliJ plugin?
I'm getting it, and I quote: "From parsing Android resources for //path/to/package".
Then I get the full set of warnings. It'd be superlatively nice to shut them up, especially since literally every android_library seems to be triggering it. I really don't want to add it to every library target.
Still happens with 0.21.0
$ bazel version
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.protobuf.UnsafeUtil (file:/tmp/Viesis/.cache/bazel/_bazel_Viesis/install/90846db665bd444d85cd9a305cffe931/_embedded_binaries/A-server.jar) to field java.nio.Buffer.address
WARNING: Please consider reporting this to the maintainers of com.google.protobuf.UnsafeUtil
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
WARNING: --batch mode is deprecated. Please instead explicitly shut down your Bazel server using the command "bazel shutdown".
INFO: Invocation ID: c58d4149-cb9e-4139-aabc-60b7e0b2921e
Build label: 0.21.0- (@non-git)
Build target: bazel-out/k8-opt/bin/src/main/java/com/google/devtools/build/lib/bazel/BazelServer_deploy.jar
Build time: Thu Dec 20 19:15:52 2018 (1545333352)
Build timestamp: 1545333352
Build timestamp as int: 1545333352
Dupe of #5439?
This is fixed as of Bazel from today.
Most helpful comment
Several of us on Angular team observed this after update to 0.18