NullPointerException

Which IIQ version are you inquiring about?

8.4p2

Please share any images or screenshots, if relevant.

Please share any other relevant files that may be required (for example, logs).


2025-09-08T22:45:30,906 TRACE QuartzScheduler_Worker-2 sailpoint.api.Identitizer:138 - Entering finishRefresh(ident = sailpoint.object.Identity@7c6e3ba1[id=0ab142058fbc1bdf818fbcf43e5c2347,name=User123], prev = null, project = sailpoint.object.ProvisioningProject@7b846b4a)2025-09-08T22:45:30,906 TRACE QuartzScheduler_Worker-2 sailpoint.api.Identitizer:138 - Entering prepare()2025-09-08T22:45:30,906 TRACE QuartzScheduler_Worker-2 sailpoint.api.Identitizer:150 - Exiting prepare = null2025-09-08T22:45:30,906 TRACE QuartzScheduler_Worker-2 sailpoint.api.Identitizer:138 - Entering loadPreviousIfRequired(id = sailpoint.object.Identity@7c6e3ba1[id=0ab142058fbc1bdf818fbcf43e5c2347,name=User123])2025-09-08T22:45:30,906 TRACE QuartzScheduler_Worker-2 sailpoint.api.Identitizer:138 - Entering needPreviousOnAccountOfTriggers(id = sailpoint.object.Identity@7c6e3ba1[id=0ab142058fbc1bdf818fbcf43e5c2347,name=User123])2025-09-08T22:45:30,906 TRACE QuartzScheduler_Worker-2 sailpoint.api.Identitizer:150 - Exiting needPreviousOnAccountOfTriggers = false2025-09-08T22:45:30,906 TRACE QuartzScheduler_Worker-2 sailpoint.api.Identitizer:150 - Exiting loadPreviousIfRequired = null2025-09-08T22:45:30,906 TRACE QuartzScheduler_Worker-2 sailpoint.api.Identitizer:138 - Entering refreshSearchAttributes(id = sailpoint.object.Identity@7c6e3ba1[id=0ab142058fbc1bdf818fbcf43e5c2347,name=User123])2025-09-08T22:45:30,906 TRACE QuartzScheduler_Worker-2 sailpoint.api.Identitizer:150 - Exiting refreshSearchAttributes = null2025-09-08T22:45:30,930 TRACE QuartzScheduler_Worker-2 sailpoint.api.Identitizer:156 - Throwing finishRefresh - java.lang.NullPointerException2025-09-08T22:45:30,931 TRACE QuartzScheduler_Worker-2 sailpoint.api.Identitizer:156 - Throwing refresh - java.lang.NullPointerException2025-09-08T22:45:30,944 ERROR 
QuartzScheduler_Worker-2 sailpoint.task.IdentityRefreshExecutor:1655 - RefreshWorker 1 exception: nulljava.lang.NullPointerException: null2025-09-08T22:45:30,973 TRACE QuartzScheduler_Worker-2 sailpoint.task.IdentityRefreshExecutor:138 - Entering printProgress()2025-09-08T22:45:30,973 TRACE QuartzScheduler_Worker-2 sailpoint.task.IdentityRefreshExecutor:150 - Exiting printProgress = null2025-09-08T22:45:30,973 TRACE QuartzScheduler_Worker-2 sailpoint.task.IdentityRefreshExecutor:150 - Exiting refresh = null

Share all details about your problem, including any error messages you may have received.

Recently, we started getting a NullPointerException during the Identity Refresh task.
This error only occurs when we enable the “Refresh assigned, detected roles and promote additional entitlements” option.

We have already run the IDX task, and it completed successfully without any errors.
According to the logs, the NPE is coming from finishRefresh.

Has anyone faced this issue before? What could be causing it?

Hi @Arunkumar0107 ,

It is throwing error for only the identity ‘User123’ or for all identities?

Please verify if the assignment rules for the roles of that identity are causing NullPointer exception

Please provide the stacktrace

Hi @aleksander_jachowicz ,

Thank you for the response. We have enabled the Identitizer log and attached the trace.

