[JBoss JIRA] (WFLY-11865) Wildfly console logging stops with statement, "2 Spring WebApplicationInitializers detected on classpath"
by James Perkins (Jira)
[ https://issues.jboss.org/browse/WFLY-11865?page=com.atlassian.jira.plugin... ]
James Perkins resolved WFLY-11865.
----------------------------------
Resolution: Explained
I agree [~brian.stansberry]. I'm linking the follow up JIRA, which will be cloned to WFCORE at some point, and resolving this as explained.
> Wildfly console logging stops with statement, "2 Spring WebApplicationInitializers detected on classpath"
> ----------------------------------------------------------------------------------------------------------
>
> Key: WFLY-11865
> URL: https://issues.jboss.org/browse/WFLY-11865
> Project: WildFly
> Issue Type: Bug
> Components: Logging
> Reporter: Shreyas Holla p
> Assignee: James Perkins
> Priority: Major
>
> We are deploying CAS-5.3.8.WAR on on WildFly 10.0.0.Final, the WAR gets deployed successfully and the application works fine but wildfly server console log stops,
> This happens when we add "<add-logging-api-dependencies value="false"/>".
> WFLYSRV0027: Starting deployment of "cas.war" (runtime-name: "cas.war")
> WFLYSRV0027: Starting deployment of "BankFusion.ear" (runtime-name: "BankFusion.ear")
> ISPN000128: Infinispan version: Infinispan 'Mahou' 8.1.0.Final
> ISPN000128: Infinispan version: Infinispan 'Mahou' 8.1.0.Final
> ISPN000128: Infinispan version: Infinispan 'Mahou' 8.1.0.Final
> JBWS022052: Starting JBossWS 5.1.3.Final (Apache CXF 3.1.4)
> WFLYSRV0059: Class Path entry xml-apis.jar in /E:/FusionBanking/FBP531.5/WildFly/wildfly-10.0.0.Final/bin/content/cas.war/WEB-INF/lib/serializer-2.7.2.jar does not point to a valid jar for a Class-Path reference.
> WFLYSRV0059: Class Path entry xercesImpl.jar in /E:/FusionBanking/FBP531.5/WildFly/wildfly-10.0.0.Final/bin/content/cas.war/WEB-INF/lib/xalan-2.7.2.jar does not point to a valid jar for a Class-Path reference.
> WFLYSRV0059: Class Path entry xml-apis.jar in /E:/FusionBanking/FBP531.5/WildFly/wildfly-10.0.0.Final/bin/content/cas.war/WEB-INF/lib/xalan-2.7.2.jar does not point to a valid jar for a Class-Path reference.
> WFLYSRV0059: Class Path entry serializer.jar in /E:/FusionBanking/FBP531.5/WildFly/wildfly-10.0.0.Final/bin/content/cas.war/WEB-INF/lib/xalan-2.7.2.jar does not point to a valid jar for a Class-Path reference.
> WFLYEE0007: Not installing optional component org.springframework.http.server.ServletServerHttpAsyncRequestControl due to an exception (enable DEBUG log level to see the cause)
> WFLYEE0007: Not installing optional component org.springframework.web.context.request.async.StandardServletAsyncWebRequest due to an exception (enable DEBUG log level to see the cause)
> WFLYWELD0013: Deployment deployment "cas.war" contains CDI annotations but no bean archive was not found. (No beans.xml nor class with bean defining annotations)
> 2 Spring WebApplicationInitializers detected on classpath
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
6 years, 10 months
[JBoss JIRA] (WFCORE-3948) Potential race condition on deployment of EAR when Class-Path manifest entry is in use
by Brian Stansberry (Jira)
[ https://issues.jboss.org/browse/WFCORE-3948?page=com.atlassian.jira.plugi... ]
Brian Stansberry commented on WFCORE-3948:
------------------------------------------
The following is just information, no solution.
Here are the uses of ADDITIONAL_MODULES, per IDEA, annotated by me with the Phase n which each DUP runs:
{code}
Field
ADDITIONAL_MODULES
Found usages (10 usages found)
Value read (10 usages found)
wildfly-server (10 usages found)
org.jboss.as.server.deployment.annotation (1 usage found)
PARSE CompositeIndexProcessor (1 usage found)
deploy(DeploymentPhaseContext) (1 usage found)
79 for(AdditionalModuleSpecification i : top.getAttachmentList(Attachments.ADDITIONAL_MODULES)) {
org.jboss.as.server.deployment.module (7 usages found)
STRUCTURE ManifestClassPathProcessor (2 usages found)
deploy(DeploymentPhaseContext) (1 usage found)
132 for (AdditionalModuleSpecification module : topLevelDeployment.getAttachmentList(Attachments.ADDITIONAL_MODULES)) {
createAdditionalModule(ResourceRoot, DeploymentUnit, VirtualFile, Map<VirtualFile, AdditionalModuleSpecification>, VirtualFile, ArrayDeque<RootEntry>) (1 usage found)
228 topLevelDeployment.addToAttachmentList(Attachments.ADDITIONAL_MODULES, module);
STRUCTURE ManifestDependencyProcessor (1 usage found)
deploy(DeploymentPhaseContext) (1 usage found)
73 for(AdditionalModuleSpecification i : top.getAttachmentList(Attachments.ADDITIONAL_MODULES)) {
DEPENDENCIES ModuleClassPathProcessor (1 usage found)
deploy(DeploymentPhaseContext) (1 usage found)
57 final List<AdditionalModuleSpecification> additionalModules = deploymentUnit.getAttachment(Attachments.ADDITIONAL_MODULES);
DEPENDENCIES ModuleExtensionListProcessor (1 usage found)
deploy(DeploymentPhaseContext) (1 usage found)
112 final List<AdditionalModuleSpecification> additionalModules = deploymentUnit.getAttachment(Attachments.ADDITIONAL_MODULES);
CONFIGURE_MODULE ModuleSpecProcessor (1 usage found)
deployModuleSpec(DeploymentPhaseContext) (1 usage found)
143 final List<AdditionalModuleSpecification> additionalModules = deploymentUnit.getAttachmentList(Attachments.ADDITIONAL_MODULES);
DEPENDENCIES SubDeploymentDependencyProcessor (1 usage found)
deploy(DeploymentPhaseContext) (1 usage found)
66 for (AdditionalModuleSpecification module : deploymentUnit.getAttachmentList(Attachments.ADDITIONAL_MODULES)) {
org.jboss.as.server.deployment.module.descriptor (2 usages found)
STRUCTURE DeploymentStructureDescriptorParser (2 usages found)
deploy(DeploymentPhaseContext) (2 usages found)
134 for(AdditionalModuleSpecification i : deploymentUnit.getParent().getAttachmentList(Attachments.ADDITIONAL_MODULES)) {
188 deploymentUnit.addToAttachmentList(Attachments.ADDITIONAL_MODULES, additional);
{code}
So, ManifestClassPathProcessor, ManifestDependencyProcessor and DeploymentStructureDescriptorParser are relevant as they execute in the STRUCTURE phase where writes occur.
Here's the relevant bit from ServerService that shows their relative execution order:
{code}
DeployerChainAddHandler.addDeploymentProcessor(SERVER_NAME, Phase.STRUCTURE, Phase.STRUCTURE_SUB_DEPLOYMENT, new SubDeploymentProcessor());
...
DeployerChainAddHandler.addDeploymentProcessor(SERVER_NAME, Phase.STRUCTURE, Phase.STRUCTURE_JBOSS_DEPLOYMENT_STRUCTURE, new DeploymentStructureDescriptorParser());
DeployerChainAddHandler.addDeploymentProcessor(SERVER_NAME, Phase.STRUCTURE, Phase.STRUCTURE_CLASS_PATH, new ManifestClassPathProcessor());
...
DeployerChainAddHandler.addDeploymentProcessor(SERVER_NAME, Phase.STRUCTURE, Phase.STRUCTURE_DEPENDENCIES_MANIFEST, new ManifestDependencyProcessor());
{code}
I start with SubDeploymentProcessor because it's the one that creates the SubDeploymentUnitService instances for the subdeployments, which in turn starts and create the parallel DUP execution.
So this seems problematic, e.g. DeploymentStructureDescriptorParser is reading ADDITIONAL_MODULES on behalf of subdeployments, assuming it's correctly populated, but that may not have occurred, even for the top level deployment. The DeploymentStructureDescriptorParser may not have run yet for the root deployment, or it may have *and* ManifestClassPathProcessor may have run for the root and one or more sibling subdeployments. Or not.
And then the execution of ManifestDependencyProcessor is just a race amongst them all.
> Potential race condition on deployment of EAR when Class-Path manifest entry is in use
> --------------------------------------------------------------------------------------
>
> Key: WFCORE-3948
> URL: https://issues.jboss.org/browse/WFCORE-3948
> Project: WildFly Core
> Issue Type: Bug
> Components: Server
> Reporter: Stuart Douglas
> Priority: Major
>
> Attachments#ADDITIONAL_MODULES is attached to the top level DU, but modified by sub deployments in ManifestClassPathProcessor#createAdditionalModule without any sort of synchronisation. This can result in ConcurrentModificationException when the list is read/written to by other sub deployments at the same time.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
6 years, 10 months
[JBoss JIRA] (WFCORE-4540) Add error message with information that is not allowed to read secret-value and entry-type from Credential Store
by James Perkins (Jira)
[ https://issues.jboss.org/browse/WFCORE-4540?page=com.atlassian.jira.plugi... ]
James Perkins updated WFCORE-4540:
----------------------------------
Fix Version/s: 11.0.0.Beta1
(was: 10.0.0.Final)
> Add error message with information that is not allowed to read secret-value and entry-type from Credential Store
> ----------------------------------------------------------------------------------------------------------------
>
> Key: WFCORE-4540
> URL: https://issues.jboss.org/browse/WFCORE-4540
> Project: WildFly Core
> Issue Type: Bug
> Components: Security
> Reporter: Hynek Švábek
> Assignee: Darran Lofthouse
> Priority: Minor
> Fix For: 11.0.0.Beta1
>
>
> Add error message with information that is not allowed to read secret-value and entry-type from Credential Store over CLI.
> This CLI commands
> {code}
> /subsystem=elytron/credential-store=testCS/alias=someAlias:read-attribute(name=secret-value)
> /subsystem=elytron/credential-store=testCS/alias=someAlias:read-attribute(name=entry-type)
> {code}
> end with success result.
> {code}
> {
> "outcome" => "success",
> "result" => undefined
> }
> {code}
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
6 years, 10 months
[JBoss JIRA] (WFCORE-4407) Cannot configure Elytron security domain using embedded server in admin mode
by James Perkins (Jira)
[ https://issues.jboss.org/browse/WFCORE-4407?page=com.atlassian.jira.plugi... ]
James Perkins updated WFCORE-4407:
----------------------------------
Fix Version/s: 11.0.0.Beta1
(was: 10.0.0.Final)
> Cannot configure Elytron security domain using embedded server in admin mode
> ----------------------------------------------------------------------------
>
> Key: WFCORE-4407
> URL: https://issues.jboss.org/browse/WFCORE-4407
> Project: WildFly Core
> Issue Type: Bug
> Components: Embedded
> Environment:
> Reporter: Yeray Borges
> Assignee: Yeray Borges
> Priority: Major
> Fix For: 11.0.0.Beta1
>
>
> There are some configurations that are impossible to do using the embedded server, for example, we cannot create a security domain in Elytron that references a security domain in the security subsystem:
> {noformat}
> embed-server --server-config=standalone-full-ha.xml --std-out=echo
> /subsystem=security/security-domain=my-sec-domain:add(cache-type=default)
> /subsystem=security/security-domain=my-sec-domain/authentication=classic:add(login-modules=[{code=RealmUsersRoles, flag=required, module=RealmUsersRoles, module-options=[("usersProperties"=>"usersProperties"),("rolesProperties"=>"rolesProperties")]}])
> /subsystem=security/elytron-realm=my-sec-domain:add(legacy-jaas-config=my-sec-domain)
> /subsystem=elytron/security-domain=my-sec-domain:add(realms=[{realm=my-sec-domain}],default-realm=my-sec-domain,permission-mapper=default-permission-mapper)
> stop-embedded-server
> {noformat}
> The execution of these operations in an embedded server running in admin-mode throws the following error:
> {noformat}
> [standalone@embedded /] /subsystem=elytron/security-domain=my-sec-domain:add(realms=[{realm=my-sec-domain}],default-realm=my-sec-domain,permission-mapper=default-permission-mapper)
> 12:30:53,429 ERROR [org.jboss.as.controller.management-operation] (pool-3-thread-1) WFLYCTL0013: Operation ("add") failed - address: ([
> ("subsystem" => "elytron"),
> ("security-domain" => "my-sec-domain")
> ]) - failure description: {
> "WFLYCTL0412: Required services that are not installed:" => ["org.wildfly.security.security-realm.my-sec-domain"],
> "WFLYCTL0180: Services with missing/unavailable dependencies" => ["org.wildfly.security.security-domain.my-sec-domain.initial is missing [org.wildfly.security.security-realm.my-sec-domain]"]
> }
> {
> "outcome" => "failed",
> "failure-description" => {
> "WFLYCTL0412: Required services that are not installed:" => ["org.wildfly.security.security-realm.my-sec-domain"],
> "WFLYCTL0180: Services with missing/unavailable dependencies" => ["org.wildfly.security.security-domain.my-sec-domain.initial is missing [org.wildfly.security.security-realm.my-sec-domain]"]
> },
> "rolled-back" => true
> }
> {noformat}
> The problem here is Elytron security domain services cannot be up because they require the legacy installed realm services, which are not up when we are using embedded in admin-only mode.
> The SecurityDomain advertises no runtime operation, if no services are installed that would ever depend on security domain we may be able to skip installing some of these services entirely and allow their configuration in embedded / admin-only.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
6 years, 10 months
[JBoss JIRA] (WFCORE-3747) Enhance credential-store description related to location and type attributes
by James Perkins (Jira)
[ https://issues.jboss.org/browse/WFCORE-3747?page=com.atlassian.jira.plugi... ]
James Perkins updated WFCORE-3747:
----------------------------------
Fix Version/s: 11.0.0.Beta1
(was: 10.0.0.Final)
> Enhance credential-store description related to location and type attributes
> ----------------------------------------------------------------------------
>
> Key: WFCORE-3747
> URL: https://issues.jboss.org/browse/WFCORE-3747
> Project: WildFly Core
> Issue Type: Enhancement
> Components: Security
> Reporter: Claudio Miranda
> Assignee: Darran Lofthouse
> Priority: Major
> Fix For: 11.0.0.Beta1
>
>
> The description for "location" and "type" for credential-store resource is displayed below.
> Following discussion of WFCORE-3458, the "location" attribute is required only when the "type" is file based, but the description doesn't says that, the description may be improved to reflect this behavior and list the possible file based types.
> When the user doesn't set the "type" attribute it defaults to "JCEKS", but there is no "default" value on resource description for "type" attribute.
> {code}
> "location" => {
> "type" => STRING,
> "description" => "File name of credential store storage.",
> "attribute-group" => "implementation",
> "expressions-allowed" => true,
> "required" => false,
> "nillable" => true,
> "min-length" => 1L,
> "max-length" => 2147483647L,
> "access-type" => "read-write",
> "storage" => "configuration",
> "restart-required" => "all-services"
> },
> "type" => {
> "type" => STRING,
> "description" => "The credential store type, e.g. KeyStoreCredentialStore.",
> "attribute-group" => "implementation",
> "expressions-allowed" => true,
> "required" => false,
> "nillable" => true,
> "min-length" => 1L,
> "max-length" => 2147483647L,
> "access-type" => "read-write",
> "storage" => "configuration",
> "restart-required" => "all-services"
> }
> {code}
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
6 years, 10 months
[JBoss JIRA] (WFCORE-944) truststore path is ignored if provider is not JKS
by James Perkins (Jira)
[ https://issues.jboss.org/browse/WFCORE-944?page=com.atlassian.jira.plugin... ]
James Perkins updated WFCORE-944:
---------------------------------
Fix Version/s: 11.0.0.Beta1
(was: 10.0.0.Final)
> truststore path is ignored if provider is not JKS
> -------------------------------------------------
>
> Key: WFCORE-944
> URL: https://issues.jboss.org/browse/WFCORE-944
> Project: WildFly Core
> Issue Type: Bug
> Components: Security
> Reporter: Arto Huusko
> Priority: Major
> Fix For: 11.0.0.Beta1
>
>
> truststore configuration ignores the path and relative-to parameters if the truststore provider is anything else than JKS.
> This works as documented, but it is not correct. There can be and are truststore implementations that need to load parameters or whatever data from a file, and the current implementation prevents these truststore providers from working.
> We have a custom truststore that is loaded from database, and database access parameters are read from a properties file. When trying to use this with Wildfly 9, the keystore engineLoad parameter is passed in as null, even though path and relative-to are configured.
> Even standard java supports PKCS12 truststores, where the same problem would occur.
> So I would suggest that
> - if provider is JKS, path is mandatory
> - if provider is not JKS, but path is specified, it is passed to the provider
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
6 years, 10 months