Ignition Reporting java.lang.NullPointerException

Hi,

I tried adding new data from a script to an existing report. But i always get this error:

I tried a bunch of things but cannot figure out why it does this. As in an other report i have the same code but no error.

Here is the code causing the error:

dsAnnotationsJDB = system.db.runNamedQuery(
	path = 'Notes/Annotations/Get-NotesbyCodeLot',
	parameters = {'CodeLot': data['LotName']})

data['AnnotationsJDB'] = dsAnnotationsJDB

We are currently running igintion version 8.1.25 if it helps

There will be a stack trace in the logs with more details about the NPE. It would be helpful if you can copy that text and post it here (not a screenshot, please).

Hi,

Here is the stack trace:

java.util.concurrent.ExecutionException: java.lang.NullPointerException
	at java.base/java.util.concurrent.FutureTask.report(Unknown Source)
	at java.base/java.util.concurrent.FutureTask.get(Unknown Source)
	at java.desktop/javax.swing.SwingWorker.get(Unknown Source)
	at com.inductiveautomation.reporting.designer.workspace.design.PreviewPanel$PreviewGenerator.done(PreviewPanel.java:154)
	at java.desktop/javax.swing.SwingWorker$5.run(Unknown Source)
	at java.desktop/javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.run(Unknown Source)
	at java.desktop/sun.swing.AccumulativeRunnable.run(Unknown Source)
	at java.desktop/javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.actionPerformed(Unknown Source)
	at java.desktop/javax.swing.Timer.fireActionPerformed(Unknown Source)
	at java.desktop/javax.swing.Timer$DoPostEvent.run(Unknown Source)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
	at com.inductiveautomation.snap.swing.RibsEventQueue.dispatchEvent(RibsEventQueue.java:99)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.NullPointerException: null
	at com.inductiveautomation.rm.shape.RMTableRPG.rpgWithScaling(RMTableRPG.java:113)
	at com.inductiveautomation.rm.shape.RMTableGroupRPG.rpgAll(RMTableGroupRPG.java:66)
	at com.inductiveautomation.rm.shape.RMTableGroup.rpgAll(RMTableGroup.java:339)
	at com.inductiveautomation.rm.shape.ReportOwner.rpg(ReportOwner.java:178)
	at com.inductiveautomation.rm.shape.RMParentShape.rpgChildren(RMParentShape.java:597)
	at com.inductiveautomation.rm.shape.RMPage.rpgChildren(RMPage.java:696)
	at com.inductiveautomation.rm.shape.RMParentShape.rpgAll(RMParentShape.java:584)
	at com.inductiveautomation.rm.shape.RMPage.rpgAll(RMPage.java:659)
	at com.inductiveautomation.rm.shape.ReportOwner.rpg(ReportOwner.java:178)
	at com.inductiveautomation.rm.shape.RMDocument.rpgChildren(RMDocument.java:1125)
	at com.inductiveautomation.rm.shape.RMParentShape.rpgAll(RMParentShape.java:584)
	at com.inductiveautomation.rm.shape.ReportOwner.rpg(ReportOwner.java:178)
	at com.inductiveautomation.rm.shape.ReportOwner.generateReport(ReportOwner.java:169)
	at com.inductiveautomation.rm.shape.RMDocument.generateReport(RMDocument.java:1101)
	at com.inductiveautomation.rm.shape.RMDocument.generateReport(RMDocument.java:1069)
	at com.inductiveautomation.reporting.designer.workspace.design.PreviewPanel$PreviewGenerator.doInBackground(PreviewPanel.java:147)
	at com.inductiveautomation.reporting.designer.workspace.design.PreviewPanel$PreviewGenerator.doInBackground(PreviewPanel.java:126)
	at java.desktop/javax.swing.SwingWorker$1.call(Unknown Source)
	at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
	at java.desktop/javax.swing.SwingWorker.run(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.base/java.lang.Thread.run(Unknown Source)

Thanks, that's really helpful.

I'm not sure what in your project is making you hit this, but I can see what we need to fix in our code and I've opened ticket IGN-9246 for it.

Because I'm not sure what's causing this, I'd recommend you work with our support team on this for a workaround. Reference the above ticket number when you call or email in.

2 Likes

Hi Nathan,

We are investigating the issue and trying to replicate the bug in house. We were wondering do you happen to have any replication steps to trigger the bug?

Thank you!

Hi,

I haven't told everything in my first post.
The error comes when i create a table group and assign the data key to the data coming from the code i first submitted.

So in my case, the datakey is AnnotationsJDB.

The error occurs when i have the header/summary row activated or if the detail row is activated and i have actual data in the datakey.

Furthermore, the data coming from the script is a 1x2 dataset.

Hope this helps!

This kind of statement pops up often. The script console's scope is Vision, not Reporting, nor Perspective. Lot's of scripting functions behave differently in different scopes. "Tested in the script console" is not sufficient.

Consider providing support with your actual project file, so they can replicate your actual problem.

Hi Nathan,

Thank you so much for the additional info, would it be possible to send over a project export to Support (you can email support@inductiveautomation.com or use https://support.inductiveautomation.com/hc/en-us) to help us replicate the issue? You can reference IGN-9246 in the ticket.
Thank you in advance!