Refresh_trace.log (25.6 KB)

HI @Chathurya ,

Thank you for response. Issue is not specific to one identity. we are seeing it for multiple identities We don’t have assignment rule for affected identities.

this is nice but please provide “stackTrace” of the null pointer exception

Hi @aleksander_jachowicz ,

I found this in syslog

sailpoint.tools.GeneralException: sailpoint.tools.GeneralException: The application script threw an exception: java.lang.NullPointerException: Null Pointer in Method Invocation BSF info: script at line: 0 column: columnNo
	at sailpoint.server.ScriptletEvaluator.doScript(ScriptletEvaluator.java:268)
	at sailpoint.server.ScriptletEvaluator.evalSource(ScriptletEvaluator.java:71)
	at sailpoint.api.Workflower.evalSource(Workflower.java:5937)
	at sailpoint.api.Workflower.transition(Workflower.java:4892)
	at sailpoint.api.Workflower.advance(Workflower.java:4572)
	at sailpoint.api.Workflower.startCase(Workflower.java:3149)
	at sailpoint.api.Workflower.launchInner(Workflower.java:2818)
	at sailpoint.api.Workflower.launch(Workflower.java:2668)
	at sailpoint.api.Workflower.launch(Workflower.java:2502)
	at sailpoint.api.Workflower.launchSafely(Workflower.java:2449)
	at sailpoint.api.WorkflowTriggerHandler.handleEventInternal(WorkflowTriggerHandler.java:55)
	at sailpoint.api.AbstractIdentityTriggerHandler.handleEvent(AbstractIdentityTriggerHandler.java:89)
	at sailpoint.api.Identitizer.processEvents(Identitizer.java:3315)
	at sailpoint.api.Identitizer.processTriggers(Identitizer.java:3276)
	at sailpoint.api.Identitizer.doTriggers(Identitizer.java:6935)
	at sailpoint.api.Identitizer.doDelayedTriggers(Identitizer.java:6963)
	at sailpoint.task.IdentityRefreshExecutor$RefreshWorker.doDelayedTriggers(IdentityRefreshExecutor.java:1341)
	at sailpoint.task.IdentityRefreshExecutor$RefreshWorker.doTriggers(IdentityRefreshExecutor.java:1318)
	at sailpoint.task.IdentityRefreshExecutor$RefreshWorkerPool.processEventsOnly(IdentityRefreshExecutor.java:2074)
	at sailpoint.task.IdentityRefreshExecutor.execute(IdentityRefreshExecutor.java:917)
	at sailpoint.api.TaskManager.runSync(TaskManager.java:981)
	at sailpoint.api.TaskManager.runSync(TaskManager.java:764)
	at sailpoint.scheduler.JobAdapter.execute(JobAdapter.java:128)
	at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
	at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
Caused by: sailpoint.tools.GeneralException: The application script threw an exception: java.lang.NullPointerException: Null Pointer in Method Invocation BSF info: script at line: 0 column: columnNo
	at sailpoint.server.BSFRuleRunner.runScript(BSFRuleRunner.java:335)
	at sailpoint.server.InternalContext.runScript(InternalContext.java:1343)
	at sailpoint.server.ScriptletEvaluator.doScript(ScriptletEvaluator.java:263)
	... 24 more
Caused by: org.apache.bsf.BSFException: The application script threw an exception: java.lang.NullPointerException: Null Pointer in Method Invocation BSF info: script at line: 0 column: columnNo
	at bsh.util.BeanShellBSFEngine.eval(BeanShellBSFEngine.java:197)
	at org.apache.bsf.BSFManager$5.run(BSFManager.java:445)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at org.apache.bsf.BSFManager.eval(BSFManager.java:442)
	at sailpoint.server.BSFRuleRunner.runScript(BSFRuleRunner.java:333)
	... 26 more

Hi @Arunkumar0107,

Did you use any role assignment rule?

You can see from the stacktrace that the issue is in you bsh code in a workflow tigered by IdentityEvent.

Please check what events are triggered and what warkflow runs.