Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Test Framework -> Embedded server -> Maven execution failure: Failed to read script file from: scripts/default-policy.js #43975

@lhanusov

Description

@lhanusov

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

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions