-
Notifications
You must be signed in to change notification settings - Fork 8.1k
Description
Before reporting an issue
- I have read and understood the above terms for submitting issues, and I understand that my issue may be closed without action if I do not follow them.
Area
testsuite
Describe the bug
In the tests/base/pom.xml file, there is a dependency to keycloak-tests-custom-scripts. This dependency is used for the PartialImportTest classes. The problem is when you are running tests with Maven on the embedded server. It fails on "Failed to read script file from: scripts/default-policy.js". It's due to the KeycloakProccesor class loads it by default: https://github.com/keycloak/keycloak/blob/main/quarkus/deployment/src/main/java/org/keycloak/quarkus/deployment/KeycloakProcessor.java#L198 and it seems it's not blocked by any profile feature. This error is due to a single JVM process, where Keycloak is started without provider, but Maven loades every pom dependency and provides it for the KeycloakProcessor classloader (METAINF files).
`java.lang.RuntimeException: Fail to start the server
at org.keycloak.Keycloak.start(Keycloak.java:213)
at org.keycloak.Keycloak$Builder.start(Keycloak.java:136)
at org.keycloak.testframework.server.EmbeddedKeycloakServer.start(EmbeddedKeycloakServer.java:54)
at org.keycloak.testframework.server.AbstractKeycloakServerSupplier.getValue(AbstractKeycloakServerSupplier.java:69)
at org.keycloak.testframework.server.AbstractKeycloakServerSupplier.getValue(AbstractKeycloakServerSupplier.java:19)
at org.keycloak.testframework.injection.Registry.deployRequestedInstances(Registry.java:183)
at org.keycloak.testframework.injection.Registry.beforeEach(Registry.java:119)
at org.keycloak.testframework.KeycloakIntegrationTestExtension.beforeEach(KeycloakIntegrationTestExtension.java:29)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
Caused by: java.lang.RuntimeException: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
[error]: Build step org.keycloak.quarkus.deployment.KeycloakProcessor#configureKeycloakSessionFactory threw an exception: java.lang.RuntimeException: Failed to read script file from: scripts/default-policy.js
at org.keycloak.quarkus.deployment.KeycloakProcessor.lambda$getScriptProviderDescriptorsFromClassPath$26(KeycloakProcessor.java:1044)
at org.keycloak.quarkus.deployment.KeycloakProcessor.configureScriptDescriptor(KeycloakProcessor.java:1093)
at org.keycloak.quarkus.deployment.KeycloakProcessor.getScriptProviderDescriptorsFromClassPath(KeycloakProcessor.java:1037)
at org.keycloak.quarkus.deployment.KeycloakProcessor.loadDeployedScriptProviders(KeycloakProcessor.java:1003)
at org.keycloak.quarkus.deployment.KeycloakProcessor.loadFactories(KeycloakProcessor.java:959)
at org.keycloak.quarkus.deployment.KeycloakProcessor.configureKeycloakSessionFactory(KeycloakProcessor.java:675)
at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:733)
at io.quarkus.deployment.ExtensionLoader$3.execute(ExtensionLoader.java:874)
at io.quarkus.builder.BuildContext.run(BuildContext.java:255)
at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2651)
at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2630)
at org.jboss.threads.EnhancedQueueExecutor.runThreadBody(EnhancedQueueExecutor.java:1622)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1589)
at java.base/java.lang.Thread.run(Thread.java:1583)
at org.jboss.threads.JBossThread.run(JBossThread.java:501)
at io.quarkus.runner.bootstrap.AugmentActionImpl.runAugment(AugmentActionImpl.java:376)
at io.quarkus.runner.bootstrap.AugmentActionImpl.createInitialRuntimeApplication(AugmentActionImpl.java:293)
at io.quarkus.runner.bootstrap.AugmentActionImpl.createInitialRuntimeApplication(AugmentActionImpl.java:61)
at org.keycloak.Keycloak.start(Keycloak.java:207)
... 9 more
Caused by: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
[error]: Build step org.keycloak.quarkus.deployment.KeycloakProcessor#configureKeycloakSessionFactory threw an exception: java.lang.RuntimeException: Failed to read script file from: scripts/default-policy.js
at org.keycloak.quarkus.deployment.KeycloakProcessor.lambda$getScriptProviderDescriptorsFromClassPath$26(KeycloakProcessor.java:1044)
at org.keycloak.quarkus.deployment.KeycloakProcessor.configureScriptDescriptor(KeycloakProcessor.java:1093)
at org.keycloak.quarkus.deployment.KeycloakProcessor.getScriptProviderDescriptorsFromClassPath(KeycloakProcessor.java:1037)
at org.keycloak.quarkus.deployment.KeycloakProcessor.loadDeployedScriptProviders(KeycloakProcessor.java:1003)
at org.keycloak.quarkus.deployment.KeycloakProcessor.loadFactories(KeycloakProcessor.java:959)
at org.keycloak.quarkus.deployment.KeycloakProcessor.configureKeycloakSessionFactory(KeycloakProcessor.java:675)
at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:733)
at io.quarkus.deployment.ExtensionLoader$3.execute(ExtensionLoader.java:874)
at io.quarkus.builder.BuildContext.run(BuildContext.java:255)
at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2651)
at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2630)
at org.jboss.threads.EnhancedQueueExecutor.runThreadBody(EnhancedQueueExecutor.java:1622)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1589)
at java.base/java.lang.Thread.run(Thread.java:1583)
at org.jboss.threads.JBossThread.run(JBossThread.java:501)
at io.quarkus.builder.Execution.run(Execution.java:122)
at io.quarkus.builder.BuildExecutionBuilder.execute(BuildExecutionBuilder.java:78)
at io.quarkus.deployment.QuarkusAugmentor.run(QuarkusAugmentor.java:160)
at io.quarkus.runner.bootstrap.AugmentActionImpl.runAugment(AugmentActionImpl.java:372)
... 12 more
Caused by: java.lang.RuntimeException: Failed to read script file from: scripts/default-policy.js
at org.keycloak.quarkus.deployment.KeycloakProcessor.lambda$getScriptProviderDescriptorsFromClassPath$26(KeycloakProcessor.java:1044)
at org.keycloak.quarkus.deployment.KeycloakProcessor.configureScriptDescriptor(KeycloakProcessor.java:1093)
at org.keycloak.quarkus.deployment.KeycloakProcessor.getScriptProviderDescriptorsFromClassPath(KeycloakProcessor.java:1037)
at org.keycloak.quarkus.deployment.KeycloakProcessor.loadDeployedScriptProviders(KeycloakProcessor.java:1003)
at org.keycloak.quarkus.deployment.KeycloakProcessor.loadFactories(KeycloakProcessor.java:959)
at org.keycloak.quarkus.deployment.KeycloakProcessor.configureKeycloakSessionFactory(KeycloakProcessor.java:675)
at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:733)
at io.quarkus.deployment.ExtensionLoader$3.execute(ExtensionLoader.java:874)
at io.quarkus.builder.BuildContext.run(BuildContext.java:255)
at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2651)
at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2630)
at org.jboss.threads.EnhancedQueueExecutor.runThreadBody(EnhancedQueueExecutor.java:1622)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1589)
at java.base/java.lang.Thread.run(Thread.java:1583)
at org.jboss.threads.JBossThread.run(JBossThread.java:501)
Version
nightly
Regression
- The issue is a regression
Expected behavior
Maven with Embedded should work.
Actual behavior
Maven with Embedded fails during startup.
How to Reproduce?
./mvnw clean install -Dkc.test.server=embedded -Dtest=AdminHeadersTest -f tests/base/pom.xml
Anything else?
No response