-
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
OOM in tests since Quarkus 3.13.0 (Part 2) #42355
Comments
I'll take a look |
Although I am yet to determine the actual cause of the problem, I have however been able to narrow it down to the |
I think I know what the problem is, but it will take a look while before I am able to test my theory |
Seems that there are more than one issue... I'll likely continue tomorrow |
The way things were being done previously less to us leaking the Deployment ClassLoader Additionally, make changes so the extensions follows some of the practices that others use Fixes: quarkusio#42355
Would you be able to test #42369? For whatever reason I could not get Gradle to use my changes... |
I've tested #42369 against our real application and still get an OOM. Tomorrow i can try the reproducer. |
Thanks for checking. Looking forward to hearing if the OOM still happens with the reproducer |
I was able to reproduce the problem in the reproducer even with my fix - so obviously there is even more to it. |
I closed #42369 because it does not fix the issue. I was however able to figure out to pinpoint the problem to the JVM and System related binders. Those use JMX which does not play nicely at all with multiple classloaders. cc @gsmet who was also interested in the outcome of this. |
@mschorsch my comment above means that you can get the reproducer working by setting: quarkus.micrometer.binder.jvm=false
quarkus.micrometer.binder.system=false |
Ah, that's funny, I actually identified them as problematic here: #41233 Is it what you're seeing? I really think we should try to tackle this issue and make this an error so that we can catch further issues. |
What do you mean exactly, I don't follow
Even if that is the case, it won't be done by me as I'm going to be off for a couple weeks :). |
Turns out that this can be fixed and rather easily... #42388 fixes the reproducer. |
I can confirm that this does indeed prevent the OOM in the reproducer 👍 . In our real application, however, we still get an OOM even though I have deactivated the micrometer extension 😬 . quarkus:
micrometer:
enabled: false
binder:
jvm: false
system: false Even the complete removal of I will test #42388 but I suspect that there are other issues that are not covered by the repeoducer. |
If you do find more OOMs, please open new issues with the relevent reproducers. |
🙏🏼 |
Ensure that all AutoCloseable binders are closed
I know you're chasing other things, but I think not having this by default would be a surprise. |
In any case, that proposal is no longer necessary :) |
Describe the bug
As described in #42303 we get an OOM in our tests.
Because #42303 doesn't fix the problem completly i've opened a new issue with a new reproducer.
Compared to the reproducer in #42303 i have added more dependencies.
Expected behavior
No response
Actual behavior
No response
How to Reproduce?
oom-reproducer2.zip
./gradlew test --console=plain
Output of
uname -a
orver
No response
Output of
java -version
Java 21
Quarkus version or git rev
Quarkus 3.13.1
Build tool (ie. output of
mvnw --version
orgradlew --version
)Gradle 8.8
Additional information
No response
The text was updated successfully, but these errors were encountered: