You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
java.lang.IllegalArgumentException: Self-suppression not permitted
at io.opentelemetry.exporter.internal.marshal.Marshaler.b(Marshaler.java:4)
at io.opentelemetry.exporter.internal.okhttp.ProtoRequestBody.writeTo
Steps to reproduce
ProtoRequestBody
public void writeTo(BufferedSink paramBufferedSink) throws IOException {
this.marshaler.writeBinaryTo(paramBufferedSink.outputStream());
}
ProtoSerializer implements AutoCloseable, so close() will execute
public void close() throws IOException {
this.output.flush();
this.idCache.clear();
}
in Marshaler.writeBinaryTo(), try() and close() throw a same Throwable instance , so Throwable.addSuppressed() will throw new IllegalArgumentException(SELF_SUPPRESSION_MESSAGE, exception);
What version are you using?
1.21.1
The text was updated successfully, but these errors were encountered:
@traskopen-telemetry/opentelemetry-java#5239 that is a duplicate question but not resove, so will there be a fix plan?
eg:
ProtoSerializer.java @OverRide
public void close() throws IOException {
try {
output.flush();
idCache.clear();
} catch (IOException e) {
throw new IOException(e);
}
}
Describe the bug
java.lang.IllegalArgumentException: Self-suppression not permitted
at io.opentelemetry.exporter.internal.marshal.Marshaler.b(Marshaler.java:4)
at io.opentelemetry.exporter.internal.okhttp.ProtoRequestBody.writeTo
Steps to reproduce
ProtoRequestBody
public void writeTo(BufferedSink paramBufferedSink) throws IOException {
this.marshaler.writeBinaryTo(paramBufferedSink.outputStream());
}
Marshaler
public final void writeBinaryTo(OutputStream paramOutputStream) throws IOException {
ProtoSerializer protoSerializer = new ProtoSerializer(paramOutputStream);
try {
writeTo(protoSerializer);
return;
} finally {
try {
protoSerializer.close();
} finally {
protoSerializer = null;
}
}
}
ProtoSerializer implements AutoCloseable, so close() will execute
public void close() throws IOException {
this.output.flush();
this.idCache.clear();
}
in Marshaler.writeBinaryTo(), try() and close() throw a same Throwable instance , so Throwable.addSuppressed() will throw new IllegalArgumentException(SELF_SUPPRESSION_MESSAGE, exception);
What version are you using?
1.21.1
The text was updated successfully, but these errors were encountered: