Editing LDAP user's attributes in Jira fails with a "NumberFormatException: null" error
Platform notice: Server and Data Center only. This article only applies to Atlassian products on the Server and Data Center platforms.
Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Problem
When attempting to edit a user attribute in an external LDAP directory from Jira, the following NumberFormatException: null
messages are generated.
On-screen:
Sorry, we had some technical problems during your last operation.
Request assistance
Copy the content below and paste it into the details section on this Jira Administrator contact form
Technical details
Log's referral number: <referral number>
Cause
Referer URL: https://the-url.com/secure/admin/user/UserBrowser.jspa
java.lang.NumberFormatException: null
java.lang.NumberFormatException: null
In the atlassian-jira.log
:
2022-08-11 08:26:00,990-0600 http-nio-8080-exec-6 ERROR [o.a.c.c.C.[.[localhost].[/].[action]] Servlet.service() for servlet [action] in context with path [] threw exception [java.lang.NumberFormatException: null] with root cause
java.lang.NumberFormatException: null
at java.lang.Long.parseLong(Long.java:552)
at java.lang.Long.parseLong(Long.java:631)
at com.atlassian.crowd.directory.ldap.mapper.attribute.UserAccountControlUtil.enabledUser(UserAccountControlUtil.java:22)
at com.atlassian.crowd.directory.MicrosoftActiveDirectory.getUserModificationItems(MicrosoftActiveDirectory.java:878)
at com.atlassian.crowd.directory.SpringLDAPConnector.updateUser(SpringLDAPConnector.java:920)
at com.atlassian.crowd.directory.DbCachingRemoteDirectory.updateUser(DbCachingRemoteDirectory.java:543)
at com.atlassian.crowd.manager.directory.DirectoryManagerGeneric.updateUser(DirectoryManagerGeneric.java:387)
at com.atlassian.crowd.manager.application.ApplicationServiceGeneric.updateUser(ApplicationServiceGeneric.java:582)
at com.atlassian.crowd.embedded.core.CrowdServiceImpl.updateUser(CrowdServiceImpl.java:274)
at com.atlassian.jira.user.util.DefaultUserManager.updateUser(DefaultUserManager.java:405)
at com.atlassian.jira.bc.user.DefaultUserService.updateUser(DefaultUserService.java:455)
at com.atlassian.jira.web.action.admin.user.EditUser.doExecute(EditUser.java:134)
...
Environment
8.13.0
.
Diagnosis
- Verify the error on-screen and
atlassian-jira.log
match the above errors. - The user belongs to an LDAP Directory with Read Only permissions settings. (Details on LDAP Permissions settings can be found in Connecting to an LDAP Directory)
Cause
The LDAP directory permissions are set to Read-Only, and do not allow for modifications of user attributes locally in Jira
Solution
Workaround 1
Update your user attributes from within your LDAP environment, instead of your Jira instance.
Workaround 2
Change your LDAP directory permissions within Jira to Read/Write to allow changes to your users in your Jira instance to be applied to the LDAP environment