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

Unable to upgrade to Spring Boot 2.4.6 #810

Closed
Artur- opened this issue May 21, 2021 · 7 comments · Fixed by #842
Closed

Unable to upgrade to Spring Boot 2.4.6 #810

Artur- opened this issue May 21, 2021 · 7 comments · Fixed by #842

Comments

@Artur-
Copy link
Member

Artur- commented May 21, 2021

As can be seen in #809

Moving from Spring Boot 2.4.5 to 2.4.6 causes the build to fail with

[Step 2/6] [INFO] --- maven-jar-plugin:3.0.2:jar (default-jar) @ vaadin-test-spring-boot-contextpath ---
[15:59:56][Step 2/6] [INFO] Building jar: /opt/agent/work/cd0aca6139b3f1ae/vaadin-spring-tests/test-spring-boot-contextpath/target/vaadin-test-spring-boot-contextpath-18.0-SNAPSHOT.jar
[15:59:56][Step 2/6] [INFO] 
[15:59:56][Step 2/6] [INFO] --- spring-boot-maven-plugin:2.4.6:start (pre-integration-test) @ vaadin-test-spring-boot-contextpath ---
[15:59:56][Step 2/6] [INFO] Attaching agents: []
[15:59:56][Step 2/6] Error: Exception thrown by the agent : java.rmi.server.ExportException: Port already in use: 9001; nested exception is: 
[15:59:56][Step 2/6] 	java.net.BindException: Address already in use (Bind failed)
[15:59:56][Step 2/6] sun.management.AgentConfigurationError: java.rmi.server.ExportException: Port already in use: 9001; nested exception is: 
[15:59:56][Step 2/6] 	java.net.BindException: Address already in use (Bind failed)
[15:59:56][Step 2/6] 	at sun.management.jmxremote.ConnectorBootstrap.startRemoteConnectorServer(ConnectorBootstrap.java:480)
[15:59:56][Step 2/6] 	at sun.management.Agent.startAgent(Agent.java:262)
[15:59:56][Step 2/6] 	at sun.management.Agent.startAgent(Agent.java:452)
[15:59:56][Step 2/6] Caused by: java.rmi.server.ExportException: Port already in use: 9001; nested exception is: 
[15:59:56][Step 2/6] 	java.net.BindException: Address already in use (Bind failed)
[15:59:56][Step 2/6] 	at sun.rmi.transport.tcp.TCPTransport.listen(TCPTransport.java:346)
[15:59:56][Step 2/6] 	at sun.rmi.transport.tcp.TCPTransport.exportObject(TCPTransport.java:254)
[15:59:56][Step 2/6] 	at sun.rmi.transport.tcp.TCPEndpoint.exportObject(TCPEndpoint.java:411)
[15:59:56][Step 2/6] 	at sun.rmi.transport.LiveRef.exportObject(LiveRef.java:147)
[15:59:56][Step 2/6] 	at sun.rmi.server.UnicastServerRef.exportObject(UnicastServerRef.java:236)
[15:59:56][Step 2/6] 	at sun.rmi.registry.RegistryImpl.setup(RegistryImpl.java:213)
[15:59:56][Step 2/6] 	at sun.rmi.registry.RegistryImpl.<init>(RegistryImpl.java:173)
[15:59:56][Step 2/6] 	at sun.management.jmxremote.SingleEntryRegistry.<init>(SingleEntryRegistry.java:49)
[15:59:56][Step 2/6] 	at sun.management.jmxremote.ConnectorBootstrap.exportMBeanServer(ConnectorBootstrap.java:816)
[15:59:56][Step 2/6] 	at sun.management.jmxremote.ConnectorBootstrap.startRemoteConnectorServer(ConnectorBootstrap.java:468)
[15:59:56][Step 2/6] 	... 2 more
[15:59:56][Step 2/6] Caused by: java.net.BindException: Address already in use (Bind failed)
[15:59:56][Step 2/6] 	at java.net.PlainSocketImpl.socketBind(Native Method)
[15:59:56][Step 2/6] 	at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387)
[15:59:56][Step 2/6] 	at java.net.ServerSocket.bind(ServerSocket.java:375)
[15:59:56][Step 2/6] 	at java.net.ServerSocket.<init>(ServerSocket.java:237)
[15:59:56][Step 2/6] 	at java.net.ServerSocket.<init>(ServerSocket.java:128)
[15:59:56][Step 2/6] 	at sun.rmi.transport.proxy.RMIDirectSocketFactory.createServerSocket(RMIDirectSocketFactory.java:45)
[15:59:56][Step 2/6] 	at sun.rmi.transport.proxy.RMIMasterSocketFactory.createServerSocket(RMIMasterSocketFactory.java:345)
[15:59:56][Step 2/6] 	at sun.rmi.transport.tcp.TCPEndpoint.newServerSocket(TCPEndpoint.java:666)
[15:59:56][Step 2/6] 	at sun.rmi.transport.tcp.TCPTransport.listen(TCPTransport.java:335)
[15:59:56][Step 2/6] 	... 11 more
[16:00:17][Step 2/6] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:2.4.6:start (pre-integration-test) on project vaadin-test-spring-boot-contextpath: Could not figure out if the application has started

