Fatal: SmApiWrappedException:[LDAP: error code 19 - Cannot modify no-user-modification attributes]

Document ID : KB000044105
Last Modified Date : 14/02/2018
Show Technical Document Details



This document explains how to interpret a Fatal error about an attribute that can not be modified.




If you are receiving the following in Identity Manager then you are trying to modify an attribute that was set as a 'no user modification' meaning that it can not be modified:


Error: Task failed. 

Fatal Fatal: SmApiWrappedException:[LDAP: error code 19 - Cannot modify no-user-modification attributes]  




Any Identity Manager version.

Any CA Directory as Corp Store.




See below on that the DX Trace is helping to understand that this attribute is marked 'no-user-modification' - therefore can not be modified:


If your DSA is utilizing DXHOME/config/schema/sunone.dxc schema file, that explains why.

i.e. In this 'sunone.dxc' file, this specific attribute is defined as:

schema set attribute (1.2.840.113556.1.2.102) = {
name = memberOf
ldap-names = memberOf
syntax = distinguishedName
description = "Group that the entry belongs to"

As you can see the presence of 'no-user-modification' is throwing:

! [60] 20160504.153710.774 DIAG : MOD dn="cn=aaa000,ou=Users,ou=iamAis,ou=cra-arc,o=gc,c=ca" user="cn=c7acfad9-03c1-4d23-9a5e-70c25733f7fc,ou=Users,ou=iamAis,ou=cra-arc,o=gc,c=ca" Cannot modify no-user-modification attributes
! [60] mapCacheError(109)
! [60] localAttributeProblem

Followed by:

> [60] invoke-id = 2 credit = 1
> [60] Attribute Error:
> [60] Entry:
> [60] <countryName "ca">
> [60] <organizationName "gc">
> [60] <organizationalUnitName "cra-arc">
> [60] <organizationalUnitName "iamAis">
> [60] <organizationalUnitName "Users">
> [60] <commonName "aaa000">
> [60] Attribute: memberOf
> [60] Problem: Constraint violation
> [60] 
> [60] 
> [60] --> #37 LDAP MESSAGE messageID 2
> [60] ModifyResponse
> [60] resultCode: constraintViolation
> [60] matchedDN: 
> [60] errorMessage: Cannot modify no-user-modification attributes

The actual tell tell sign here is:

> [60] Attribute: memberOf

> [60] Problem: Constraint violation 



Solution :


In General, removing the line "no-user-modification" from the schema's attribute definition will allow users to modify the attribute's values. So, technically you can remove this line and restart your DSA.

But:  It is important to explain here that there are internal attributes to the DSA operation , to the 'dxserver' process. We refer to these attributes as Operational Attributes. These attributes should not be set or overridden by users and should be handled by the dxserver process solely. So, when coming to remove this line, you should make sure you know what you're doing, make sure you understand what this attribute is and whether it is an Operational Attribute. If you are unsure you are welcome to find out in our Communities page or open a Support case. Operational Attributes that have changed to allow user modification are not a practice that we support and certainly not encouraging.



Additional Information: