From a05e6ccdba85f5e827245aa581accd2867e40851 Mon Sep 17 00:00:00 2001 From: Tobias Werth Date: Tue, 14 Aug 2018 07:16:52 -0700 Subject: 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 --- src/main/java/com/google/devtools/build/lib/profiler/Profiler.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/main') 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 fb64aa2a31..11f28965b3 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.DataOutputStream; 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 @@ public final class Profiler { 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); -- cgit v1.2.3