Тупик во время инициализации класса [закрыто]JAVA

Программисты JAVA общаются здесь
Anonymous
Тупик во время инициализации класса [закрыто]

Сообщение Anonymous »

Я пытаюсь интегрировать наш проект с открытой телеметрией. Я должен использовать Appinsights в Azure и входить там. Я использую Appinsights Java Agent для OTEL. < /P>
К сожалению, я попадаю в тупик во время инициализации класса, поэтому я вижу, как застряло приложение (не всегда, но легче воспроизвести в режиме отладки). < /P>
Я вижу следующие стеки (некоторые классы с измененным названием «Не обнаруживают».

Код: Выделить всё

"main" #1 prio=5 os_prio=0 cpu=5781.25ms elapsed=2470.51s tid=0x00000132576c02d0 nid=0x8930 in Object.wait()  [0x0000001149cfd000]
java.lang.Thread.State: RUNNABLE
at reactor.netty.tcp.TcpClientSecure.(TcpClientSecure.java:29)
- waiting on the Class initialization monitor for reactor.util.Loggers
at reactor.netty.tcp.SslProvider.defaultClientProvider(SslProvider.java:110)
at reactor.netty.http.client.HttpClientSecure.(HttpClientSecure.java:68)
at reactor.netty.http.client.HttpClient.secure(HttpClient.java:1421)
at com.my.test.project.HttpClientHelper.createHttpClient(HttpClientHelper.java:31)
at com.my.test.project.Main.main(Main.java:199)

Locked ownable synchronizers:
- None
< /code>
и еще один: < /p>
"AppIdSupplier-0"  #22 daemon prio=5 os_prio=0 cpu=1140.62ms elapsed=2461.80s tid=0x000001324eec6c50 nid=0x85b4 in Object.wait()  [0x000000114bbf7000]
java.lang.Thread.State:  RUNNABLE
at reactor.netty.http.client.HttpClient.secure(HttpClient.java:1421)
-  w a i t i n g   o n   t h e   C l a s s   i n i t i a l i z a t i o n   m o n i t o r   f o r   r e a c t o r . n e t t y . h t t p . c l i e n t . H t t p C l i e n t S e c u r e < b r   / >         a t   c o m . m y . t e s t . p r o j e c t . H t t p C l i e n t H e l p e r . c r e a t e H t t p C l i e n t ( H t t p C l i e n t H e l p e r . j a v a : 3 1 ) < b r   / >         a t   c o m . m y . t e s t . p r o j e c t . C u s t o m A p p e n d e r . c r e a t e A p p e n d e r ( C u s t o m A p p e n d e r . j a v a : 7 8 ) < b r   / >         a t   j d k . i n t e r n a l . r e f l e c t . N a t i v e M e t h o d A c c e s s o r I m p l . i n v o k e 0 ( j a v a . b a s e @ 1 7 . 0 . 1 3 / N a t i v e   M e t h o d ) < b r   / >         a t   j d k . i n t e r n a l . r e f l e c t . N a t i v e M e t h o d A c c e s s o r I m p l . i n v o k e ( j a v a . b a s e @ 1 7 . 0 . 1 3 / N a t i v e M e t h o d A c c e s s o r I m p l . j a v a : 7 7 ) < b r   / >         a t   j d k . i n t e r n a l . r e f l e c t . D e l e g a t i n g M e t h o d A c c e s s o r I m p l . i n v o k e ( j a v a . b a s e @ 1 7 . 0 . 1 3 / D e l e g a t i n g M e t h o d A c c e s s o r I m p l . j a v a : 4 3 ) < b r   / >         a t   j a v a . l a n g . r e f l e c t . M e t h o d . i n v o k e ( j a v a . b a s e @ 1 7 . 0 . 1 3 / M e t h o d . j a v a : 5 6 9 ) < b r   / >         a t   o r g . a p a c h e . l o g g i n g . l o g 4 j . c o r e . c o n f i g . p l u g i n s . u t i l . P l u g i n B u i l d e r . b u i l d ( P l u g i n B u i l d e r . j ava:142)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:1164)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:1085)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:1077)
at org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:681)
at org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:264)
at org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:313)
at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:631)
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:713)
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:735)
at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:260)
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:154)
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:46)
at org.apache.logging.log4j.LogManager.getContext(LogManager.java:197)
at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getContext(AbstractLoggerAdapter.java:136)
at org.apache.logging.slf4j.Log4jLoggerFactory.getContext(Log4jLoggerFactory.java:58)
at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:46)
at org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:32)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:432)
at reactor.util.Loggers$Slf4JLoggerFactory.apply(Loggers.java:210)
at reactor.util.Loggers$Slf4JLoggerFactory.apply(Loggers.java:206)
at reactor.util.Loggers.useSl4jLoggers(Loggers.java:176)
at reactor.util.Loggers.resetLoggerFactory(Loggers.java:72)
at reactor.util.Loggers.(Loggers.java:56)
at reactor.core.publisher.Hooks.(Hooks.java:629)
at java.lang.Class.forName0(java.base@17.0.13/Native Method)
at java.lang.Class.forName(java.base@17.0.13/Class.java:467)
at com.microsoft.applicationinsights.agent.internal.classicsdk.TelemetryClientClassFileTransformer.transform(TelemetryClientClassFileTransformer.java:69)
at java.lang.instrument.ClassFileTransformer.transform(java.instrument@17.0.13/ClassFileTransformer.java:244)
at sun.instrument.TransformerManager.transform(java.instrument@17.0.13/TransformerManager.java:188)
at sun.instrument.InstrumentationImpl.transform(java.instrument@17.0.13/InstrumentationImpl.java:541)
at sun.nio.ch.SelectorProviderImpl.openServerSocketChannel(java.base@17.0.13/SelectorProviderImpl.java:102)
at java.nio.channels.ServerSocketChannel.open(java.base@17.0.13/ServerSocketChannel.java:176)
at sun.nio.ch.PipeImpl.createListener(java.base@17.0.13/PipeImpl.java:222)
at sun.nio.ch.PipeImpl$Initializer$LoopbackConnector.run(java.base@17.0.13/PipeImpl.java:127)
at sun.nio.ch.PipeImpl$Initializer.run(java.base@17.0.13/PipeImpl.java:85)
at sun.nio.ch.PipeImpl$Initializer.run(java.base@17.0.13/PipeImpl.java:67)
at java.security.AccessController.executePrivileged(java.base@17.0.13/AccessController.java:807)
at java.security.AccessController.doPrivileged(java.base@17.0.13/AccessController.java:569)
at sun.nio.ch.PipeImpl.(java.base@17.0.13/PipeImpl.java:198)
at sun.nio.ch.WEPollSelectorImpl.(java.base@17.0.13/WEPollSelectorImpl.java:78)
at sun.nio.ch.WEPollSelectorProvider.openSelector(java.base@17.0.13/WEPollSelectorProvider.java:33)
at java.nio.channels.Selector.open(java.base@17.0.13/Selector.java:295)
at io.netty.channel.epoll.Native.(Native.java:66)
at io.netty.channel.epoll.Epoll.(Epoll.java:42)
at java.lang.Class.forName0(java.base@17.0.13/Native Method)
at java.lang.Class.forName(java.base@17.0.13/Class.java:375)
at reactor.netty.resources.DefaultLoopEpoll.(DefaultLoopEpoll.java:111)
at reactor.netty.resources.DefaultLoopNativeDetector.(DefaultLoopNativeDetector.java:35)
at reactor.netty.resources.LoopResources.hasNativeSupport(LoopResources.java:299)
at reactor.netty.resources.DefaultLoopResources.onClient(DefaultLoopResources.java:144)
at com.microsoft.applicationinsights.agent.internal.httpclient.LazyHttpClient.init(LazyHttpClient.java:113)
at com.microsoft.applicationinsights.agent.internal.httpclient.LazyHttpClient.getDelegate(LazyHttpClient.java:75)
-  locked  (a java.lang.Object)
at com.microsoft.applicationinsights.agent.internal.httpclient.LazyHttpClient.send(LazyHttpClient.java:145)
at com.microsoft.applicationinsights.agent.internal.telemetry.AppIdSupplier$GetAppIdTask.run(AppIdSupplier.java:121)
at java.util.concurrent.Executors$RunnableAdapter.call(java.base@17.0.13/Unknown Source)
at java.util.concurrent.FutureTask.run(java.base@17.0.13/Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(java.base@17.0.13/Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@17.0.13/Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@17.0.13/Unknown Source)
at java.lang.Thread.run(java.base@17.0.13/Thread.java:840)

Locked ownable synchronizers:
-  (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
-  (a java.util.concurrent.ThreadPoolExecutor$Worker)
Так что, насколько я вижу, у первой Thead есть блокировка для класса Reactor.netty.http.client.httpclientsecure , и он ждет реактора. Reactor.netty.http.client.httpclientsecure
В основном проблема, насколько я вижу, заключается в том, что со стороны Appinsights Попробуйте создать http clinet, который создает плагин, которые подводятся, которые есть, которые есть, которые есть, которые есть, которые есть, которые есть, которые есть, которые есть, которые есть, которые есть, которые есть, которые есть, которые есть, которые есть, которые есть, которые есть, что есть, что есть, что есть, что есть, что есть, что есть, что есть на подключаемых плагинах. сторона у нас есть httpclient, которая должна загружать реактор. Очевидно, это раздражающая проблема, но мне не кажется, что это то, что происходит супер редко.

Подробнее здесь: https://stackoverflow.com/questions/796 ... ialization

Вернуться в «JAVA»