-
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
Upgrading from 3.5.3 to 3.6.1 ,3.6.3,3.6.4 Quakust test will not start with Thread Thread[vert.x-eventloop-thread-6,5,main] has been blocked for 2460 m #37958
Comments
@gsmet I suppose is something in [area/arc]but i cannot assign the label |
@psini Can you please create a simple reproducer ? We have a couple of integration tests combining both smallrye-jwt and oidc, example, https://github.com/quarkusio/quarkus/blob/main/integration-tests/smallrye-jwt-oidc-webapp/pom.xml Also CC @mkouba @michalvavrik |
Hi i cannot reproduce it with a simple reproducer , it happens only on one project that import different microservices inside one single project. I tried also to debug it but without any success. It seams somthing inside io.quarkus.arc.generator.Default_jakarta_enterprise_context_ApplicationScoped_ContextInstances but i can see the source of it. |
I have done some troubleshooting and found the culprit . I used applicationscoped beans and injectedthem in the test code that is running on main thread. |
Thanks @psini, I'll let our CDI experts decide. |
I could agree with you about the rest call but postcontruct could be used also to do heavy work and in the meanwhile other thread could not instantiate other beans that seams a little bit overkilling . In any case without the optimization in place quarkus works great . I'm only worried if there are any other case of some loop that could create a deadlock like this when different thread are intializing the beans. |
CC @mkouba, this is an interesting case :-) |
Hm, so if I understand it correctly the problem here is that the rest client call offloads the execution to a different thread and so the shared Although the contract of the logic in a
Yes, this should work. |
- use a separate lock for each bean in the generated ContextInstances; fixes quarkusio#37958 - remove ContextInstances#forEach() and ContextInstances#clear() - optimize the generated ContextInstances to significantly reduce the size of the generated bytecode
- use a separate lock for each bean in the generated ContextInstances; fixes quarkusio#37958 - remove ContextInstances#forEach() and ContextInstances#clear() - optimize the generated ContextInstances to significantly reduce the size of the generated bytecode
- fixes quarkusio#37958 and quarkusio#38040 - use a separate lock for each bean in the generated ContextInstances - replace ContextInstances#forEach() and ContextInstances#clear() with ContextInstances#removeEach() - optimize the generated ContextInstances to significantly reduce the size of the generated bytecode
- fixes quarkusio#37958 and quarkusio#38040 - use a separate lock for each bean in the generated ContextInstances - replace ContextInstances#forEach() and ContextInstances#clear() with ContextInstances#removeEach() - optimize the generated ContextInstances to significantly reduce the size of the generated bytecode
we have the same issue with Thread[vert.x-eventloop-thread-6,5,main] has been blocked Updating 3 different Service from Quarkus 3.5.3/3.6.0 to 3.6.1/3.6.2/3.6.3/3.6.4 |
For the record - another solution is to use a |
Describe the bug
Starting a quarkus test it will not start because it will block the following exception. We have at the same time smallrye-jwt and oidc installed. Using quarkus.arc.optimize-contexts=false it starts correctly and works .
Expected behavior
quarkus should start
Actual behavior
No response
How to Reproduce?
using the following feature Installed features: [cache, cdi, hibernate-validator, kafka-client, micrometer, mongodb-client, oidc, opentelemetry, reactive-routes, rest-client, rest-client-jackson, resteasy, resteasy-jackson, resteasy-multipart, scheduler, security, servlet, smallrye-context-propagation, smallrye-fault-tolerance, smallrye-health, smallrye-jwt, smallrye-openapi, smallrye-reactive-messaging, smallrye-reactive-messaging-kafka, swagger-ui, vertx]
Output of
uname -a
orver
No response
Output of
java -version
No response
Quarkus version or git rev
No response
Build tool (ie. output of
mvnw --version
orgradlew --version
)No response
Additional information
No response
The text was updated successfully, but these errors were encountered: