Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

deadlock 발생 이슈 문의드립니다 #998

Open
rornfdlek opened this issue May 10, 2024 · 0 comments
Open

deadlock 발생 이슈 문의드립니다 #998

rornfdlek opened this issue May 10, 2024 · 0 comments

Comments

@rornfdlek
Copy link

rornfdlek commented May 10, 2024

안녕하세요,
그동안 scouter를 통해 효율적으로 모니터링을 수행하고 있었는데,
최근 특정 환경에서 java agent를 기동했을 때 deadlock 이 발생하여 문의 드립니다.

매번 발생하는 것은 아니고 간헐적으로 서비스 기동 시점에 발생하며 hang이 걸려 서비스가 기동되지 않습니다.
혹시 해당 이슈 원인이나 해결 방안에 대해 답변 주실 수 있으실까요?
감사합니다.

환경

  • jdk 17
  • springboot 3.2.2
  • scouter java agent 2.17.1

스레드 덤프
"main":
at jdk.internal.loader.URLClassPath.getLoader(java.base@17-ea/URLClassPath.java:425)
- waiting to lock <0x00000000fff16ba0> (a jdk.internal.loader.URLClassPath)
at jdk.internal.loader.URLClassPath.getResource(java.base@17-ea/URLClassPath.java:316)
at jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(java.base@17-ea/BuiltinClassLoader.java:750)
at jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(java.base@17-ea/BuiltinClassLoader.java:676)
- locked <0x00000000fd118508> (a java.lang.Object)
at jdk.internal.loader.BuiltinClassLoader.loadClass(java.base@17-ea/BuiltinClassLoader.java:634)
at jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(java.base@17-ea/ClassLoaders.java:182)
at java.lang.ClassLoader.loadClass(java.base@17-ea/ClassLoader.java:519)
at org.springframework.boot.loader.net.protocol.jar.JarUrl.create(JarUrl.java:74)
at org.springframework.boot.loader.net.protocol.jar.JarUrl.create(JarUrl.java:61)
at org.springframework.boot.loader.net.protocol.jar.JarUrl.create(JarUrl.java:51)
at org.springframework.boot.loader.launch.JarFileArchive.getNestedJarUrl(JarFileArchive.java:100)
at org.springframework.boot.loader.launch.JarFileArchive$$Lambda$69/0x0000000800c06b28.apply(Unknown Source)
at java.util.stream.ReferencePipeline$3$1.accept(java.base@17-ea/ReferencePipeline.java:197)
at java.util.stream.ReferencePipeline$2$1.accept(java.base@17-ea/ReferencePipeline.java:179)
at java.util.stream.ReferencePipeline$3$1.accept(java.base@17-ea/ReferencePipeline.java:197)
at java.util.zip.ZipFile$EntrySpliterator.tryAdvance(java.base@17-ea/ZipFile.java:556)
- locked <0x00000000fd2223d0> (a java.util.jar.JarFile)
at java.util.Spliterator.forEachRemaining(java.base@17-ea/Spliterator.java:326)
at java.util.stream.AbstractPipeline.copyInto(java.base@17-ea/AbstractPipeline.java:484)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(java.base@17-ea/AbstractPipeline.java:474)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(java.base@17-ea/ReduceOps.java:913)
at java.util.stream.AbstractPipeline.evaluate(java.base@17-ea/AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.collect(java.base@17-ea/ReferencePipeline.java:682)
at org.springframework.boot.loader.launch.JarFileArchive.getClassPathUrls(JarFileArchive.java:90)
at org.springframework.boot.loader.launch.ExecutableArchiveLauncher.getClassPathUrls(ExecutableArchiveLauncher.java:102)
at org.springframework.boot.loader.launch.Launcher.launch(Launcher.java:50)
at org.springframework.boot.loader.launch.JarLauncher.main(JarLauncher.java:58)

"Scouter-AsyncRunner":
at java.lang.Class.getDeclaredConstructors0(java.base@17-ea/Native Method)
at java.lang.Class.privateGetDeclaredConstructors(java.base@17-ea/Class.java:3318)
at java.lang.Class.getConstructor0(java.base@17-ea/Class.java:3523)
at java.lang.Class.newInstance(java.base@17-ea/Class.java:623)
at java.net.URL.lookupViaProperty(java.base@17-ea/URL.java:1290)
at java.net.URL.getURLStreamHandler(java.base@17-ea/URL.java:1440)
at java.net.URL.(java.base@17-ea/URL.java:478)
at jdk.internal.loader.URLClassPath$JarLoader.(java.base@17-ea/URLClassPath.java:722)
at jdk.internal.loader.URLClassPath$3.run(java.base@17-ea/URLClassPath.java:496)
at jdk.internal.loader.URLClassPath$3.run(java.base@17-ea/URLClassPath.java:479)
at java.security.AccessController.executePrivileged(java.base@17-ea/AccessController.java:784)
at java.security.AccessController.doPrivileged(java.base@17-ea/AccessController.java:691)
at jdk.internal.loader.URLClassPath.getLoader(java.base@17-ea/URLClassPath.java:478)
at jdk.internal.loader.URLClassPath.getLoader(java.base@17-ea/URLClassPath.java:447)
- locked <0x00000000fff16ba0> (a jdk.internal.loader.URLClassPath)
at jdk.internal.loader.URLClassPath$1.next(java.base@17-ea/URLClassPath.java:343)
at jdk.internal.loader.URLClassPath$1.hasMoreElements(java.base@17-ea/URLClassPath.java:354)
at jdk.internal.loader.BuiltinClassLoader$1.hasNext(java.base@17-ea/BuiltinClassLoader.java:407)
at jdk.internal.loader.BuiltinClassLoader$1.hasMoreElements(java.base@17-ea/BuiltinClassLoader.java:415)
at java.lang.CompoundEnumeration.next(java.base@17-ea/ClassLoader.java:2719)
at java.lang.CompoundEnumeration.hasMoreElements(java.base@17-ea/ClassLoader.java:2728)
at scouter.util.scan.Scanner.getRoot(Scanner.java:81)
at scouter.util.scan.Scanner.process(Scanner.java:53)
at scouter.util.scan.Scanner.process(Scanner.java:44)
at scouter.agent.counter.CounterExecutingManager.load(CounterExecutingManager.java:114)
at scouter.agent.AgentBoot.boot(AgentBoot.java:37)
- locked <0x00000000ff9199a0> (a java.lang.Class for scouter.agent.AgentBoot)
at scouter.agent.AgentBoot.run(AgentBoot.java:27)
at scouter.agent.util.AsyncRunner.process(AsyncRunner.java:139)
at scouter.agent.util.AsyncRunner.run(AsyncRunner.java:100)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant