Report NoteChart Error

Hi,

I am getting this message in designer when useing Report NoteChart version 2.0.1 (b222850050), gateway is version 8.1.31 (b2023081007). Do anyone now how to fix this :slight_smile: ?

00:40:44.388 [AWT-EventQueue-0] WARN  reporting.Preview - Error generating preview
java.util.concurrent.ExecutionException: java.lang.IllegalAccessError: class com.automation_pros.notechart.reporting.ReportNoteChart tried to access private field com.inductiveautomation.rm.shape.j2dshapes.ScriptableChart.reportData (com.automation_pros.notechart.reporting.ReportNoteChart and com.inductiveautomation.rm.shape.j2dshapes.ScriptableChart are in unnamed module of loader java.net.URLClassLoader @31b7e718)
	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.IllegalAccessError: class com.automation_pros.notechart.reporting.ReportNoteChart tried to access private field com.inductiveautomation.rm.shape.j2dshapes.ScriptableChart.reportData (com.automation_pros.notechart.reporting.ReportNoteChart and com.inductiveautomation.rm.shape.j2dshapes.ScriptableChart are in unnamed module of loader java.net.URLClassLoader @31b7e718)
	at com.automation_pros.notechart.reporting.ReportNoteChart.rpgShape(ReportNoteChart.java:508)
	at com.inductiveautomation.rm.shape.RMShape.rpgAll(RMShape.java:2842)
	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)

That would be me. Looks like ReportMill changed that field from protected to private recently (since 8.1.0). ):

Will investigate.

1 Like

The ScriptableChart abstraction layer was added in 8.1.28 when a bunch of other reporting charts got the configureChart extension function added.

Yeah, just finished bisecting to 8.1.28.

Just enough more complicated that reflection isn't a good choice for compatibility across this change. I will issue a new version of NoteChart for v8.1.28+. Shortly.

If y'all had left ScriptableChart's fields protected instead of making them private, my module would have continued to work. ):

1 Like

Fix is now available here:

And on my Module Sales page.

1 Like

ThanksπŸ‘, I will upgrade it the following week

Hello,

We upgraded the module today and the Report NoteChart seemed to work. But that was only in Designer. When the report is displayed in Report Viewer on a client, the chart is not displayed, but when Report NoteChart loads data you can see "Loading..." for a short moment. In Output Console I also se a lot of thease messages:

2:38:37.286 [AWT-EventQueue-0] INFO  c.a.n.reporting.ReportNoteChart - Rendering
12:38:37.824 [AWT-EventQueue-0] INFO  c.a.n.reporting.ReportNoteChart - Rendering
12:38:48.995 [SwingWorker-pool-1-thread-10] INFO  c.a.n.reporting.ReportNoteChart - Constructor
12:39:19.009 [SwingWorker-pool-1-thread-4] INFO  c.a.n.reporting.ReportNoteChart - Constructor
12:39:49.018 [SwingWorker-pool-1-thread-3] INFO  c.a.n.reporting.ReportNoteChart - Constructor
12:40:19.032 [SwingWorker-pool-1-thread-2] INFO  c.a.n.reporting.ReportNoteChart - Constructor
12:40:49.065 [SwingWorker-pool-1-thread-9] INFO  c.a.n.reporting.ReportNoteChart - Constructor
12:41:19.077 [SwingWorker-pool-1-thread-5] INFO  c.a.n.reporting.ReportNoteChart - Constructor
12:41:40.220 [AWT-EventQueue-0] INFO  c.a.n.reporting.ReportNoteChart - Rendering
12:41:40.257 [AWT-EventQueue-0] INFO  c.a.n.reporting.ReportNoteChart - Rendering

Hmmm. Will investigate.

OK. Try this one:

For Ignition v8.1.28+: v2.1.1.233031633

(Embarrassing. Never tested the Vision ReportViewer with this, as I was focused on Perspective. There will be a v2.0.2 to cover the Ignition v8.1.0 to v8.1.27 range.)

Perfect :slight_smile:
NoteChart is great to use in many applications.

Thanks for the super service

Do note today's fix:

1 Like