Buggy code:
static final SimpleAttributeDefinition SERVER_STATE = new SimpleAttributeDefinitionBuilder ( "server-state" , org . jboss . dmr . ModelType . STRING ) . setAllowNull ( true ) . setMinSize ( 1 ) . setStorageRuntime ( ) . build ( ) ; public static final SimpleAttributeDefinition HOST_STATE = new SimpleAttributeDefinitionBuilder ( org . jboss . as . controller . descriptions . ModelDescriptionConstants . HOST_STATE , org . jboss . dmr . ModelType . STRING ) . setMinSize ( 1 ) . setStorageRuntime ( ) . build ( ) ; public static final SimpleAttributeDefinition DIRECTORY_GROUPING = SimpleAttributeDefinitionBuilder . create ( ModelDescriptionConstants . DIRECTORY_GROUPING , STRING , true ) . addFlag ( RESTART_ALL_SERVICES ) . setDefaultValue ( DirectoryGrouping . defaultValue ( ) . toModelNode ( ) ) . setValidator ( EnumValidator . create ( DirectoryGrouping . class , true , false ) ) . build ( ) ; public static final SimpleAttributeDefinition MASTER = SimpleAttributeDefinitionBuilder . create ( ModelDescriptionConstants . MASTER , BOOLEAN , true ) . setDefaultValue ( new ModelNode ( false ) ) . setStorageRuntime ( ) . setResourceOnly ( ) . build ( ) ; public static final SimpleAttributeDefinition REMOTE_DC_HOST = new SimpleAttributeDefinitionBuilder ( org . jboss . as . controller . descriptions . ModelDescriptionConstants . HOST , org . jboss . dmr . ModelType . STRING ) . setAllowNull ( false ) . setAllowExpression ( true ) . setMinSize ( 1 ) . build ( ) ; public static final SimpleAttributeDefinition REMOTE_DC_PORT = new SimpleAttributeDefinitionBuilder ( org . jboss . as . controller . descriptions . ModelDescriptionConstants . PORT , org . jboss . dmr . ModelType . INT ) . setAllowNull ( false ) . setAllowExpression ( true ) . build ( ) ; public static final ObjectTypeAttributeDefinition DC_LOCAL = new ObjectTypeAttributeDefinition . Builder ( org . jboss . as . controller . descriptions . ModelDescriptionConstants . LOCAL ) . build ( ) ; public static final ObjectTypeAttributeDefinition DC_REMOTE = new ObjectTypeAttributeDefinition . Builder ( org . jboss . as . controller . descriptions . ModelDescriptionConstants . REMOTE , HostResourceDefinition . REMOTE_DC_HOST , HostResourceDefinition . REMOTE_DC_PORT ) . build ( ) ; public static final ObjectTypeAttributeDefinition DOMAIN_CONTROLLER = new ObjectTypeAttributeDefinition . Builder ( org . jboss . as . controller . descriptions . ModelDescriptionConstants . DOMAIN_CONTROLLER , HostResourceDefinition . DC_LOCAL , HostResourceDefinition . DC_REMOTE ) . setAllowNull ( false ) . build ( ) ; private final HostControllerConfigurationPersister configurationPersister ; private final HostControllerEnvironment environment ; private final HostRunningModeControl runningModeControl ; private final HostFileRepository localFileRepository ; private final LocalHostControllerInfoImpl hostControllerInfo ; private final ServerInventory serverInventory ; private final HostFileRepository remoteFileRepository ; private final ContentRepository contentRepository ; private final DomainController domainController ; private final ExtensionRegistry extensionRegistry ; private final AbstractVaultReader vaultReader ; private final IgnoredDomainResourceRegistry ignoredRegistry ; private final ControlledProcessState processState ; private final PathManagerService pathManager ; public HostResourceDefinition ( final String hostName , final HostControllerConfigurationPersister configurationPersister , final HostControllerEnvironment environment , final HostRunningModeControl runningModeControl , final HostFileRepository localFileRepository , final LocalHostControllerInfoImpl hostControllerInfo , final ServerInventory serverInventory , final HostFileRepository remoteFileRepository , final ContentRepository contentRepository , final DomainController domainController , final ExtensionRegistry extensionRegistry , final AbstractVaultReader vaultReader , final IgnoredDomainResourceRegistry ignoredRegistry , final ControlledProcessState processState , final PathManagerService pathManager ) { } @ Override public void registerAttributes ( ManagementResourceRegistration hostRegistration ) { } @ Override public void registerOperations ( ManagementResourceRegistration hostRegistration ) { super . registerOperations ( hostRegistration ) ; hostRegistration . registerOperationHandler ( DEFINITION , INSTANCE ) ; hostRegistration . registerOperationHandler ( NamespaceRemoveHandler . DEFINITION , NamespaceRemoveHandler . INSTANCE ) ; hostRegistration . registerOperationHandler ( SchemaLocationAddHandler . DEFINITION , SchemaLocationAddHandler . INSTANCE ) ; hostRegistration . registerOperationHandler ( SchemaLocationRemoveHandler . DEFINITION , SchemaLocationRemoveHandler . INSTANCE ) ; hostRegistration . registerOperationHandler ( OPERATION_NAME , ValidateAddressOperationHandler . INSTANCE , ValidateAddressOperationHandler . INSTANCE , false , EnumSet . of ( READ_ONLY ) ) ; hostRegistration . registerOperationHandler ( ResolveExpressionHandler . OPERATION_NAME , ResolveExpressionHandler . INSTANCE , ResolveExpressionHandler . INSTANCE , EnumSet . of ( READ_ONLY ) ) ; hostRegistration . registerOperationHandler ( ResolveExpressionOnHostHandler . OPERATION_NAME , ResolveExpressionOnHostHandler . INSTANCE , ResolveExpressionOnHostHandler . INSTANCE , EnumSet . of ( READ_ONLY , DOMAIN_PUSH_TO_SERVERS ) ) ; hostRegistration . registerOperationHandler ( SpecifiedInterfaceResolveHandler . DEFINITION , SpecifiedInterfaceResolveHandler . INSTANCE ) ; XmlMarshallingHandler xmh = new org . jboss . as . host . controller . operations . HostXmlMarshallingHandler ( configurationPersister . getHostPersister ( ) , hostControllerInfo ) ; hostRegistration . registerOperationHandler ( XmlMarshallingHandler . DEFINITION , xmh ) ; StartServersHandler ssh = new StartServersHandler ( environment , serverInventory , runningModeControl ) ; hostRegistration . registerOperationHandler ( StartServersHandler . OPERATION_NAME , ssh , ssh , false , PRIVATE ) ; HostShutdownHandler hsh = new HostShutdownHandler ( domainController ) ; hostRegistration . registerOperationHandler ( HostShutdownHandler . OPERATION_NAME , hsh , hsh , EnumSet . of ( HOST_CONTROLLER_ONLY ) ) ; HostProcessReloadHandler reloadHandler = new HostProcessReloadHandler ( HostControllerService . HC_SERVICE_NAME , runningModeControl , processState , getResourceDescriptionResolver ( ) , hostControllerInfo ) ; hostRegistration . registerOperationHandler ( ProcessReloadHandler . OPERATION_NAME , reloadHandler , reloadHandler , EnumSet . of ( HOST_CONTROLLER_ONLY ) ) ; DomainServerLifecycleHandlers . initializeServerInventory ( serverInventory ) ; DomainSocketBindingGroupRemoveHandler . INSTANCE . initializeServerInventory ( serverInventory ) ; ValidateOperationHandler validateOperationHandler = ( hostControllerInfo . isMasterDomainController ( ) ) ? ValidateOperationHandler . INSTANCE : ValidateOperationHandler . SLAVE_HC_INSTANCE ; <START_BUG> hostRegistration . registerOperationHandler ( ValidateOperationHandler . DEFINITION , validateOperationHandler ) ; <END_BUG> SnapshotDeleteHandler snapshotDelete = new SnapshotDeleteHandler ( configurationPersister . getHostPersister ( ) ) ; hostRegistration . registerOperationHandler ( SnapshotDeleteHandler . DEFINITION , snapshotDelete ) ; SnapshotListHandler snapshotList = new SnapshotListHandler ( configurationPersister . getHostPersister ( ) ) ; hostRegistration . registerOperationHandler ( SnapshotListHandler . DEFINITION , snapshotList ) ; SnapshotTakeHandler snapshotTake = new SnapshotTakeHandler ( configurationPersister . getHostPersister ( ) ) ; hostRegistration . registerOperationHandler ( SnapshotTakeHandler . DEFINITION , snapshotTake ) ; ignoredRegistry . registerResources ( hostRegistration ) ; PlatformMBeanResourceRegistrar . registerPlatformMBeanResources ( hostRegistration ) ; } @ Override public void registerChildren ( ManagementResourceRegistration hostRegistration ) { } }

Fix:
hostRegistration . registerOperationHandler ( DEFINITION_PRIVATE , validateOperationHandler ) ;