Before the failure, the following modules pass

[Step 2/6] [INFO] vaadin-spring-parent 18.0-SNAPSHOT ................. SUCCESS [  0.491 s]
[INFO] vaadin-spring ...................................... SUCCESS [  9.947 s]
[INFO] Vaadin Spring tests ................................ SUCCESS [  6.999 s]
[INFO] Flow Spring Common UI components ................... SUCCESS [  3.247 s]
[INFO] Vaadin Spring Boot integration tests ............... SUCCESS [ 25.226 s]
[INFO] Vaadin Spring Boot integration tests with custom packages to scan SUCCESS [ 20.269 s]
[INFO] Vaadin Spring Boot deployable integration tests .... SUCCESS [ 22.882 s]

Presumably one of them leaves something running.

This can be reproduce locally also by running e.g.

mvn install -DskipTests

in vaadin-spring-tests

However, after Maven has terminated, nothing is left running

@Artur- Artur- changed the title Unable to update to Spring Boot 2.4.6 Unable to upgrade to Spring Boot 2.4.6 May 21, 2021
@Artur-
Copy link
Member Author

Artur- commented May 21, 2021

Looks like test-spring-boot-scan is the problem. After running mvn install -DskipTests in the folder there is a process still running:

61070 s018  S      0:13.03 /Library/Java/JavaVirtualMachines/amazon-corretto-8.jdk/Contents/Home/jre/bin/java -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9001 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=127.0.0.1 -cp lots-of-classes-here com.vaadin.flow.spring.scan.test.TestServletInitializer --spring.application.admin.enabled=true --spring.application.admin.jmx-name=org.springframework.boot:type=Admin,name=SpringApplication

Stack trace doesn't really reveal why

2021-05-21 23:17:08
Full thread dump OpenJDK 64-Bit Server VM (25.292-b10 mixed mode):

"Attach Listener" #38 daemon prio=9 os_prio=31 tid=0x00007faa5e859000 nid=0x460f waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"RMI TCP Connection(idle)" #36 daemon prio=5 os_prio=31 tid=0x00007faa8b878800 nid=0x6207 waiting on condition [0x000070000effb000]
   java.lang.Thread.State: TIMED_WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000005c000e9f0> (a java.util.concurrent.SynchronousQueue$TransferStack)
	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
	at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460)
	at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362)
	at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1073)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

"DestroyJavaVM" #35 prio=5 os_prio=31 tid=0x00007faa5c1e7800 nid=0x1603 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"qtp1731967318-28" #28 prio=5 os_prio=31 tid=0x00007faa5b9ab000 nid=0x9903 waiting on condition [0x000070000f813000]
   java.lang.Thread.State: TIMED_WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000005c075af98> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
	at org.eclipse.jetty.util.BlockingArrayQueue.poll(BlockingArrayQueue.java:382)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.idleJobPoll(QueuedThreadPool.java:973)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1023)
	at java.lang.Thread.run(Thread.java:748)

