-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
Quarkus startup hangs after upgrade to version 2.11.x.Final #27589
Comments
Could you get a thread dump with |
Is this what you are looking for
|
Yes, exactly. You took this while the process was running with CPU at 100%, right? If so, I suppose we have some sort of infinite loop in I don't know how practical it is to create a reproducer for you? I think you could probably find the culprit by attaching a debugger with a breaking point on Once you have the culprit, it should be easier to put together a reproducer so that @aloubyansky can have a look. |
Hi @gsmet, I tried attaching a debugger against the process, but that doesn't seem to work (Unable to connect). Looking at the code the only line that could in theory cause a loop is at Line 306. Here the key is at the end removed from the visited list, but that should finally work, it may process a Artifact multiple times, but should not cause a loop.
I will try to make a reproducer. Remark: adding the option "-Dquarkus.bootstrap.converged-tree-only=true" will disable the new way and then the application starts again. But looking at the comment this is a temporary switch that will be removed in the future. |
Creating the reproducer went pretty fast. The problem occurs when using the Eclipse Dependencies from the converted Eclipse P2 Site. I just created a basic Quarkus project using https://code.quarkus.io/. Next added the Eclipse Tycho Plugin with the needed aggregator and the Eclipse Dependencies. The Test for the class GreetingResource now already is causing the problem, Quarkus won't start for this test. (./mwnw verify) |
Thanks a lot @dlabordus I'll have a look. |
@dlabordus how do you create the eclipse p2 mirror? |
The plugin 'tycho-eclipserun-plugin' is doing this using the file 'riseclipse.aggr'. And by adding this directory as a Repository in the POM File, maven can use these dependencies. |
It fails for me because Maven can't initialize the project. |
Do you have a Maven extension enabled somewhere? |
I just download the ZIP File again and started executing './mvnw verify' and it works from the command line. No extensions as far as I know. |
I'm using Java 17, can this be the problem for you? |
|
Wait, maybe it has something to do with my local M2 Repository. |
Right. The |
I got a way to get it working. Normally the Repo creation is in a separate module in our project. But if you first execute |
I sometimes just remove the directory '~/.m2/repository/org/eclipse' to clear my local maven cache regarding these eclipse dependencies to be sure everything is still working. |
Now it can't resolve |
Got passed it. Needed to re-generate the P2 mirror for some reason. |
Unfortunately it's getting stuck at
It simply hangs at this point. Tried cleaning it up a couple of times already. |
This is when the GreetingResourceTest is being executed? Because this is the problem, when you do a kill -3 you should see something similar I have. For this test Quarkus is started and that is not working, it looks like it's in a loop. Adding this option '-Dquarkus.bootstrap.converged-tree-only=true' to the command should pass the build again. |
Oh, ok, thanks, got it! |
It looks like an infinite loop but probably it isn't exactly that. It seems like a very "dirty" dependency graph with lots of alternative versions. Anyway, it has to be fixed. |
@dlabordus I opened a PR with a fix. Thanks a lot for the reproducer. |
Describe the bug
After upgrading our services one of the service isn't starting up anymore, at first even the build hangs. The other services are working correctly, but this one repository (CoMPAS SCL Validator) doesn't work anymore.
This repository is using a Library (RiseClipse) that's based on the Eclipse Framework and Eclipse OCL. To make it compile and run we are using the plugin 'tycho-eclipserun-plugin' to create a local maven mirror from a Eclipse P2 Site. Maybe this is causing the problem in the new version or the way the Eclipse Framework is working.
First the build stopped at the goal 'generate-code-tests' from the Quarkus plugin. after adding some configuration (skipSourceGeneration) to the plugin
The build continued but next hangs when trying to execute the HealthCheckTest where Quarkus is started and we first check if the server starts. In all situation the CPU is running at 100%, so something is happening.
Expected behavior
Build runs correctly and application starts.
Actual behavior
It look when the application tries to startup it comes in a loop, because the CPU stays at 100%.
How to Reproduce?
The problem is that it only occurs in this specific repository (CoMPAS SCL Validator) after upgrading from the latest 2.10.x.Final to all version of 2.1.x.Final.
And see the Additional information, there isn't much info to go for.
Output of
uname -a
orver
Linux ubuntu 5.15.0-46-generic #49-Ubuntu SMP Thu Aug 4 18:03:25 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Output of
java -version
OpenJDK 64-Bit Server VM (build 17.0.4+8-Ubuntu-122.04, mixed mode, sharing)
GraalVM version (if different from Java)
Quarkus version or git rev
2.11.3.Final
Build tool (ie. output of
mvnw --version
orgradlew --version
)Apache Maven 3.8.6 (84538c9988a25aec085021c365c560670ad80f63)
Additional information
In this PR #98 of the project I tried some different changes to make it work and investigate if I could figure out what is going wrong.
When starting the application without executing the tests in development mode it stays running at 100% without any output.
I needed to cancel the command to stop it.
When setting the log level for test on debug this is the last logging that is shown
And then the CPU is again at 100% and I need to cancel the command.
The text was updated successfully, but these errors were encountered: