Buggy code:
private static void initializeDomainRegistry ( final ManagementResourceRegistration root , final ExtensibleConfigurationPersister configurationPersister , final ContentRepository contentRepo , final HostFileRepository fileRepository , final boolean isMaster , final DomainController domainController , final LocalHostControllerInfo hostControllerInfo , final ExtensionRegistry extensionRegistry , final IgnoredDomainResourceRegistry ignoredDomainResourceRegistry ) { final EnumSet < OperationEntry . Flag > readOnly = EnumSet . of ( READ_ONLY ) ; final EnumSet < OperationEntry . Flag > masterOnly = EnumSet . of ( MASTER_HOST_CONTROLLER_ONLY ) ; XmlMarshallingHandler xmh = new XmlMarshallingHandler ( configurationPersister ) ; root . registerOperationHandler ( OPERATION_NAME , xmh , xmh , false , PUBLIC , readOnly ) ; root . registerOperationHandler ( NamespaceAddHandler . OPERATION_NAME , INSTANCE , INSTANCE , false ) ; root . registerOperationHandler ( NamespaceRemoveHandler . OPERATION_NAME , NamespaceRemoveHandler . INSTANCE , NamespaceRemoveHandler . INSTANCE , false ) ; root . registerOperationHandler ( SchemaLocationAddHandler . OPERATION_NAME , SchemaLocationAddHandler . INSTANCE , SchemaLocationAddHandler . INSTANCE , false ) ; root . registerOperationHandler ( SchemaLocationRemoveHandler . OPERATION_NAME , SchemaLocationRemoveHandler . INSTANCE , SchemaLocationRemoveHandler . INSTANCE , false ) ; DeploymentUploadBytesHandler dubh = ( isMaster ) ? new DeploymentUploadBytesHandler ( contentRepo ) : new DeploymentUploadBytesHandler ( ) ; root . registerOperationHandler ( DeploymentUploadBytesHandler . OPERATION_NAME , dubh , dubh , false , PUBLIC , masterOnly ) ; DeploymentUploadURLHandler duuh = ( isMaster ) ? new DeploymentUploadURLHandler ( contentRepo ) : new DeploymentUploadURLHandler ( ) ; root . registerOperationHandler ( DeploymentUploadURLHandler . OPERATION_NAME , duuh , duuh , false , PUBLIC , masterOnly ) ; DeploymentUploadStreamAttachmentHandler dush = ( isMaster ) ? new DeploymentUploadStreamAttachmentHandler ( contentRepo ) : new DeploymentUploadStreamAttachmentHandler ( ) ; root . registerOperationHandler ( DeploymentUploadStreamAttachmentHandler . OPERATION_NAME , dush , dush , false , PUBLIC , masterOnly ) ; DeploymentFullReplaceHandler dfrh = ( isMaster ) ? new DeploymentFullReplaceHandler ( contentRepo ) : new DeploymentFullReplaceHandler ( fileRepository ) ; root . registerOperationHandler ( DeploymentFullReplaceHandler . OPERATION_NAME , dfrh , dfrh ) ; if ( isMaster ) { SnapshotDeleteHandler snapshotDelete = new SnapshotDeleteHandler ( configurationPersister ) ; root . registerOperationHandler ( SnapshotDeleteHandler . OPERATION_NAME , snapshotDelete , snapshotDelete , false , EntryType . PUBLIC , masterOnly ) ; SnapshotListHandler snapshotList = new SnapshotListHandler ( configurationPersister ) ; root . registerOperationHandler ( SnapshotListHandler . OPERATION_NAME , snapshotList , snapshotList , false , EntryType . PUBLIC , masterOnly ) ; SnapshotTakeHandler snapshotTake = new SnapshotTakeHandler ( configurationPersister ) ; root . registerOperationHandler ( SnapshotTakeHandler . OPERATION_NAME , snapshotTake , snapshotTake , false , EntryType . PUBLIC , masterOnly ) ; } root . registerReadOnlyAttribute ( PROCESS_TYPE , ( isMaster ? ProcessTypeHandler . MASTER : ProcessTypeHandler . SLAVE ) , RUNTIME ) ; root . registerReadOnlyAttribute ( LAUNCH_TYPE , new org . jboss . as . server . operations . LaunchTypeHandler ( LaunchType . DOMAIN ) , RUNTIME ) ; root . registerReadOnlyAttribute ( LOCAL_HOST_NAME , new org . jboss . as . domain . controller . operations . LocalHostNameOperationHandler ( hostControllerInfo ) , RUNTIME ) ; root . registerOperationHandler ( ValidateAddressOperationHandler . OPERATION_NAME , ValidateAddressOperationHandler . INSTANCE , ValidateAddressOperationHandler . INSTANCE , false , EnumSet . of ( READ_ONLY ) ) ; root . registerOperationHandler ( ResolveExpressionOnDomainHandler . OPERATION_NAME , ResolveExpressionOnDomainHandler . INSTANCE , ResolveExpressionOnDomainHandler . INSTANCE , EnumSet . of ( READ_ONLY , DOMAIN_PUSH_TO_SERVERS ) ) ; DomainServerLifecycleHandlers . registerDomainHandlers ( root ) ; ManagementResourceRegistration systemProperties = root . registerSubModel ( PathElement . pathElement ( SYSTEM_PROPERTY ) , SYSTEM_PROPERTY_PROVIDER ) ; systemProperties . registerOperationHandler ( SystemPropertyAddHandler . OPERATION_NAME , INSTANCE_WITH_BOOTTIME , INSTANCE_WITH_BOOTTIME , false ) ; systemProperties . registerOperationHandler ( SystemPropertyRemoveHandler . OPERATION_NAME , SystemPropertyRemoveHandler . INSTANCE , SystemPropertyRemoveHandler . INSTANCE , false ) ; systemProperties . registerReadWriteAttribute ( VALUE , null , SystemPropertyValueWriteAttributeHandler . INSTANCE , CONFIGURATION ) ; systemProperties . registerReadWriteAttribute ( BOOT_TIME , null , new org . jboss . as . controller . operations . global . WriteAttributeHandlers . ModelTypeValidatingHandler ( ModelType . BOOLEAN ) , CONFIGURATION ) ; final ManagementResourceRegistration interfaces = root . registerSubModel ( PathElement . pathElement ( INTERFACE ) , NAMED_INTERFACE_PROVIDER ) ; interfaces . registerOperationHandler ( ADD , NAMED_INSTANCE , NAMED_INSTANCE , false ) ; interfaces . registerOperationHandler ( REMOVE , InterfaceRemoveHandler . INSTANCE , InterfaceRemoveHandler . INSTANCE , false ) ; <START_BUG> InterfaceCriteriaWriteHandler . register ( interfaces ) ; <END_BUG> final ManagementResourceRegistration profile = root . registerSubModel ( PathElement . pathElement ( PROFILE ) , DomainDescriptionProviders . PROFILE ) ; profile . registerOperationHandler ( ADD , ProfileAddHandler . INSTANCE , ProfileAddHandler . INSTANCE , false ) ; profile . registerOperationHandler ( REMOVE , ProfileRemoveHandler . INSTANCE , ProfileRemoveHandler . INSTANCE , false ) ; profile . registerOperationHandler ( DESCRIBE , ProfileDescribeHandler . INSTANCE , ProfileDescribeHandler . INSTANCE , false , PRIVATE , readOnly ) ; final ManagementResourceRegistration paths = root . registerSubModel ( PathElement . pathElement ( PATH ) , PATH_DESCRIPTION ) ; paths . registerOperationHandler ( ADD , PathAddHandler . NAMED_INSTANCE , PathAddHandler . NAMED_INSTANCE , false ) ; paths . registerOperationHandler ( REMOVE , PathRemoveHandler . NAMED_INSTANCE , PathRemoveHandler . NAMED_INSTANCE , false ) ; final ManagementResourceRegistration socketBindingGroup = root . registerSubModel ( new org . jboss . as . controller . resource . SocketBindingGroupResourceDefinition ( SocketBindingGroupAddHandler . INSTANCE , SocketBindingGroupRemoveHandler . INSTANCE , true ) ) ; socketBindingGroup . registerSubModel ( SocketBindingResourceDefinition . INSTANCE ) ; socketBindingGroup . registerSubModel ( RemoteDestinationOutboundSocketBindingResourceDefinition . INSTANCE ) ; socketBindingGroup . registerSubModel ( LocalDestinationOutboundSocketBindingResourceDefinition . INSTANCE ) ; final ManagementResourceRegistration serverGroups = root . registerSubModel ( PathElement . pathElement ( SERVER_GROUP ) , DomainDescriptionProviders . SERVER_GROUP ) ; serverGroups . registerOperationHandler ( ADD , ServerGroupAddHandler . INSTANCE , ServerGroupAddHandler . INSTANCE , false ) ; serverGroups . registerOperationHandler ( REMOVE , ServerGroupRemoveHandler . INSTANCE , ServerGroupRemoveHandler . INSTANCE , false ) ; serverGroups . registerReadWriteAttribute ( SOCKET_BINDING_GROUP , null , WriteAttributeHandlers . WriteAttributeOperationHandler . INSTANCE , CONFIGURATION ) ; serverGroups . registerReadWriteAttribute ( SOCKET_BINDING_PORT_OFFSET , null , new IntRangeValidatingHandler ( 0 , true ) , CONFIGURATION ) ; serverGroups . registerReadWriteAttribute ( PROFILE , null , ServerGroupProfileWriteAttributeHandler . INSTANCE , CONFIGURATION ) ; DomainServerLifecycleHandlers . registerServerGroupHandlers ( serverGroups ) ;

Fix:
CONFIG_ONLY . register ( interfaces ) ;