"qtp1731967318-27" #27 prio=5 os_prio=31 tid=0x00007faabbe87000 nid=0x6a03 waiting on condition [0x000070000f710000]
   java.lang.Thread.State: TIMED_WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000005c075af98> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
	at org.eclipse.jetty.util.BlockingArrayQueue.poll(BlockingArrayQueue.java:382)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.idleJobPoll(QueuedThreadPool.java:973)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1023)
	at java.lang.Thread.run(Thread.java:748)

"qtp1731967318-26" #26 prio=5 os_prio=31 tid=0x00007faabbb6b000 nid=0x9b03 waiting on condition [0x000070000f60d000]
   java.lang.Thread.State: TIMED_WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000005c075af98> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
	at org.eclipse.jetty.util.BlockingArrayQueue.poll(BlockingArrayQueue.java:382)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.idleJobPoll(QueuedThreadPool.java:973)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1023)
	at java.lang.Thread.run(Thread.java:748)

"qtp1731967318-25" #25 prio=5 os_prio=31 tid=0x00007faadf7e4000 nid=0x6803 waiting on condition [0x000070000f50a000]
   java.lang.Thread.State: TIMED_WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000005c075af98> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
	at org.eclipse.jetty.util.BlockingArrayQueue.poll(BlockingArrayQueue.java:382)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.idleJobPoll(QueuedThreadPool.java:973)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1023)
	at java.lang.Thread.run(Thread.java:748)

"qtp1731967318-24" #24 prio=5 os_prio=31 tid=0x00007faa5b9aa000 nid=0x6703 waiting on condition [0x000070000f407000]
   java.lang.Thread.State: TIMED_WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000005c075af98> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
	at org.eclipse.jetty.util.BlockingArrayQueue.poll(BlockingArrayQueue.java:382)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.idleJobPoll(QueuedThreadPool.java:973)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1023)
	at java.lang.Thread.run(Thread.java:748)

"qtp1731967318-23" #23 prio=5 os_prio=31 tid=0x00007faadbffd800 nid=0x6603 waiting on condition [0x000070000f304000]
   java.lang.Thread.State: TIMED_WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000005c075af98> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
	at org.eclipse.jetty.util.BlockingArrayQueue.poll(BlockingArrayQueue.java:382)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.idleJobPoll(QueuedThreadPool.java:973)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1023)
	at java.lang.Thread.run(Thread.java:748)

"qtp1731967318-22" #22 prio=5 os_prio=31 tid=0x00007faadbf8f800 nid=0x6407 waiting on condition [0x000070000f201000]
   java.lang.Thread.State: TIMED_WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000005c075af98> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
	at org.eclipse.jetty.util.BlockingArrayQueue.poll(BlockingArrayQueue.java:382)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.idleJobPoll(QueuedThreadPool.java:973)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1023)
	at java.lang.Thread.run(Thread.java:748)

"qtp1731967318-21" #21 prio=5 os_prio=31 tid=0x00007faabbd95800 nid=0xa007 waiting on condition [0x000070000f0fe000]
   java.lang.Thread.State: TIMED_WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000005c075af98> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
	at org.eclipse.jetty.util.BlockingArrayQueue.poll(BlockingArrayQueue.java:382)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.idleJobPoll(QueuedThreadPool.java:973)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1023)
	at java.lang.Thread.run(Thread.java:748)

"RMI TCP Connection(idle)" #16 daemon prio=5 os_prio=31 tid=0x00007faadb95f000 nid=0x6003 waiting on condition [0x000070000eef8000]
   java.lang.Thread.State: TIMED_WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000005c000e9f0> (a java.util.concurrent.SynchronousQueue$TransferStack)
	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
	at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460)
	at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362)
	at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1073)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

