Skip to main content

Enabling Built-In Privacy Preferences Policy for Jamf Connect and Jamf Notifications Profile

Enabling built-in Privacy Preferences Policy for Jamf Connect and Jamf Notifications Profile

Updated over 2 weeks ago

Issue Description

"An error occurred while saving the changes" message appears when enabling the Privacy Preference Policy Control Profile, and/or the Jamf Notifications Profile for Jamf Pro, Jamf Connect, Jamf Protect or Jamf Remote Assist under Settings > Computer Management > Security > Enable certificate-based authentication > Enable push notifications.


From a Debug Server Log:

2021-03-18 11:09:42,954 [DEBUG] [Thread-4 ] [HTMLController ] - Requested URI: computerSecurity.html ... 2021-03-18 11:09:42,955 [DEBUG] [Thread-4 ] [lientSecurityHTMLResponse] - Updating computer enrollment object from request... 2021-03-18 11:09:43,005 [ERROR] [Thread-4 ] [HTMLResponse ] - An unhandled exception occurred during a save operation java.lang.StringIndexOutOfBoundsException: begin 0, end 2, length 0 at java.base/java.lang.String.checkBoundsBeginEnd(String.java:3319) at java.base/java.lang.String.substring(String.java:1874) at com.jamfsoftware.jss.objects.computer.ComputerHelper.isSelectedOSOrLater(ComputerHelper.java:5473) at com.jamfsoftware.jss.service.predefinedprofile.install.PredefinedProfileDao.mapRowIfCorrectBuildNumber(PredefinedProfileDao.java:43) at com.jamfsoftware.jss.service.predefinedprofile.install.PredefinedProfileDao.lambda$findComputersWithoutProfile$0(PredefinedProfileDao.java:32)

A computer in Jamf Pro may not include an operating system build number in its corresponding inventory record.

Troubleshooting Steps

Use a MySQL Query like the following example to check for computer records with an empty operating_system_build field in the database:

select computer_id,operating_system_build from computers_denormalized where operating_system_build='';

Note: If the Jamf Server is cloud-hosted, reach out to Jamf Support regarding the execution of this query on the cloud server and reference this article.

If one or more computer_id is returned in the results, see the procedure below:

  1. In a browser, open any existing computer inventory record in the Jamf Pro console.

  2. Edit the 'id=' portion of the web site address (in the browser) to reflect one of the three computer_id numbers returned from the query (one at a time of course).

  3. Determine if the resulting inventory records are currently needed, or if they relate to devices that could potentially be erased and re-enrolled without a serious impact on the assigned user(s).

    Important Note: The act of deleting an inventory record is not something that has 'an undo button', so if any information is needed - it may be best to collect screenshots of the information before the deletion.

  4. If it is determined safe in light of the information above, delete the inventory records for the computer_id numbers that were returned from the query.

  5. After the deletion process is complete, attempt the changes again and observe the results.

Did this answer your question?