Unable to download Autosys scheduler, error 'An error occurred while processing request: Downloading 1 scheduler: Autosys1' due to Uncaught NullPointerException
search cancel

Unable to download Autosys scheduler, error 'An error occurred while processing request: Downloading 1 scheduler: Autosys1' due to Uncaught NullPointerException

book

Article ID: 254581

calendar_today

Updated On:

Products

Automation Analytics & Intelligence

Issue/Introduction

When attempting to download Autosys scheduler in the Admin tab of GUI, the following error is present:

When clicking on 'More info', the details of the error are as follows:

Uncaught NullPointerException occurred
Time: 
JAWS version: 6.4.2-3 (3-202204290909) [3-202204290909]
Java version: 1.8.0_341 (Oracle Corporation)
OS: Windows 10 10.0
Exception detail:
com.termalabs.common.JawsException: java.lang.NullPointerException
 at com.termalabs.server.app.scheduler.SchedulerHelper.downloadScheduler(SchedulerHelper.java:228)
 at com.termalabs.server.app.scheduler.SchedulerHelper.downloadNow(SchedulerHelper.java:159)
 at com.termalabs.server.ejb3.SchedulerDataManagerEJB.download(SchedulerDataManagerEJB.java:586)
 ... 12 skipped
 at com.termalabs.server.ejb3.RequestScopeEJB3Interceptor.invoke(RequestScopeEJB3Interceptor.java:94)
 ... 88 skipped
 at com.sun.proxy.$Proxy7.download(Unknown Source)
 at com.termalabs.client.model.impl.ejb.EJBSchedulerModelManagerImpl$23.processRequest(EJBSchedulerModelManagerImpl.java:860)
 at com.termalabs.client.model.impl.ejb.EJBSchedulerModelManagerImpl$23.processRequest(EJBSchedulerModelManagerImpl.java:853)
 at com.termalabs.client.util.request.RequestWorker$1.construct(RequestWorker.java:107)
 at com.termalabs.client.util.SwingWorker$2.run(SwingWorker.java:130)
 at java.lang.Thread.run(Thread.java:750)
Caused by: java.lang.NullPointerException
 at

com.termalabs.common.connection.hibernate.HibernateAutosysData.getAutosysJobs(.java:144)
 at com.termalabs.server.autosys.converter.AutosysToJawsJobConverter.getAutosysJobs(AutosysToJawsJobConverter.java:2654)
 at com.termalabs.server.autosys.converter.AutosysToJawsJobConverter.convertJobs(AutosysToJawsJobConverter.java:433)
 at com.termalabs.server.app.scheduler.SchedulerHelper.convertScheduler(SchedulerHelper.java:249)
 at com.termalabs.server.app.scheduler.SchedulerHelper.downloadScheduler(SchedulerHelper.java:211)
 at com.termalabs.server.app.scheduler.SchedulerHelper.downloadNow(SchedulerHelper.java:159)
 at com.termalabs.server.ejb3.SchedulerDataManagerEJB.download(SchedulerDataManagerEJB.java:586)
 ... 12 skipped
 at com.termalabs.server.ejb3.RequestScopeEJB3Interceptor.invoke(RequestScopeEJB3Interceptor.java:94)
 ... 68 skipped
 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
 ... 1 in common
Caller:
 at com.termalabs.client.model.impl.ejb.EJBSchedulerModelManagerImpl.download(EJBSchedulerModelManagerImpl.java:881)
 at com.termalabs.client.ui.admin.JobMartSettingsPanel.doDownload(JobMartSettingsPanel.java:259)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:498)

at net.sourceforge.tahini.Tahini$ControllerLinker$1.actionPerformed(Unknown Source)
 at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
 at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
 at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
 at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
 at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:262)
 at java.awt.Component.processMouseEvent(Component.java:6539)
 at javax.swing.JComponent.processMouseEvent(JComponent.java:3318)
 at java.awt.Component.processEvent(Component.java:6304)
 at java.awt.Container.processEvent(Container.java:2239)
 at java.awt.Component.dispatchEventImpl(Component.java:4889)
 at java.awt.Container.dispatchEventImpl(Container.java:2297)
 at java.awt.Component.dispatchEvent(Component.java:4711)
 at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
 at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535)
 at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
 at java.awt.Container.dispatchEventImpl(Container.java:2283)
 at java.awt.Window.dispatchEventImpl(Window.java:2746)
 at java.awt.Component.dispatchEvent(Component.java:4711)
 at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
 at java.awt.EventQueue.access$500(EventQueue.java:97)
 at java.awt.EventQueue$3.run(EventQueue.java:709)
 at java.awt.EventQueue$3.run(EventQueue.java:703)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
 at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
 at java.awt.EventQueue$4.run(EventQueue.java:733)
 at java.awt.EventQueue$4.run(EventQueue.java:731)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
 at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
 at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
 at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
 at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
 at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
 at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
 at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)'

Environment

Automic Automation Intelligence : 6.4.X

Autosys: r12

Cause

Defect

Resolution

Important: GUI pop up can be related to other issues, that is why 'More info' needs to be checked. If there is a Uncaught NullPointerException, it is related to Null values in has_service_desk value in the Autosys database of affected scheduler.

To fix the issue, upgrade to the following version of AAI or higher:

Automic Automation Intelligence 6.4.4 - released, can be downloaded here.

Workaround: 

With Autosys database administrator, identify the amount of jobs that have has_service_desk values set to 'Null' by running the following statement:

select uj.has_service_desk, count(*)
from UJO_JOB uj
group by uj.has_service_desk;

The output will look something like this:

HAS_SERVICE_DESK   COUNT(*)
---------------- ----------
               1      23054
                       14003
               0         583

In this case, there are 14003 values that are neither 0 or 1.

You can also run these queries against the affected scheduler to break down the numbers separately:

select count(*)
from ujo_job
where has_service_desk = 1;

select count(*)
from ujo_job
where has_service_desk = 0;

select count(*)
from ujo_job
where has_service_desk is null;

select has_service_desk, count(*)
from ujo_job
group by has_service_desk;

After those jobs are identified, have Autosys admin update has_service_desk and service_desk values to either 0 or 1. See Autosys documentation for your reference:

https://techdocs.broadcom.com/us/en/ca-enterprise-software/intelligent-automation/autosys-workload-automation/12-0-01/reference/ae-job-information-language/jil-job-definitions/service-desk-attribute-specify-whether-to-open-a-ca-service-desk-ticket-when-a-job-fails.html

Once those jobs are updated, and has_service_desk and service_desk values are not NULL, the scheduler can be downloaded from AAI GUI.

If this does not resolve the issue, enable debug with on ContextChecker and ContextDatabaseHelper, SchedulerDataManagerEJB, SchedulerHelper, RequestScopeEJB3Interceptor, reproduce the issue on all of the schedulers, open a case with Broadcom support, and provide log files for review along with the full error from GUI.