"RMI Scheduler(0)" #15 daemon prio=5 os_prio=31 tid=0x00007faadf199800 nid=0xa103 waiting on condition [0x000070000edf5000]
   java.lang.Thread.State: TIMED_WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000005c001c020> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
	at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
	at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

"RMI TCP Connection(idle)" #14 daemon prio=5 os_prio=31 tid=0x00007faadf19d000 nid=0x5e03 waiting on condition [0x000070000ecf2000]
   java.lang.Thread.State: TIMED_WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000005c000e9f0> (a java.util.concurrent.SynchronousQueue$TransferStack)
	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
	at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460)
	at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362)
	at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1073)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

"RMI TCP Accept-0" #13 daemon prio=5 os_prio=31 tid=0x00007faadf159800 nid=0x5d03 runnable [0x000070000eaec000]
   java.lang.Thread.State: RUNNABLE
	at java.net.PlainSocketImpl.socketAccept(Native Method)
	at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:409)
	at java.net.ServerSocket.implAccept(ServerSocket.java:560)
	at java.net.ServerSocket.accept(ServerSocket.java:528)
	at sun.management.jmxremote.LocalRMIServerSocketFactory$1.accept(LocalRMIServerSocketFactory.java:52)
	at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:405)
	at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:377)
	at java.lang.Thread.run(Thread.java:748)

"RMI TCP Accept-9001" #12 daemon prio=5 os_prio=31 tid=0x00007faade87b800 nid=0x5b03 runnable [0x000070000e9e9000]
   java.lang.Thread.State: RUNNABLE
	at java.net.PlainSocketImpl.socketAccept(Native Method)
	at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:409)
	at java.net.ServerSocket.implAccept(ServerSocket.java:560)
	at java.net.ServerSocket.accept(ServerSocket.java:528)
	at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:405)
	at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:377)
	at java.lang.Thread.run(Thread.java:748)

"RMI TCP Accept-0" #11 daemon prio=5 os_prio=31 tid=0x00007faabb98e000 nid=0x5a03 runnable [0x000070000e8e6000]
   java.lang.Thread.State: RUNNABLE
	at java.net.PlainSocketImpl.socketAccept(Native Method)
	at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:409)
	at java.net.ServerSocket.implAccept(ServerSocket.java:560)
	at java.net.ServerSocket.accept(ServerSocket.java:528)
	at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:405)
	at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:377)
	at java.lang.Thread.run(Thread.java:748)

"Service Thread" #9 daemon prio=9 os_prio=31 tid=0x00007faabb82d800 nid=0x5803 runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C1 CompilerThread3" #8 daemon prio=9 os_prio=31 tid=0x00007faadf04f000 nid=0xa703 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread2" #7 daemon prio=9 os_prio=31 tid=0x00007faadc018800 nid=0xa903 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread1" #6 daemon prio=9 os_prio=31 tid=0x00007faadc014000 nid=0x5503 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread0" #5 daemon prio=9 os_prio=31 tid=0x00007faadf046000 nid=0x3d03 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" #4 daemon prio=9 os_prio=31 tid=0x00007faabb822800 nid=0x3f03 runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Finalizer" #3 daemon prio=8 os_prio=31 tid=0x00007faabb80a800 nid=0x4b03 in Object.wait() [0x000070000e0cb000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00000005c000f520> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:144)
	- locked <0x00000005c000f520> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:165)
	at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:216)

"Reference Handler" #2 daemon prio=10 os_prio=31 tid=0x00007faadc012800 nid=0x3403 in Object.wait() [0x000070000dfc8000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00000005c0016f88> (a java.lang.ref.Reference$Lock)
	at java.lang.Object.wait(Object.java:502)
	at java.lang.ref.Reference.tryHandlePending(Reference.java:191)
	- locked <0x00000005c0016f88> (a java.lang.ref.Reference$Lock)
	at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:153)

"VM Thread" os_prio=31 tid=0x00007faadf02d800 nid=0x3303 runnable 

