Wildfly 22 - WFLYCTL0180: Services with missing/unavailable dependencies - wildfly

In Wildfly 22.0.0 or later, the following error occurs.
2022-08-24 15:59:43,380 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([("deployment" => "shcm")]) - failure description: {
"WFLYCTL0412: Required services that are not installed:" => [
"org.wildfly.clustering.cache.group.web.default-server",
"org.wildfly.clustering.cache.registry.web.default-server"
],
"WFLYCTL0180: Services with missing/unavailable dependencies" =>
["org.wildfly.clustering.web.route-locator.\"shcmupdate.war\" is missing
[org.wildfly.clustering.cache.registry.web.default-server,
org.wildfly.clustering.cache.group.web.default-server]"]
}
I have clustering configuration in web.xml and jboss-web.xml in my application.
if use standalone-ha.xml, it works normally.
but subsystem error occurs when standalone.xml is used from Wildfly 22.0.0 or later.
What changes were made in Wildfly 22?

Seems like it was never supported to be enable for non-standalone.xml builds, so it was likely removed in this PR (distributable-web.xml includes an Infinispan cache that distributable-web-local.xml does not).
The WildFly HA docs should be able to help you migrate to WF 22.

This was really unfortunate decision. It is killing EAP v. 7.4.5 (7.4.6) deployments.
I had replication-config as a part of jboss-web.xml file, that causes this issue. The application runs in ha mode in production, so the configuration is needed, but for the development there is no reason to maintain the whole cluster so I was happy the setting was ignored.
<jboss-web xmlns="http://www.jboss.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.jboss.com/xml/ns/javaee http://www.jboss.org/j2ee/schema/jboss-web_10_0.xsd"
version="10.0">
<context-root>my-application</context-root>
<!--
<replication-config>
<replication-granularity>ATTRIBUTE</replication-granularity>
</replication-config> -->
</jboss-web>
Commented out configuration is the part, that was causing the issue.

Related

Specification of javax.management.MBeanPermission in permissions.xml ineffective in JBoss EAP 7.4

I have a war file that I run under JBoss EAP 7.4. That war file contains a permissions.xml file that has the following:
<permissions version="7">
<!-- additional permissions omitted for brevity -->
<permission>
<class-name>javax.management.MBeanPermission</class-name>
<name>*</name>
<actions>queryNames,registerMBean,unregisterMBean</actions>
</permission>
</permissions>
Yet, when I run JBoss, I see the following error in the server.log, apparently caused by some hawtio code:
2022-11-17 19:36:30,507 ERROR
[org.jboss.as.controller.management-operation] (Controller Boot
Thread) WFLYCTL0013: Operation ("deploy") failed - address:
([("deployment" =>
"hawtio-wildfly-2.0.0.fuse-sb2-7_11_0-00036-redhat-00001.war")]) -
failure description: {"WFLYCTL0080: Failed services" =>
{"jboss.deployment.unit."hawtio-wildfly-2.0.0.fuse-sb2-7_11_0-00036-redhat-00001.war".undertow-deployment"
=> "java.lang.RuntimeException: java.lang.RuntimeException: java.security.AccessControlException: WFSM000001: Permission check
failed (permission "("javax.management.MBeanPermission"
"io.hawt.jmx.About#-[hawtio:type=About]" "registerMBean")" in
code source
"(vfs:/content/hawtio-wildfly-2.0.0.fuse-sb2-7_11_0-00036-redhat-00001.war/WEB-INF/lib/hawtio-system-2.0.0.fuse-sb2-7_11_0-00036-redhat-00001.jar
)" of "ModuleClassLoader for Module
"deployment.hawtio-wildfly-2.0.0.fuse-sb2-7_11_0-00036-redhat-00001.war"
from Service Module Loader")
It looks like there was a Red Hat Fuse defect similar to mine that got addressed around 2018. Why might I still be facing this problem? Is there something I can do on my end to resolve it? (I don't want to give all permissions.)

WildFly server issue duplicate data sources

I'm running an application on WildFly server version 19.0.0.Final on CentOS 7. This application was working fine, but I run this almost 2 months later, and I'm getting this error where I didn't find any duplicate data sources in standalone.xml
14:21:06,641 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([("deployment" => "application.war")]) - failure description: "WFLYCTL0212: Duplicate resource [("deployment" => "application.war")]"
14:21:06,647 FATAL [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0056: Server boot has failed in an unrecoverable manner; exiting. See previous messages for details.
From the stack trace which you have provided, it seems the issue is related to the deployment and not related to the data source.
if multiple deployment-scanner are defined then make sure that they are pointing to different locations
If Multiple deployment-scanner would be defined pointing to the same path or parent directory's path, which results in multiple deployment attempts of the same war file causing the exception.

Wildfly 11 Elytron - Properties File Based Authentication failing with required services not installed

I have a new instance of Wildfly 11, where I am trying to setup Properties File Based Authentication within Elytron. I'm using the Standalone-full.xml and manually deploying the application outside of an IDE.
https://docs.jboss.org/author/display/WFLY/Properties+File+Based+Authentication+Migration
I created the myApp-user and myApp-roles properties files with name valued pairs and included #$REALM_NAME=myAppPropRealm$
I ran the following CLI commands to create the
Create Prop Realm
/subsystem=elytron/properties-realm=myAppPropRealm:add(groups-attribute=groups,groups-properties={path=myApp-roles.properties,relative-to=jboss.server.config.dir},users-properties={path=myApp-users.properties,relative-to=jboss.server.config.dir,plain-text=true})
Configure Security-Domain
/subsystem=elytron/security-domain=myAppSecurityDomain:add(realms=[{realm=myAppPropRealm,role-decoder=groups-to-roles}],default-realm=myAppPropRealm,permission-mapper=default-permission-mapper)
Configure http-authentication-factory
/subsystem=elytron/http-authentication-factory=myApp-http-auth:add(http-server-mechanism-factory=global,security-domain=myAppSecurityDomain,mechanism-configurations=[{mechanism-name=BASIC,mechanism-realm-configurations=[{realm-name=myApp_ApplicationDomain}]}])
Configure application-security-domain in Undertow
/subsystem=undertow/application-security-domain=myApp_ApplicationDomain:add(http-authentication-factory=myApp-http-auth)
JBoss-web.xml
</jboss-web>
<security-domain>myApp_ApplicationDomain</security-domain>
</jboss-web>
I get the following error when my app tries to deploy
2018-11-29 09:06:55,695 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("deploy") failed - address: ([("deployment" => "MyApplication-ws.war")]) - failure description: {
"WFLYCTL0412: Required services that are not installed:" => ["jboss.security.security-domain.myApp_ApplicationDomain"],
"WFLYCTL0180: Services with missing/unavailable dependencies" => [
I suspect it is because I have not defined 'myApp_ApplicationDomain' but this is where I'm stuck. What commands do I run to add/reference
the myApp_ApplicationDomain?
Wildfly is looging for legacy security domain jboss.security.security-domain.myApp_ApplicationDomain for some reason. But seems you have correctly declared myApp_ApplicationDomain in undertow. Most probably you are using myApp_ApplicationDomain somewhere outside of undertow subsystem.

Operation "read-attribute" failed during JBoss EAP 7 startup

I have deployed my application on JBoss EAP 7 in SSL mode.
My application gets deployed and runs successfully but during start up,
I get following error on console every time when server starts up and WAR is simultaneously deployed, no exception is thrown.
11:28:11,402 ERROR [org.jboss.as.controller.management-operation] (ServerService Thread Pool -- 92) WFLYCTL0013: Operation ("read-attribute") failed - address: ([
("subsystem" => "undertow"),
("server" => "default-server"),
("https-listener" => "defaultssl")
]) - failure description: "WFLYCTL0216: Management resource '[(\"subsystem\" => \"undertow\")]' not found"
I have been searching Red Hat JBoss Knowledgebase, but have not found any solution to this issue.
This issue is not reproduced, if I deploy my WAR after the application server completely starts up and is initialised.
This issue does not affect my application though.
This issue is not reproduced on JBoss EAP 6.x, JBoss AS 7.1.x and Wildfly.
What can be the reason of such issue?
I observed the behavior of the JBoss EAP 7 application server. The undertow subsystem is not loaded during the server initialization. This issue occurs when application tries to access the details of the undertow subsystem during startup. When the application is deployed after server has started this issue does not occur.

Wildfly 10: Cannot upload deployment, Required services that are not installed

Every time I deploy a war file in wildfly 10, I got this following error :
Cannot upload deployment: {"WFLYCTL0080: Failed services" =>
{"jboss.deployment.unit.\"member.war\".FIRST_MODULE_USE" =>
"org.jboss.msc.service.StartException in service
jboss.deployment.unit.\"member.war\".FIRST_MODULE_USE: WFLYSRV0153:
Failed to process phase FIRST_MODULE_USE of deployment \"member.war\"
Caused by:
org.jboss.as.server.deployment.DeploymentUnitProcessingException:
WFLYJCA0064: Exception deploying datasource java:/PostgresDS Caused
by: org.jboss.msc.service.DuplicateServiceException: Service
jboss.data-source.\"jboss.naming.context.java.PostgresDS\" is already
registered"},"WFLYCTL0412: Required services that are not installed:"
=> ["jboss.deployment.unit.\"member.war\".FIRST_MODULE_USE"],"WFLYCTL0180:
Services with missing/unavailable dependencies" => undefined}
It happens when I changed my persistence.xml and *-ds.xml which is telling my application to use the PostgresDS as its datasource.
Without looking at the files, it seems like you are registering your data source twice, once in the *-ds.xml and once in the persistence.xml (or maybe in the standalone.xml?).
Regarding missing/unavailable dependencies, are you certain the the Postgres SQL Module is installed in Wildfly and the driver is configured in the standalone.xml?
See also:
Wildfly DuplicateServiceException
How to add PostgreSQL datasource to WildFly 9.0?