Buggy code:
public final class ResourceAdapterXmlDeploymentService extends AbstractResourceAdapterDeploymentService implements Service < ResourceAdapterDeployment > { private static final DeployersLogger DEPLOYERS_LOGGER = Logger . getMessageLogger ( DeployersLogger . class , "org.jboss.as.connector.deployers.RaXmlDeployer" ) ; private final Module module ; private final ConnectorXmlDescriptor connectorXmlDescriptor ; private ResourceAdapter raxml ; private final String deployment ; private String raName ; private ServiceName deploymentServiceName ; private CommonDeployment raxmlDeployment = null ; private final ServiceName duServiceName ; public ResourceAdapterXmlDeploymentService ( ConnectorXmlDescriptor connectorXmlDescriptor , ResourceAdapter raxml , Module module , final String deployment , final ServiceName deploymentServiceName , final ServiceName duServiceName ) { } @ Override public void start ( StartContext context ) throws StartException { try { Connector cmd = mdr . getValue ( ) . getResourceAdapter ( deployment ) ; File root = mdr . getValue ( ) . getRoot ( deployment ) ; ResourceAdapter localRaXml = getRaxml ( ) ; cmd = new Merger ( ) . mergeConnectorWithCommonIronJacamar ( localRaXml , cmd ) ; final ResourceAdapterXmlDeploymentService . AS7RaXmlDeployer raDeployer = new ResourceAdapterXmlDeploymentService . AS7RaXmlDeployer ( context . getChildTarget ( ) , connectorXmlDescriptor . getUrl ( ) , raName , root , module . getClassLoader ( ) , cmd , localRaXml , null , deploymentServiceName ) ; raDeployer . setConfiguration ( config . getValue ( ) ) ; try { WritableServiceBasedNamingStore . pushOwner ( duServiceName ) ; ClassLoader old = WildFlySecurityManager . getCurrentContextClassLoaderPrivileged ( ) ; try { WildFlySecurityManager . setCurrentContextClassLoaderPrivileged ( module . getClassLoader ( ) ) ; raxmlDeployment = raDeployer . doDeploy ( ) ; } finally { WildFlySecurityManager . setCurrentContextClassLoaderPrivileged ( old ) ; WritableServiceBasedNamingStore . popOwner ( ) ; } } catch ( Throwable t ) { <START_BUG> cleanupStartAsync ( context , raName , t ) ; <END_BUG> return ; } String id = ( ( org . jboss . as . connector . subsystems . resourceadapters . ModifiableResourceAdapter ) ( raxml ) ) . getId ( ) ; final ServiceName raServiceName ; if ( ( id == null ) || ( id . trim ( ) . isEmpty ( ) ) ) { raServiceName = ConnectorServices . getResourceAdapterServiceName ( raName ) ; } else { raServiceName = ConnectorServices . getResourceAdapterServiceName ( id ) ; } value = new ResourceAdapterDeployment ( raxmlDeployment , raName , raServiceName ) ; managementRepository . getValue ( ) . getConnectors ( ) . add ( value . getDeployment ( ) . getConnector ( ) ) ; registry . getValue ( ) . registerResourceAdapterDeployment ( value ) ; context . getChildTarget ( ) . addService ( raServiceName , new org . jboss . as . connector . services . resourceadapters . ResourceAdapterService ( raName , raServiceName , value . getDeployment ( ) . getResourceAdapter ( ) ) ) . addDependency ( deploymentServiceName ) . setInitialMode ( ACTIVE ) . install ( ) ; } catch ( Exception e ) { throw new StartException ( e ) ; } } @ Override public void stop ( StopContext context ) { } @ Override public void unregisterAll ( String deploymentName ) { } public CommonDeployment getRaxmlDeployment ( ) { } public synchronized void setRaxml ( ResourceAdapter raxml ) { } public synchronized ResourceAdapter getRaxml ( ) { } private class AS7RaXmlDeployer extends AbstractAS7RaDeployer { private final ResourceAdapter ra ; private final IronJacamar ijmd ; public AS7RaXmlDeployer ( ServiceTarget serviceTarget , URL url , String deploymentName , File root , ClassLoader cl , Connector cmd , ResourceAdapter ra , IronJacamar ijmd , final ServiceName deploymentServiceName ) { } @ Override public CommonDeployment doDeploy ( ) throws Throwable { } @ Override protected boolean checkActivation ( Connector cmd , IronJacamar ijmd ) { } @ Override protected DeployersLogger getLogger ( ) { } @ Override protected String registerResourceAdapterToResourceAdapterRepository ( javax . resource . spi . ResourceAdapter instance ) { } } }

Fix:
cleanupStartAsync ( context , raName , deploymentServiceName , t ) ;