"GC task thread#0 (ParallelGC)" os_prio=31 tid=0x00007faadf009000 nid=0x1e07 runnable 

"GC task thread#1 (ParallelGC)" os_prio=31 tid=0x00007faadf009800 nid=0x1f03 runnable 

"GC task thread#2 (ParallelGC)" os_prio=31 tid=0x00007faadf00a800 nid=0x5403 runnable 

"GC task thread#3 (ParallelGC)" os_prio=31 tid=0x00007faadf00b000 nid=0x5303 runnable 

"GC task thread#4 (ParallelGC)" os_prio=31 tid=0x00007faadf00c000 nid=0x2c03 runnable 

"GC task thread#5 (ParallelGC)" os_prio=31 tid=0x00007faadc808800 nid=0x2e03 runnable 

"GC task thread#6 (ParallelGC)" os_prio=31 tid=0x00007faade816800 nid=0x5003 runnable 

"GC task thread#7 (ParallelGC)" os_prio=31 tid=0x00007faade817000 nid=0x4f03 runnable 

"GC task thread#8 (ParallelGC)" os_prio=31 tid=0x00007faadc809800 nid=0x3003 runnable 

"GC task thread#9 (ParallelGC)" os_prio=31 tid=0x00007faadf808800 nid=0x3103 runnable 

"VM Periodic Task Thread" os_prio=31 tid=0x00007faadf15a800 nid=0xa403 waiting on condition 

JNI global references: 1522

@Artur-
Copy link
Member Author

Artur- commented May 22, 2021

Actually seems to reproduce in any of the IT modules by running mvn install -DskipTests

@Artur-
Copy link
Member Author

Artur- commented May 27, 2021

Presumably this is caused by Jetty that keeps listening for something

qtp1731967318-21" #21 prio=5 os_prio=31 tid=0x00007faabbd95800 nid=0xa007 waiting on condition [0x000070000f0fe000]
   java.lang.Thread.State: TIMED_WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000005c075af98> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
	at org.eclipse.jetty.util.BlockingArrayQueue.poll(BlockingArrayQueue.java:382)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.idleJobPoll(QueuedThreadPool.java:973)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1023)
	at java.lang.Thread.run(Thread.java:748)

I tried to downgrade Jetty to the 2.4.5 version but that didn’t seem to be the cause. Also there is a stop timeout set for Jetty in 2.4.6 but reverting that didn’t seem to help either.

Maybe the 2.5.0 milestone releases could be tested to understand what change in Spring Boot causes this and what the real problem is.

@Artur-
Copy link
Member Author

Artur- commented May 27, 2021

I was unable to reproduce this in a basic project from start.spring.io with springmvc

It might require Vaadin in the project

@pleku pleku self-assigned this May 31, 2021
@pleku pleku moved this from Product backlog to In progress in OLD Vaadin Flow ongoing work (Vaadin 10+) May 31, 2021
@knoobie
Copy link

knoobie commented Jun 8, 2021

@pleku the next spring boot version (2.4.7 / 2.5.1) is released in two days which fixes over 40 issues. It's probably best to wait for it before further debugging is done.

@snicoll
Copy link
Contributor

snicoll commented Jun 10, 2021

@knoobie not sure I follow. There is already an issue raised for this for which we were waiting for a reproducer. I am afraid 2.4.7 isn't going to fix this particular issue since we didn't manage to investigate it.

@knoobie
Copy link

knoobie commented Jun 10, 2021

@snicoll I had hopes that e.g. spring-projects/spring-boot#26627 is related to this, as I've seen multiple Vaadin users having problems with this after the update - could just be a coincidence tho.

OLD Vaadin Flow ongoing work (Vaadin 10+) automation moved this from In progress to Done - pending release Jun 14, 2021
OLD Vaadin Flow bugs & maintenance (Vaadin 10+) automation moved this from Internal Backlog / Technical Debt to Closed Jun 14, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging a pull request may close this issue.

5 participants