Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Agent Version 3.7.9 Yields `java.lang.ClassCircularityError`

Aperta
#4,817 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
45/100
Tipo di issue
Bug
Chiarezza
Da chiarire
Stato di attività
Attiva
Stack tecnologico
java
Ambito
observability

Direzione di ricerca

Riproduci il malfunzionamento avviando Apache Karaf 4.4.7 su Java 17 con l’agente 3.7.9, quindi confrontalo con l’agente 3.7.5 come descritto. Inizia da AgentStarterImpl.start e OpenTelemetryAgent.startAgent nello stack trace e analizza il percorso di avvio intorno a ClassCircularityError. Il lavoro è completato quando l’applicazione si avvia correttamente con la versione interessata dell’agente e la regressione è coperta da un test appropriato.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Expected behavior

Application starts successfully.

Actual behavior

Application start fails with exception:

ERROR io.opentelemetry.javaagent.OpenTelemetryAgent
java.lang.ClassCircularityError: java/lang/invoke/MethodHandle$1
      at java.base/java.lang.invoke.MethodHandle.customize(MethodHandle.java:1741)
      at java.base/java.lang.invoke.MethodHandle.maybeCustomize(MethodHandle.java:1731)
      at java.base/java.lang.invoke.Invokers.maybeCustomize(Invokers.java:634)
      at java.base/java.lang.invoke.Invokers.checkCustomized(Invokers.java:628)
      at java.base/java.lang.invoke.BootstrapMethodInvoker.invoke(BootstrapMethodInvoker.java:134)
      at java.base/java.lang.invoke.CallSite.makeSite(CallSite.java:315)
      at java.base/java.lang.invoke.MethodHandleNatives.linkCallSiteImpl(MethodHandleNatives.java:281)
      at java.base/java.lang.invoke.MethodHandleNatives.linkCallSite(MethodHandleNatives.java:271)
      at com.microsoft.applicationinsights.agent.internal.init.FirstEntryPoint.onStartupFailure(FirstEntryPoint.java:248)
      at io.opentelemetry.javaagent.tooling.AgentStarterImpl.start(AgentStarterImpl.java:118)
      at io.opentelemetry.javaagent.bootstrap.AgentInitializer$2.run(AgentInitializer.java:68)
      at io.opentelemetry.javaagent.bootstrap.AgentInitializer$2.run(AgentInitializer.java:61)
      at io.opentelemetry.javaagent.bootstrap.AgentInitializer.execute(AgentInitializer.java:84)
      at io.opentelemetry.javaagent.bootstrap.AgentInitializer.initialize(AgentInitializer.java:60)
      at io.opentelemetry.javaagent.OpenTelemetryAgent.startAgent(OpenTelemetryAgent.java:59)
      at io.opentelemetry.javaagent.OpenTelemetryAgent.premain(OpenTelemetryAgent.java:46)
      at com.microsoft.applicationinsights.agent.Agent.premain(Agent.java:38)
      at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
      at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.base/java.lang.reflect.Method.invoke(Method.java:569)
      at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:491)
      at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:503)
Exception in thread "main" java.lang.ClassCircularityError: java/lang/invoke/MethodHandle$1
      at java.base/java.lang.invoke.MethodHandle.customize(MethodHandle.java:1741)
      at java.base/java.lang.invoke.MethodHandle.maybeCustomize(MethodHandle.java:1731)
      at java.base/java.lang.invoke.Invokers.maybeCustomize(Invokers.java:634)
      at java.base/java.lang.invoke.Invokers.checkCustomized(Invokers.java:628)
      at java.base/java.lang.invoke.BootstrapMethodInvoker.invoke(BootstrapMethodInvoker.java:134)
      at java.base/java.lang.invoke.CallSite.makeSite(CallSite.java:315)
      at java.base/java.lang.invoke.MethodHandleNatives.linkCallSiteImpl(MethodHandleNatives.java:281)
      at java.base/java.lang.invoke.MethodHandleNatives.linkCallSite(MethodHandleNatives.java:271)
      at java.base/java.util.ResourceBundle$ResourceBundleControlProviderHolder.<clinit>(ResourceBundle.java:1518)
      at java.base/java.util.ResourceBundle.getDefaultControl(ResourceBundle.java:1514)
      at java.base/java.util.ResourceBundle.getDefaultControl(ResourceBundle.java:1508)
      at java.base/java.util.ResourceBundle.getBundle(ResourceBundle.java:859)
      at org.tanukisoftware.wrapper.resources.ResourceManager.refreshBundle(ResourceManager.java:124)
      at org.tanukisoftware.wrapper.resources.ResourceManager.<init>(ResourceManager.java:117)
      at org.tanukisoftware.wrapper.resources.ResourceManager.getResourceManager(ResourceManager.java:160)
      at org.tanukisoftware.wrapper.resources.ResourceManager.getResourceManager(ResourceManager.java:141)
      at org.tanukisoftware.wrapper.WrapperManager.<clinit>(WrapperManager.java:296)
      at org.apache.karaf.wrapper.internal.service.Main.main(Main.java:143)
JVM exited while loading the application.
To Reproduce

Start Apache Karaf with AppInsights agent version 3.7.9 (-javaagent:/<path_to_agent>/applicationinsights-agent-3.7.9.jar). This agent version yields the above stacktrace. With everything else unchanged, reverting the agent version back to 3.7.5 enables the application to start. I have not tried the in-between versions.

System information

Please provide the following information:

  • SDK Version: Java 17, AppInsights agent 3.7.9
  • OS type and version: Centos 7
  • Application Server type and version (if applicable): Apache Karaf 4.4.7
  • Using spring-boot? No
  • Additional relevant libraries (with version, if applicable): Java Service Wrapper (Tanuki Software)
Logs
Screenshots
Lingua principale
Java
Stelle
327
Fork
222
Merge medio
22h 34m
PR unite (30g)
14

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di microsoft/ApplicationInsights-Java

Tutte le issue di microsoft/ApplicationInsights-Java

Issue simili

Altre issue su Java

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.