Explicitly cast ByteBuffer in clear() call to Buffer.
This works around the following error:
java.lang.NoSuchMethodError: java.nio.ByteBuffer.clear()Ljava/nio/ByteBuffer;
at com.google.devtools.build.lib.profiler.Profiler$BinaryFormatWriter.run(Profiler.java:949)
at java.lang.Thread.run(Thread.java:748)
JDK 9 introduced an overloaded methods with covariant return type.
Closes #5886.
PiperOrigin-RevId: 208642556
diff --git a/.bazelci/postsubmit.yml b/.bazelci/postsubmit.yml
index 9286983..c3816bd 100644
--- a/.bazelci/postsubmit.yml
+++ b/.bazelci/postsubmit.yml
@@ -15,6 +15,8 @@
- "//src/test/..."
- "//third_party/ijar/..."
- "//tools/android/..."
+ # Re-enable once fixed: https://github.com/bazelbuild/bazel/issues/5888
+ - "-//src/test/java/com/google/devtools/build/android/ziputils:ziputils-tests"
ubuntu1604:
shell_commands:
- sed -i.bak -e 's/^# android_sdk_repository/android_sdk_repository/' -e 's/^#
@@ -30,6 +32,8 @@
- "//src/test/..."
- "//third_party/ijar/..."
- "//tools/android/..."
+ # Re-enable once fixed: https://github.com/bazelbuild/bazel/issues/5888
+ - "-//src/test/java/com/google/devtools/build/android/ziputils:ziputils-tests"
ubuntu1804:
shell_commands:
- sed -i.bak -e 's/^# android_sdk_repository/android_sdk_repository/' -e 's/^#
@@ -45,6 +49,8 @@
- "//src/test/..."
- "//third_party/ijar/..."
- "//tools/android/..."
+ # Re-enable once fixed: https://github.com/bazelbuild/bazel/issues/5888
+ - "-//src/test/java/com/google/devtools/build/android/ziputils:ziputils-tests"
macos:
shell_commands:
- sed -i.bak -e 's/^# android_sdk_repository/android_sdk_repository/' -e 's/^#
@@ -60,6 +66,8 @@
- "//src/test/..."
- "//third_party/ijar/..."
- "//tools/android/..."
+ # Re-enable once fixed: https://github.com/bazelbuild/bazel/issues/5888
+ - "-//src/test/java/com/google/devtools/build/android/ziputils:ziputils-tests"
windows:
build_flags:
- "--copt=-w"
@@ -73,7 +81,10 @@
- "--test_env=JAVA_HOME"
- "--test_timeout=1200"
test_targets:
+ - "--"
- "//src:all_windows_tests"
+ # Re-enable once fixed: https://github.com/bazelbuild/bazel/issues/5888
+ - "-//src/test/java/com/google/devtools/build/android/ziputils:ziputils-tests"
rbe_ubuntu1604:
shell_commands:
- sed -i.bak -e 's/^# android_sdk_repository/android_sdk_repository/' -e 's/^#
diff --git a/.bazelci/presubmit.yml b/.bazelci/presubmit.yml
index 84f4f0d..d1bc3f1 100644
--- a/.bazelci/presubmit.yml
+++ b/.bazelci/presubmit.yml
@@ -19,6 +19,8 @@
- "-//src/test/shell/bazel:bazel_determinism_test"
# Re-enable once fixed: https://github.com/bazelbuild/bazel/issues/4663
- "-//src/test/shell/bazel/android:android_ndk_integration_test"
+ # Re-enable once fixed: https://github.com/bazelbuild/bazel/issues/5888
+ - "-//src/test/java/com/google/devtools/build/android/ziputils:ziputils-tests"
ubuntu1604:
shell_commands:
- sed -i.bak -e 's/^# android_sdk_repository/android_sdk_repository/' -e 's/^#
@@ -38,6 +40,8 @@
- "-//src/test/shell/bazel:bazel_determinism_test"
# Re-enable once fixed: https://github.com/bazelbuild/bazel/issues/4663
- "-//src/test/shell/bazel/android:android_ndk_integration_test"
+ # Re-enable once fixed: https://github.com/bazelbuild/bazel/issues/5888
+ - "-//src/test/java/com/google/devtools/build/android/ziputils:ziputils-tests"
ubuntu1804:
shell_commands:
- sed -i.bak -e 's/^# android_sdk_repository/android_sdk_repository/' -e 's/^#
@@ -57,6 +61,8 @@
- "-//src/test/shell/bazel:bazel_determinism_test"
# Re-enable once fixed: https://github.com/bazelbuild/bazel/issues/4663
- "-//src/test/shell/bazel/android:android_ndk_integration_test"
+ # Re-enable once fixed: https://github.com/bazelbuild/bazel/issues/5888
+ - "-//src/test/java/com/google/devtools/build/android/ziputils:ziputils-tests"
macos:
shell_commands:
- sed -i.bak -e 's/^# android_sdk_repository/android_sdk_repository/' -e 's/^#
@@ -87,6 +93,8 @@
- "-//src/test/shell/bazel:git_repository_test"
- "-//src/test/shell/bazel/android:aar_integration_test"
- "-//src/test/shell/bazel/android:android_integration_test"
+ # Re-enable once fixed: https://github.com/bazelbuild/bazel/issues/5888
+ - "-//src/test/java/com/google/devtools/build/android/ziputils:ziputils-tests"
windows:
build_flags:
- "--copt=-w"
@@ -100,7 +108,10 @@
- "--test_env=JAVA_HOME"
- "--test_timeout=1200"
test_targets:
+ - "--"
- "//src:all_windows_tests"
+ # Re-enable once fixed: https://github.com/bazelbuild/bazel/issues/5888
+ - "-//src/test/java/com/google/devtools/build/android/ziputils:ziputils-tests"
rbe_ubuntu1604:
shell_commands:
- sed -i.bak -e 's/^# android_sdk_repository/android_sdk_repository/' -e 's/^#
diff --git a/src/java_tools/buildjar/java/com/google/devtools/build/java/bazel/BazelJavaCompiler.java b/src/java_tools/buildjar/java/com/google/devtools/build/java/bazel/BazelJavaCompiler.java
index 87910ef..d263e30 100644
--- a/src/java_tools/buildjar/java/com/google/devtools/build/java/bazel/BazelJavaCompiler.java
+++ b/src/java_tools/buildjar/java/com/google/devtools/build/java/bazel/BazelJavaCompiler.java
@@ -76,10 +76,10 @@
private static class LangtoolsClassLoader extends URLClassLoader {
public LangtoolsClassLoader() throws MalformedURLException {
- super(new URL[] {getLangtoolsJar().toURI().toURL()}, getPlatformClassLoader());
+ super(new URL[] {getLangtoolsJar().toURI().toURL()}, getPlatformClassLoaderInternal());
}
- private static ClassLoader getPlatformClassLoader() {
+ private static ClassLoader getPlatformClassLoaderInternal() {
try {
return (ClassLoader) ClassLoader.class.getMethod("getPlatformClassLoader").invoke(null);
} catch (ReflectiveOperationException e) {
diff --git a/src/main/java/com/google/devtools/build/lib/profiler/Profiler.java b/src/main/java/com/google/devtools/build/lib/profiler/Profiler.java
index fb64aa2..11f2896 100644
--- a/src/main/java/com/google/devtools/build/lib/profiler/Profiler.java
+++ b/src/main/java/com/google/devtools/build/lib/profiler/Profiler.java
@@ -32,6 +32,7 @@
import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
+import java.nio.Buffer;
import java.nio.ByteBuffer;
import java.nio.charset.StandardCharsets;
import java.time.Duration;
@@ -946,7 +947,7 @@
ObjectDescriber describer = new ObjectDescriber();
TaskData data;
while ((data = queue.take()) != POISON_PILL) {
- sink.clear();
+ ((Buffer) sink).clear();
VarInt.putVarLong(data.threadId, sink);
VarInt.putVarInt(data.id, sink);