We are using Reports in Ignition 7.9.9.
We are using a table group to show or hide tables depending if related data is available or not.
When some table are shown report is shown correctly
But, when other tables are shown the reports gives a java Null Pointer Exception both in designer preview and Report viewer control.
We have 7 tables and 2 of them give the problem.
There is no way to understand why and where the problem is.
We have tried to remove all controls from the tables that give problems but the exception come up anyway.
If we create another report and put the same data to show the report is shown.
Here is the Report viewer screenshot
Here is the designer error
The stack trace is the following:
12:46:38.887 [AWT-EventQueue-2] WARN Vision.reporting.Components.Viewer - ReportLoader task could not be completed.
java.util.concurrent.ExecutionException: java.lang.NullPointerException
at java.util.concurrent.FutureTask.report(Unknown Source)
at java.util.concurrent.FutureTask.get(Unknown Source)
at javax.swing.SwingWorker.get(Unknown Source)
at com.inductiveautomation.reporting.components.ReportViewer$ReportLoader.done(ReportViewer.java:666)
at javax.swing.SwingWorker$5.run(Unknown Source)
at javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.run(Unknown Source)
at sun.swing.AccumulativeRunnable.run(Unknown Source)
at javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.actionPerformed(Unknown Source)
at javax.swing.Timer.fireActionPerformed(Unknown Source)
at javax.swing.Timer$DoPostEvent.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.NullPointerException: null
at com.inductiveautomation.rm.shape.RMTableGroupRPG.rpgAll(RMTableGroupRPG.java:75)
at com.inductiveautomation.rm.shape.RMTableGroup.rpgAll(RMTableGroup.java:329)
at com.inductiveautomation.rm.shape.ReportOwner.rpg(ReportOwner.java:180)
at com.inductiveautomation.rm.shape.RMParentShape.rpgChildren(RMParentShape.java:565)
at com.inductiveautomation.rm.shape.RMPage.rpgChildren(RMPage.java:646)
at com.inductiveautomation.rm.shape.RMParentShape.rpgAll(RMParentShape.java:552)
at com.inductiveautomation.rm.shape.RMPage.rpgAll(RMPage.java:614)
at com.inductiveautomation.rm.shape.ReportOwner.rpg(ReportOwner.java:180)
at com.inductiveautomation.rm.shape.RMDocument.rpgChildren(RMDocument.java:1029)
at com.inductiveautomation.rm.shape.RMParentShape.rpgAll(RMParentShape.java:552)
at com.inductiveautomation.rm.shape.ReportOwner.rpg(ReportOwner.java:180)
at com.inductiveautomation.rm.shape.ReportOwner.generateReport(ReportOwner.java:171)
at com.inductiveautomation.rm.shape.RMDocument.generateReport(RMDocument.java:1006)
at com.inductiveautomation.rm.shape.RMDocument.generateReport(RMDocument.java:976)
at com.inductiveautomation.reporting.components.ReportViewer$ReportLoader.doInBackground(ReportViewer.java:653)
at com.inductiveautomation.reporting.components.ReportViewer$ReportLoader.doInBackground(ReportViewer.java:583)
at javax.swing.SwingWorker$1.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at javax.swing.SwingWorker.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)