Used versions
Spring Boot 4.1.0
OpenJDK 64-Bit Server VM (25.0.4+7-LTS mixed mode, sharing)
Describe the bug
While startup of our Spring Boot application, threads are blocked because they are waiting for a lock to load classes from the java.base module with org.springframework.boot.loader.net.protocol.jar.JarUrlClassLoader. The application is not responding to any request.
In the following thread dump the entry at org.springframework.boot.loader.jar.NestedJarFile.hasEntry(NestedJarFile.java:251) - waiting to lock <0x00000000e165a528> (a org.springframework.boot.loader.net.protocol.jar.UrlNestedJarFile) is existent twice in two different threads.
The Catalina-utility-2 thread is blocked.
Full thread dump OpenJDK 64-Bit Server VM (25.0.4+7-LTS mixed mode, sharing):
Threads class SMR info:
_java_thread_list=0x00007f9e7dfba470, length=24, elements={
0x00007f9e888d8680, 0x00007f9e888b8170, 0x00007f9e888b8c20, 0x00007f9e888b96d0,
0x00007f9e888b5030, 0x00007f9e888b5940, 0x00007f9e888b6270, 0x00007f9e888b74f0,
0x00007f9e88003030, 0x00007f9e88005500, 0x00007f9e80f2c260, 0x00007f9e80f2b900,
0x00007f9e80f2cb60, 0x00007f9e806ebb50, 0x00007f9e806ec480, 0x00007f9e806ecd50,
0x00007f9e806ed6c0, 0x00007f9e7f81fd70, 0x00007f9e7f821020, 0x00007f9e7f822240,
0x00007f9e7f823db0, 0x00007f9e880039a0, 0x00007f9e7e966740, 0x00007f9e7f81c6b0
}
"Reference Handler" #12 [16] daemon prio=10 os_prio=0 cpu=7.11ms elapsed=25185.63s tid=0x00007f9e888d8680 nid=16 waiting on condition [0x00007f9e88577000]
java.lang.Thread.State: RUNNABLE
at java.lang.ref.Reference.waitForReferencePendingList(java.base@25.0.4/Native Method)
at java.lang.ref.Reference.processPendingReferences(java.base@25.0.4/Unknown Source)
at java.lang.ref.Reference$ReferenceHandler.run(java.base@25.0.4/Unknown Source)
"Finalizer" #13 [17] daemon prio=8 os_prio=0 cpu=0.35ms elapsed=25185.63s tid=0x00007f9e888b8170 nid=17 in Object.wait() [0x00007f9e88474000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait0(java.base@25.0.4/Native Method)
- waiting on <0x00000000e01000e8> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.Object.wait(java.base@25.0.4/Unknown Source)
at java.lang.Object.wait(java.base@25.0.4/Unknown Source)
at java.lang.ref.ReferenceQueue.remove0(java.base@25.0.4/Unknown Source)
at java.lang.ref.ReferenceQueue.remove(java.base@25.0.4/Unknown Source)
- locked <0x00000000e01000e8> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.Finalizer$FinalizerThread.run(java.base@25.0.4/Unknown Source)
"Signal Dispatcher" #14 [18] daemon prio=9 os_prio=0 cpu=0.35ms elapsed=25185.63s tid=0x00007f9e888b8c20 nid=18 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Service Thread" #15 [19] daemon prio=9 os_prio=0 cpu=932.95ms elapsed=25185.63s tid=0x00007f9e888b96d0 nid=19 runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Monitor Deflation Thread" #16 [20] daemon prio=9 os_prio=0 cpu=2957.73ms elapsed=25185.63s tid=0x00007f9e888b5030 nid=20 runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"C2 CompilerThread0" #17 [21] daemon prio=9 os_prio=0 cpu=26579.67ms elapsed=25185.63s tid=0x00007f9e888b5940 nid=21 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
No compile task
"C1 CompilerThread0" #18 [22] daemon prio=9 os_prio=0 cpu=7706.32ms elapsed=25185.63s tid=0x00007f9e888b6270 nid=22 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
No compile task
"Notification Thread" #19 [23] daemon prio=9 os_prio=0 cpu=19.86ms elapsed=25185.62s tid=0x00007f9e888b74f0 nid=23 runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Common-Cleaner" #20 [24] daemon prio=8 os_prio=0 cpu=30.03ms elapsed=25185.62s tid=0x00007f9e88003030 nid=24 in Object.wait() [0x00007f9e83c9d000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait0(java.base@25.0.4/Native Method)
- waiting on <no object reference available>
at java.lang.Object.wait(java.base@25.0.4/Unknown Source)
at java.lang.ref.ReferenceQueue.remove0(java.base@25.0.4/Unknown Source)
at java.lang.ref.ReferenceQueue.remove(java.base@25.0.4/Unknown Source)
- locked <0x00000000e01001b0> (a java.lang.ref.ReferenceQueue$Lock)
at jdk.internal.ref.CleanerImpl.run(java.base@25.0.4/Unknown Source)
at java.lang.Thread.runWith(java.base@25.0.4/Unknown Source)
at java.lang.Thread.run(java.base@25.0.4/Unknown Source)
at jdk.internal.misc.InnocuousThread.run(java.base@25.0.4/Unknown Source)
"Cleaner-0" #21 [25] daemon prio=8 os_prio=0 cpu=42.06ms elapsed=25185.43s tid=0x00007f9e88005500 nid=25 in Object.wait() [0x00007f9e839d0000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait0(java.base@25.0.4/Native Method)
- waiting on <no object reference available>
at java.lang.Object.wait(java.base@25.0.4/Unknown Source)
at java.lang.ref.ReferenceQueue.remove0(java.base@25.0.4/Unknown Source)
at java.lang.ref.ReferenceQueue.remove(java.base@25.0.4/Unknown Source)
- locked <0x00000000e0100270> (a java.lang.ref.ReferenceQueue$Lock)
at jdk.internal.ref.CleanerImpl.run(java.base@25.0.4/Unknown Source)
at java.lang.Thread.runWith(java.base@25.0.4/Unknown Source)
at java.lang.Thread.run(java.base@25.0.4/Unknown Source)
at jdk.internal.misc.InnocuousThread.run(java.base@25.0.4/Unknown Source)
"Catalina-utility-1" #28 [30] prio=1 os_prio=0 cpu=2262.02ms elapsed=25173.33s tid=0x00007f9e80f2c260 nid=30 waiting on condition [0x00007f9e80aca000]
java.lang.Thread.State: TIMED_WAITING (parking)
at jdk.internal.misc.Unsafe.park(java.base@25.0.4/Native Method)
- parking to wait for <0x00000000e1f00278> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.parkNanos(java.base@25.0.4/Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(java.base@25.0.4/Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(java.base@25.0.4/Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(java.base@25.0.4/Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(java.base@25.0.4/Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@25.0.4/Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@25.0.4/Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:74)
at java.lang.Thread.runWith(java.base@25.0.4/Unknown Source)
at java.lang.Thread.run(java.base@25.0.4/Unknown Source)
"Catalina-utility-2" #29 [31] prio=1 os_prio=0 cpu=1555.76ms elapsed=25173.33s tid=0x00007f9e80f2b900 nid=31 waiting for monitor entry [0x00007f9e8089c000]
java.lang.Thread.State: BLOCKED (on object monitor)
at org.springframework.boot.loader.jar.NestedJarFile.hasEntry(NestedJarFile.java:251)
- waiting to lock <0x00000000e165a528> (a org.springframework.boot.loader.net.protocol.jar.UrlNestedJarFile)
at org.springframework.boot.loader.net.protocol.jar.JarUrlConnection.hasEntry(JarUrlConnection.java:356)
at org.springframework.boot.loader.net.protocol.jar.JarUrlConnection.open(JarUrlConnection.java:347)
at org.springframework.boot.loader.net.protocol.jar.Handler.openConnection(Handler.java:46)
at java.net.URL.openConnection(java.base@25.0.4/Unknown Source)
at jdk.internal.loader.URLClassPath$Loader.getResource(java.base@25.0.4/Unknown Source)
at jdk.internal.loader.URLClassPath.getResource(java.base@25.0.4/Unknown Source)
at java.net.URLClassLoader.findClass(java.base@25.0.4/Unknown Source)
at java.lang.ClassLoader.loadClass(java.base@25.0.4/Unknown Source)
- locked <0x00000000f01289a8> (a java.lang.Object)
at org.springframework.boot.loader.net.protocol.jar.JarUrlClassLoader.loadClass(JarUrlClassLoader.java:107)
at org.springframework.boot.loader.launch.LaunchedClassLoader.loadClass(LaunchedClassLoader.java:91)
at java.lang.ClassLoader.loadClass(java.base@25.0.4/Unknown Source)
at org.apache.catalina.core.ContainerBase.getClusterInternal(ContainerBase.java:342)
at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:931)
- locked <0x00000000e2d16b50> (a org.apache.catalina.core.StandardWrapper)
at org.apache.catalina.core.StandardWrapper.backgroundProcess(StandardWrapper.java:474)
- locked <0x00000000e2d16b50> (a org.apache.catalina.core.StandardWrapper)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1179)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1183)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1183)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1183)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1156)
at java.util.concurrent.Executors$RunnableAdapter.call(java.base@25.0.4/Unknown Source)
at java.util.concurrent.FutureTask.runAndReset(java.base@25.0.4/Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(java.base@25.0.4/Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@25.0.4/Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@25.0.4/Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:74)
at java.lang.Thread.runWith(java.base@25.0.4/Unknown Source)
at java.lang.Thread.run(java.base@25.0.4/Unknown Source)
"container-0" #30 [32] prio=5 os_prio=0 cpu=126.99ms elapsed=25173.31s tid=0x00007f9e80f2cb60 nid=32 waiting on condition [0x00007f9e804ab000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleepNanos0(java.base@25.0.4/Native Method)
at java.lang.Thread.sleepNanos(java.base@25.0.4/Unknown Source)
at java.lang.Thread.sleep(java.base@25.0.4/Unknown Source)
at org.apache.catalina.core.StandardServer.await(StandardServer.java:522)
at org.springframework.boot.tomcat.TomcatWebServer$1.run(TomcatWebServer.java:216)
"HttpClient-1-SelectorManager" #47 [49] daemon prio=5 os_prio=0 cpu=480.50ms elapsed=25168.17s tid=0x00007f9e806ebb50 nid=49 runnable [0x00007f9e7f973000]
java.lang.Thread.State: RUNNABLE
at sun.nio.ch.EPoll.wait(java.base@25.0.4/Native Method)
at sun.nio.ch.EPollSelectorImpl.doSelect(java.base@25.0.4/Unknown Source)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(java.base@25.0.4/Unknown Source)
- locked <0x00000000e52800e8> (a sun.nio.ch.Util$2)
- locked <0x00000000e5280098> (a sun.nio.ch.EPollSelectorImpl)
at sun.nio.ch.SelectorImpl.select(java.base@25.0.4/Unknown Source)
at jdk.internal.net.http.HttpClientImpl$SelectorManager.run(java.net.http@25.0.4/Unknown Source)
"HttpClient-2-SelectorManager" #48 [50] daemon prio=5 os_prio=0 cpu=494.79ms elapsed=25168.14s tid=0x00007f9e806ec480 nid=50 runnable [0x00007f9e7f6a0000]
java.lang.Thread.State: RUNNABLE
at sun.nio.ch.EPoll.wait(java.base@25.0.4/Native Method)
at sun.nio.ch.EPollSelectorImpl.doSelect(java.base@25.0.4/Unknown Source)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(java.base@25.0.4/Unknown Source)
- locked <0x00000000e52803d8> (a sun.nio.ch.Util$2)
- locked <0x00000000e5280388> (a sun.nio.ch.EPollSelectorImpl)
at sun.nio.ch.SelectorImpl.select(java.base@25.0.4/Unknown Source)
at jdk.internal.net.http.HttpClientImpl$SelectorManager.run(java.net.http@25.0.4/Unknown Source)
"HttpClient-3-SelectorManager" #49 [51] daemon prio=5 os_prio=0 cpu=497.89ms elapsed=25168.12s tid=0x00007f9e806ecd50 nid=51 runnable [0x00007f9e7f59d000]
java.lang.Thread.State: RUNNABLE
at sun.nio.ch.EPoll.wait(java.base@25.0.4/Native Method)
at sun.nio.ch.EPollSelectorImpl.doSelect(java.base@25.0.4/Unknown Source)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(java.base@25.0.4/Unknown Source)
- locked <0x00000000e5280518> (a sun.nio.ch.Util$2)
- locked <0x00000000e52804c8> (a sun.nio.ch.EPollSelectorImpl)
at sun.nio.ch.SelectorImpl.select(java.base@25.0.4/Unknown Source)
at jdk.internal.net.http.HttpClientImpl$SelectorManager.run(java.net.http@25.0.4/Unknown Source)
"HttpClient-4-SelectorManager" #50 [52] daemon prio=5 os_prio=0 cpu=481.95ms elapsed=25168.11s tid=0x00007f9e806ed6c0 nid=52 runnable [0x00007f9e7f49a000]
java.lang.Thread.State: RUNNABLE
at sun.nio.ch.EPoll.wait(java.base@25.0.4/Native Method)
at sun.nio.ch.EPollSelectorImpl.doSelect(java.base@25.0.4/Unknown Source)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(java.base@25.0.4/Unknown Source)
- locked <0x00000000e5280658> (a sun.nio.ch.Util$2)
- locked <0x00000000e5280608> (a sun.nio.ch.EPollSelectorImpl)
at sun.nio.ch.SelectorImpl.select(java.base@25.0.4/Unknown Source)
at jdk.internal.net.http.HttpClientImpl$SelectorManager.run(java.net.http@25.0.4/Unknown Source)
"http-nio-4090-Poller" #52 [54] daemon prio=5 os_prio=0 cpu=1894.88ms elapsed=25160.73s tid=0x00007f9e7f81fd70 nid=54 runnable [0x00007f9e7e57e000]
java.lang.Thread.State: RUNNABLE
at sun.nio.ch.EPoll.wait(java.base@25.0.4/Native Method)
at sun.nio.ch.EPollSelectorImpl.doSelect(java.base@25.0.4/Unknown Source)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(java.base@25.0.4/Unknown Source)
- locked <0x00000000e98800f0> (a sun.nio.ch.Util$2)
- locked <0x00000000e98800a0> (a sun.nio.ch.EPollSelectorImpl)
at sun.nio.ch.SelectorImpl.select(java.base@25.0.4/Unknown Source)
at org.apache.tomcat.util.net.NioEndpoint$Poller.run(NioEndpoint.java:912)
at java.lang.Thread.runWith(java.base@25.0.4/Unknown Source)
at java.lang.Thread.run(java.base@25.0.4/Unknown Source)
"http-nio-4090-Acceptor" #53 [55] daemon prio=5 os_prio=0 cpu=73.61ms elapsed=25160.73s tid=0x00007f9e7f821020 nid=55 runnable [0x00007f9e7dcca000]
java.lang.Thread.State: RUNNABLE
at sun.nio.ch.Net.accept(java.base@25.0.4/Native Method)
at sun.nio.ch.ServerSocketChannelImpl.implAccept(java.base@25.0.4/Unknown Source)
at sun.nio.ch.ServerSocketChannelImpl.accept(java.base@25.0.4/Unknown Source)
at org.apache.tomcat.util.net.NioEndpoint.serverSocketAccept(NioEndpoint.java:626)
at org.apache.tomcat.util.net.NioEndpoint.serverSocketAccept(NioEndpoint.java:71)
at org.apache.tomcat.util.net.Acceptor.run(Acceptor.java:145)
at java.lang.Thread.runWith(java.base@25.0.4/Unknown Source)
at java.lang.Thread.run(java.base@25.0.4/Unknown Source)
"VirtualThread-unblocker" #54 [56] daemon prio=5 os_prio=0 cpu=0.97ms elapsed=25160.64s tid=0x00007f9e7f822240 nid=56 runnable [0x00007f9e7dbc8000]
java.lang.Thread.State: RUNNABLE
at java.lang.VirtualThread.takeVirtualThreadListToUnblock(java.base@25.0.4/Native Method)
at java.lang.VirtualThread.unblockVirtualThreads(java.base@25.0.4/Unknown Source)
at java.lang.VirtualThread$$Lambda/0x000000000d7e1730.run(java.base@25.0.4/Unknown Source)
at java.lang.Thread.runWith(java.base@25.0.4/Unknown Source)
at java.lang.Thread.run(java.base@25.0.4/Unknown Source)
at jdk.internal.misc.InnocuousThread.run(java.base@25.0.4/Unknown Source)
"ForkJoinPool-1-delayScheduler" #58 [59] daemon prio=5 os_prio=0 cpu=24.31ms elapsed=25160.54s tid=0x00007f9e7f823db0 nid=59 waiting on condition [0x00007f9e7e113000]
java.lang.Thread.State: WAITING (parking)
at jdk.internal.misc.Unsafe.park(java.base@25.0.4/Native Method)
at java.util.concurrent.DelayScheduler.loop(java.base@25.0.4/Unknown Source)
at java.util.concurrent.DelayScheduler.run(java.base@25.0.4/Unknown Source)
"DestroyJavaVM" #60 [7] prio=5 os_prio=0 cpu=16972.45ms elapsed=25160.27s tid=0x00007f9e880039a0 nid=7 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"ForkJoinPool-1-worker-107" #179 [164] daemon prio=5 os_prio=0 cpu=996.50ms elapsed=22002.89s tid=0x00007f9e7e966740 [0x00007f9e7e67f000]
Carrying virtual thread #178
at jdk.internal.vm.Continuation.run(java.base@25.0.4/Unknown Source)
at java.lang.VirtualThread.runContinuation(java.base@25.0.4/Unknown Source)
at java.lang.VirtualThread$$Lambda/0x000000000d7e1e00.run(java.base@25.0.4/Unknown Source)
at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.compute(java.base@25.0.4/Unknown Source)
at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.compute(java.base@25.0.4/Unknown Source)
at java.util.concurrent.ForkJoinTask$InterruptibleTask.exec(java.base@25.0.4/Unknown Source)
at java.util.concurrent.ForkJoinTask.doExec(java.base@25.0.4/Unknown Source)
at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(java.base@25.0.4/Unknown Source)
at java.util.concurrent.ForkJoinPool.runWorker(java.base@25.0.4/Unknown Source)
at java.util.concurrent.ForkJoinWorkerThread.run(java.base@25.0.4/Unknown Source)
Mounted virtual thread #178
at org.springframework.boot.loader.jar.NestedJarFile.hasEntry(NestedJarFile.java:251)
- waiting to lock <0x00000000e165a528> (a org.springframework.boot.loader.net.protocol.jar.UrlNestedJarFile)
at org.springframework.boot.loader.net.protocol.jar.JarUrlConnection.hasEntry(JarUrlConnection.java:356)
at org.springframework.boot.loader.net.protocol.jar.JarUrlConnection.open(JarUrlConnection.java:347)
at org.springframework.boot.loader.net.protocol.jar.Handler.openConnection(Handler.java:46)
at java.net.URL.openConnection(java.base@25.0.4/Unknown Source)
at jdk.internal.loader.URLClassPath$Loader.getResource(java.base@25.0.4/Unknown Source)
at jdk.internal.loader.URLClassPath.getResource(java.base@25.0.4/Unknown Source)
at java.net.URLClassLoader.findClass(java.base@25.0.4/Unknown Source)
at java.lang.ClassLoader.loadClass(java.base@25.0.4/Unknown Source)
- locked <0x00000000f0983348> (a java.lang.Object)
at org.springframework.boot.loader.net.protocol.jar.JarUrlClassLoader.loadClass(JarUrlClassLoader.java:107)
at org.springframework.boot.loader.launch.LaunchedClassLoader.loadClass(LaunchedClassLoader.java:91)
at java.lang.ClassLoader.loadClass(java.base@25.0.4/Unknown Source)
at org.springframework.expression.spel.support.ReflectionHelper.compareArguments(ReflectionHelper.java:67)
at org.springframework.expression.spel.support.ReflectiveMethodResolver.resolve(ReflectiveMethodResolver.java:179)
at org.springframework.expression.spel.ast.MethodReference.findMethodExecutor(MethodReference.java:286)
at org.springframework.expression.spel.ast.MethodReference.getValueInternal(MethodReference.java:187)
at org.springframework.expression.spel.ast.MethodReference.getValueInternal(MethodReference.java:125)
at org.springframework.expression.spel.ast.SpelNodeImpl.getValue(SpelNodeImpl.java:198)
at org.springframework.expression.spel.ast.OpOr.getBooleanValue(OpOr.java:59)
at org.springframework.expression.spel.ast.OpOr.getValueInternal(OpOr.java:50)
at org.springframework.expression.spel.ast.OpOr.getValueInternal(OpOr.java:39)
at org.springframework.expression.spel.ast.SpelNodeImpl.getValue(SpelNodeImpl.java:114)
at org.springframework.expression.spel.standard.SpelExpression.getValue(SpelExpression.java:267)
at org.springframework.security.authorization.method.ExpressionUtils.evaluate(ExpressionUtils.java:45)
at org.springframework.security.authorization.method.PreAuthorizeAuthorizationManager.authorize(PreAuthorizeAuthorizationManager.java:88)
at org.springframework.security.authorization.method.PreAuthorizeAuthorizationManager.authorize(PreAuthorizeAuthorizationManager.java:42)
at org.springframework.security.authorization.ObservationAuthorizationManager.authorize(ObservationAuthorizationManager.java:75)
at org.springframework.security.authorization.method.AuthorizationManagerBeforeMethodInterceptor.attemptAuthorization(AuthorizationManagerBeforeMethodInterceptor.java:252)
at org.springframework.security.authorization.method.AuthorizationManagerBeforeMethodInterceptor.invoke(AuthorizationManagerBeforeMethodInterceptor.java:197)
at org.springframework.security.config.annotation.method.configuration.DeferringMethodInterceptor.invoke(DeferringMethodInterceptor.java:44)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:719)
at com.mycompany.nexus.core.handler.ltc.LtcController$$SpringCGLIB$$0.getAreas(<generated>)
at java.lang.invoke.DirectMethodHandle$Holder.invokeVirtual(java.base@25.0.4/DirectMethodHandle$Holder)
at java.lang.invoke.LambdaForm$MH/0x000000000d06c800.invoke(java.base@25.0.4/LambdaForm$MH)
at java.lang.invoke.Invokers$Holder.invokeExact_MT(java.base@25.0.4/Invokers$Holder)
at jdk.internal.reflect.DirectMethodHandleAccessor.invokeImpl(java.base@25.0.4/Unknown Source)
at jdk.internal.reflect.DirectMethodHandleAccessor.invoke(java.base@25.0.4/Unknown Source)
at java.lang.reflect.Method.invoke(java.base@25.0.4/Unknown Source)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:252)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:184)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:934)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:853)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:86)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:866)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1000)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:892)
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:622)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:874)
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:710)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:132)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:59)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:111)
at org.springframework.web.filter.AbstractRequestLoggingFilter.doFilterInternal(AbstractRequestLoggingFilter.java:315)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:111)
at com.mycompany.security.logging.filter.PrivilegedAccessLoggingFilter.doFilterInternal(PrivilegedAccessLoggingFilter.java:50)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:111)
at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108)
at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$2(FilterChainProxy.java:235)
at org.springframework.security.web.FilterChainProxy$$Lambda/0x000000000da363c8.doFilter(Unknown Source)
at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:491)
at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation$$Lambda/0x000000000da808f8.doFilter(Unknown Source)
at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:353)
at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation$$Lambda/0x000000000da80b28.doFilter(Unknown Source)
at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:84)
at org.springframework.security.web.ObservationFilterChainDecorator$$Lambda/0x000000000da36828.doFilter(Unknown Source)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:131)
at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:101)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:243)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:230)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:140)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:243)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:230)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:140)
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:243)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:230)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:140)
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:181)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:243)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:230)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:140)
at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:243)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:230)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:140)
at org.springframework.security.oauth2.server.resource.web.authentication.BearerTokenAuthenticationFilter.doFilterInternal(BearerTokenAuthenticationFilter.java:207)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:243)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:230)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:140)
at org.springframework.security.oauth2.server.resource.web.OAuth2ProtectedResourceMetadataFilter.doFilterInternal(OAuth2ProtectedResourceMetadataFilter.java:98)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:243)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:230)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:140)
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:96)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:243)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:230)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:140)
at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:243)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:230)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:140)
at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:243)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:230)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:140)
at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82)
at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:243)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:230)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:140)
at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:243)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:230)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:140)
at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:243)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter$$Lambda/0x000000000da3c730.doFilter(Unknown Source)
at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:336)
at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation$$Lambda/0x000000000da3c980.doFilter(Unknown Source)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:140)
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:237)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:195)
at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113)
at org.springframework.web.filter.ServletRequestPathFilter.doFilter(ServletRequestPathFilter.java:52)
at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113)
at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74)
at org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebSecurityConfiguration.java:317)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:355)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:272)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:111)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:111)
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:111)
at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:110)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:111)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:199)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:111)
at org.springframework.web.filter.ForwardedHeaderFilter.doFilterInternal(ForwardedHeaderFilter.java:174)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:111)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:165)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:77)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:535)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:86)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:71)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:347)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:406)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:71)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:1307)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:2036)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:74)
at java.lang.Thread.runWith(java.base@25.0.4/Unknown Source)
at java.lang.VirtualThread.run(java.base@25.0.4/Unknown Source)
at java.lang.VirtualThread$VThreadContinuation$1.run(java.base@25.0.4/Unknown Source)
at jdk.internal.vm.Continuation.enter0(java.base@25.0.4/Unknown Source)
at jdk.internal.vm.Continuation.enter(java.base@25.0.4/Unknown Source)
"ForkJoinPool-1-worker-108" #181 [165] daemon prio=5 os_prio=0 cpu=907.74ms elapsed=22002.90s tid=0x00007f9e7f81c6b0 [0x00007f9e7dac2000]
Carrying virtual thread #182
at jdk.internal.vm.Continuation.run(java.base@25.0.4/Unknown Source)
at java.lang.VirtualThread.runContinuation(java.base@25.0.4/Unknown Source)
at java.lang.VirtualThread$$Lambda/0x000000000d7e1e00.run(java.base@25.0.4/Unknown Source)
at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.compute(java.base@25.0.4/Unknown Source)
at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.compute(java.base@25.0.4/Unknown Source)
at java.util.concurrent.ForkJoinTask$InterruptibleTask.exec(java.base@25.0.4/Unknown Source)
at java.util.concurrent.ForkJoinTask.doExec(java.base@25.0.4/Unknown Source)
at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(java.base@25.0.4/Unknown Source)
at java.util.concurrent.ForkJoinPool.runWorker(java.base@25.0.4/Unknown Source)
at java.util.concurrent.ForkJoinWorkerThread.run(java.base@25.0.4/Unknown Source)
Mounted virtual thread #182
at java.lang.ClassLoader.loadClass(java.base@25.0.4/Unknown Source)
- waiting to lock <0x00000000f0983348> (a java.lang.Object)
at org.springframework.boot.loader.net.protocol.jar.JarUrlClassLoader.loadClass(JarUrlClassLoader.java:107)
at org.springframework.boot.loader.launch.LaunchedClassLoader.loadClass(LaunchedClassLoader.java:91)
at java.lang.ClassLoader.loadClass(java.base@25.0.4/Unknown Source)
at org.springframework.expression.spel.support.ReflectionHelper.compareArguments(ReflectionHelper.java:67)
at org.springframework.expression.spel.support.ReflectiveMethodResolver.resolve(ReflectiveMethodResolver.java:179)
at org.springframework.expression.spel.ast.MethodReference.findMethodExecutor(MethodReference.java:286)
at org.springframework.expression.spel.ast.MethodReference.getValueInternal(MethodReference.java:187)
at org.springframework.expression.spel.ast.MethodReference.getValueInternal(MethodReference.java:125)
at org.springframework.expression.spel.ast.SpelNodeImpl.getValue(SpelNodeImpl.java:198)
at org.springframework.expression.spel.ast.OpOr.getBooleanValue(OpOr.java:59)
at org.springframework.expression.spel.ast.OpOr.getValueInternal(OpOr.java:50)
at org.springframework.expression.spel.ast.OpOr.getValueInternal(OpOr.java:39)
at org.springframework.expression.spel.ast.SpelNodeImpl.getValue(SpelNodeImpl.java:114)
at org.springframework.expression.spel.standard.SpelExpression.getValue(SpelExpression.java:267)
at org.springframework.security.authorization.method.ExpressionUtils.evaluate(ExpressionUtils.java:45)
at org.springframework.security.authorization.method.PreAuthorizeAuthorizationManager.authorize(PreAuthorizeAuthorizationManager.java:88)
at org.springframework.security.authorization.method.PreAuthorizeAuthorizationManager.authorize(PreAuthorizeAuthorizationManager.java:42)
at org.springframework.security.authorization.ObservationAuthorizationManager.authorize(ObservationAuthorizationManager.java:75)
at org.springframework.security.authorization.method.AuthorizationManagerBeforeMethodInterceptor.attemptAuthorization(AuthorizationManagerBeforeMethodInterceptor.java:252)
at org.springframework.security.authorization.method.AuthorizationManagerBeforeMethodInterceptor.invoke(AuthorizationManagerBeforeMethodInterceptor.java:197)
at org.springframework.security.config.annotation.method.configuration.DeferringMethodInterceptor.invoke(DeferringMethodInterceptor.java:44)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:719)
at com.mycompany.nexus.core.handler.submodel.SubmodelController$$SpringCGLIB$$0.getSubmodelCategories(<generated>)
at java.lang.invoke.DirectMethodHandle$Holder.invokeVirtual(java.base@25.0.4/DirectMethodHandle$Holder)
at java.lang.invoke.LambdaForm$MH/0x000000000d06c800.invoke(java.base@25.0.4/LambdaForm$MH)
at java.lang.invoke.Invokers$Holder.invokeExact_MT(java.base@25.0.4/Invokers$Holder)
at jdk.internal.reflect.DirectMethodHandleAccessor.invokeImpl(java.base@25.0.4/Unknown Source)
at jdk.internal.reflect.DirectMethodHandleAccessor.invoke(java.base@25.0.4/Unknown Source)
at java.lang.reflect.Method.invoke(java.base@25.0.4/Unknown Source)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:252)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:184)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:934)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:853)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:86)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:866)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1000)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:892)
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:622)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:874)
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:710)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:132)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:59)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:111)
at org.springframework.web.filter.AbstractRequestLoggingFilter.doFilterInternal(AbstractRequestLoggingFilter.java:315)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:111)
at com.mycompany.security.logging.filter.PrivilegedAccessLoggingFilter.doFilterInternal(PrivilegedAccessLoggingFilter.java:50)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:111)
at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108)
at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$2(FilterChainProxy.java:235)
at org.springframework.security.web.FilterChainProxy$$Lambda/0x000000000da363c8.doFilter(Unknown Source)
at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:491)
at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation$$Lambda/0x000000000da808f8.doFilter(Unknown Source)
at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:353)
at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation$$Lambda/0x000000000da80b28.doFilter(Unknown Source)
at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:84)
at org.springframework.security.web.ObservationFilterChainDecorator$$Lambda/0x000000000da36828.doFilter(Unknown Source)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:131)
at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:101)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:243)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:230)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:140)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:243)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:230)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:140)
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:243)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:230)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:140)
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:181)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:243)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:230)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:140)
at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:243)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:230)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:140)
at org.springframework.security.oauth2.server.resource.web.authentication.BearerTokenAuthenticationFilter.doFilterInternal(BearerTokenAuthenticationFilter.java:207)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:243)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:230)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:140)
at org.springframework.security.oauth2.server.resource.web.OAuth2ProtectedResourceMetadataFilter.doFilterInternal(OAuth2ProtectedResourceMetadataFilter.java:98)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:243)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:230)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:140)
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:96)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:243)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:230)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:140)
at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:243)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:230)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:140)
at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:243)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:230)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:140)
at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82)
at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:243)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:230)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:140)
at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:243)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:230)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:140)
at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:243)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter$$Lambda/0x000000000da3c730.doFilter(Unknown Source)
at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:336)
at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation$$Lambda/0x000000000da3c980.doFilter(Unknown Source)
at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:140)
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:237)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:195)
at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113)
at org.springframework.web.filter.ServletRequestPathFilter.doFilter(ServletRequestPathFilter.java:52)
at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113)
at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74)
at org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebSecurityConfiguration.java:317)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:355)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:272)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:111)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:111)
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:111)
at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:110)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:111)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:199)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:111)
at org.springframework.web.filter.ForwardedHeaderFilter.doFilterInternal(ForwardedHeaderFilter.java:174)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:111)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:165)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:77)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:535)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:86)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:71)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:347)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:406)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:71)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:1307)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:2036)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:74)
at java.lang.Thread.runWith(java.base@25.0.4/Unknown Source)
at java.lang.VirtualThread.run(java.base@25.0.4/Unknown Source)
at java.lang.VirtualThread$VThreadContinuation$1.run(java.base@25.0.4/Unknown Source)
at jdk.internal.vm.Continuation.enter0(java.base@25.0.4/Unknown Source)
at jdk.internal.vm.Continuation.enter(java.base@25.0.4/Unknown Source)
"GC Thread#1" os_prio=0 cpu=650.35ms elapsed=25185.09s tid=0x00007f9e83129a90 nid=26 runnable
"VM Thread" os_prio=0 cpu=56.01ms elapsed=25185.65s tid=0x00007f9e888c5010 nid=15 runnable
"VM Periodic Task Thread" os_prio=0 cpu=200.89ms elapsed=25185.66s tid=0x00007f9e889e0d90 nid=14 waiting on condition
"G1 Service" os_prio=0 cpu=1260.15ms elapsed=25185.69s tid=0x00007f9e88ae5aa0 nid=12 runnable
"G1 Refine#0" os_prio=0 cpu=12381.57ms elapsed=25185.69s tid=0x00007f9e88ae5010 nid=11 runnable
"G1 Conc#0" os_prio=0 cpu=280.10ms elapsed=25185.69s tid=0x00007f9e8af455f0 nid=10 runnable
"G1 Main Marker" os_prio=0 cpu=1.28ms elapsed=25185.70s tid=0x00007f9e8bc79b20 nid=9 runnable
"GC Thread#0" os_prio=0 cpu=678.05ms elapsed=25185.70s tid=0x00007f9e8bc795c0 nid=8 runnable
JNI global refs: 36, weak refs: 0
Heap
garbage-first heap total reserved 524288K, committed 393216K, used 234212K [0x00000000e0000000, 0x0000000100000000)
region size 1024K, 140 young (143360K), 11 survivors (11264K)
Metaspace used 84006K, committed 84928K, reserved 245760K
class space used 10995K, committed 11456K, reserved 114688K
Reproducing the error is very hard because it occurs only from time to time.
Related issue may are
#51379
#50925
Used versions
Spring Boot 4.1.0
OpenJDK 64-Bit Server VM (25.0.4+7-LTS mixed mode, sharing)
Describe the bug
While startup of our Spring Boot application, threads are blocked because they are waiting for a lock to load classes from the java.base module with
org.springframework.boot.loader.net.protocol.jar.JarUrlClassLoader. The application is not responding to any request.In the following thread dump the entry
at org.springframework.boot.loader.jar.NestedJarFile.hasEntry(NestedJarFile.java:251) - waiting to lock <0x00000000e165a528> (a org.springframework.boot.loader.net.protocol.jar.UrlNestedJarFile)is existent twice in two different threads.The
Catalina-utility-2thread is blocked.Reproducing the error is very hard because it occurs only from time to time.
Related issue may are
#51379
#50925