The following response is shown when running commands such as backup, restore, status etc from the command line:ERROR: An error occurred while trying to decode the response from the server: null Details: [LDAP: error code 80 - An unexpected error was encountered while processing a search in one of the Directory Server backends: NullPointerException(TaskScheduler.java:1541)]
An uncaught exception while processing operation AddOperation is shown in the access logs when this occurs:[16/Aug/2016:10:04:52 +0100] DISCONNECT conn=0 reason="Server Error" msg="Worker Thread 60 encountered an uncaught exception while processing operation AddOperation(connID=0, opID=1, dn=ds-task-id=20150805080006222,cn=Scheduled Tasks,cn=Tasks): NullPointerException (TaskScheduler.java:1555 TaskBackend.java:491 DirectoryServer.java:6688 LocalBackendAddOperation.java:354 LocalBackendWorkflowElement.java:539 WorkflowImpl.java:197 WorkflowTopologyNode.java:100 AddOperationBasis.java:764 TraditionalWorkerThread.java:167)"
The exceptions seen in the error messages indicate there is an issue adding a task to the task scheduler backend; this can be caused by an empty or corrupt tasks.ldif file (located in /path/to/ds/db/tasks in DS 6 and later, or /path/to/ds/config in DS 5.x). The tasks.ldif is a file-based database that stores information on past, current and future tasks for the task scheduler backend, for example, backup tasks that are currently running or scheduled.
An empty or corrupt tasks.ldif file can occur for a variety of reasons, including the server running out of disk space or taking a VM snapshot while the server is running; this is not recommended anyway, since taking a VM snapshot while the server is running can corrupt the database if a change is being made to one of the main backends at the same time.
This issue can be resolved by populating the tasks.ldif file and restarting the DS server.
You can recover the file from a valid copy of your previous tasks.ldif in the file tasks.ldif.save, else you can create a generic tasks.ldif file containing the following:# This file contains the data used by the Directory Server task scheduler # backend. Do not edit this file directly, as there is a risk that those # changes will be lost. Scheduled and recurring task definitions should only # be edited using the administration utilities provided with the Directory # Server dn: cn=tasks objectClass: top objectClass: untypedObject cn: tasks dn: cn=Scheduled Tasks,cn=tasks objectClass: top objectClass: untypedObject cn: Scheduled Tasks dn: cn=Recurring Tasks,cn=tasks objectClass: top objectClass: untypedObject cn: Recurring Tasks