Skip to content

Native Histogram not working with GraalVM #1995

@altaiezior

Description

@altaiezior
SEVERE: The Prometheus metrics HTTPServer caught an Exception while trying to send the metrics response.
java.lang.IllegalStateException: Generated message class "io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_34_0.Metrics$MetricFamily" missing method "getName".
	at com.google.protobuf.GeneratedMessage.getMethodOrDie(GeneratedMessage.java:2109)
	at com.google.protobuf.GeneratedMessage.access$1100(GeneratedMessage.java:55)
	at com.google.protobuf.GeneratedMessage$FieldAccessorTable$SingularFieldAccessor$ReflectionInvoker.<init>(GeneratedMessage.java:2494)
	at com.google.protobuf.GeneratedMessage$FieldAccessorTable$SingularFieldAccessor.<init>(GeneratedMessage.java:2563)
	at com.google.protobuf.GeneratedMessage$FieldAccessorTable$SingularStringFieldAccessor.<init>(GeneratedMessage.java:3212)
	at com.google.protobuf.GeneratedMessage$FieldAccessorTable.ensureFieldAccessorsInitialized(GeneratedMessage.java:2257)
	at io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_34_0.Metrics$MetricFamily.internalGetFieldAccessorTable(Metrics.java:13756)
	at com.google.protobuf.GeneratedMessage.getAllFieldsMutable(GeneratedMessage.java:132)
	at com.google.protobuf.GeneratedMessage.getAllFields(GeneratedMessage.java:210)
	at com.google.protobuf.TextFormat$Printer.printMessage(TextFormat.java:794)
	at com.google.protobuf.TextFormat$Printer.print(TextFormat.java:401)
	at com.google.protobuf.TextFormat$Printer.print(TextFormat.java:386)
	at com.google.protobuf.TextFormat$Printer.printToString(TextFormat.java:683)
	at com.google.protobuf.TextFormat$Printer.printToString(TextFormat.java:674)
	at io.prometheus.metrics.expositionformats.internal.PrometheusProtobufWriterImpl.toDebugString(PrometheusProtobufWriterImpl.java:53)
	at io.prometheus.metrics.expositionformats.PrometheusProtobufWriter.toDebugString(PrometheusProtobufWriter.java:59)
	at io.prometheus.metrics.exporter.common.PrometheusScrapeHandler.writeDebugResponse(PrometheusScrapeHandler.java:169)
	at io.prometheus.metrics.exporter.common.PrometheusScrapeHandler.handleRequest(PrometheusScrapeHandler.java:64)
	at io.prometheus.metrics.exporter.httpserver.MetricsHandler.handle(MetricsHandler.java:33)
	at jdk.httpserver@25.0.2/com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:98)
	at jdk.httpserver@25.0.2/sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:76)
	at jdk.httpserver@25.0.2/com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:101)
	at jdk.httpserver@25.0.2/sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:915)
	at jdk.httpserver@25.0.2/com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:98)
	at jdk.httpserver@25.0.2/sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:891)
	at java.base@25.0.2/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
	at java.base@25.0.2/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
	at java.base@25.0.2/java.lang.Thread.runWith(Thread.java:1487)
	at java.base@25.0.2/java.lang.Thread.run(Thread.java:1474)
	at org.graalvm.nativeimage.builder/com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:837)
	at org.graalvm.nativeimage.builder/com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:813)
Caused by: java.lang.NoSuchMethodException: io.prometheus.metrics.expositionformats.generated.com_google_protobuf_4_34_0.Metrics$MetricFamily.getName()
	at java.base@25.0.2/java.lang.Class.checkMethod(DynamicHub.java:1343)
	at java.base@25.0.2/java.lang.Class.getMethod(DynamicHub.java:1337)
	at com.google.protobuf.GeneratedMessage.getMethodOrDie(GeneratedMessage.java:2106)
	... 30 more

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions