To prevent spam users, you can only post on this forum after registration, which is by invitation. If you want to post on the forum, please send me a mail (h DOT m DOT w DOT verbeek AT tue DOT nl) and I'll send you an invitation in return for an account.

Time Based Log Filter ==> java.util.concurrent.ExecutionException: java.lang.NullPointerException

tsengj
edited November 2018 in - Usage
Using prom 6.8. 
fresh installed without issues. 
loaded xes log file. ran the filtered on event attribute plugin which completed successfully, but when i ran Time Based Log Filter, it ended with the error below

any thoughts?

Running on Windows 10 with the latest Java ver 8.

>>> Total startup took 51.352 seconds
Start plug-in Open XES Log File (Naive)
End plug-in Open XES Log File (Naive), took 3270 milliseconds
Start plug-in @2 Log Summary
End plug-in @2 Log Summary, took 797 milliseconds
[ActionsBrowser] setFocus
Start plug-in Filter Log on Event Attribute Values
End plug-in Filter Log on Event Attribute Values, took 41653 milliseconds
Start plug-in @2 Log Summary
End plug-in @2 Log Summary, took 518 milliseconds
Start plug-in Time Based Log Filter
-------- The following exception was logged by the framework:
         The exception was probalby handled properly.
java.util.concurrent.ExecutionException: java.lang.NullPointerException
        at java.util.concurrent.FutureTask.report(FutureTask.java:122)
        at java.util.concurrent.FutureTask.get(FutureTask.java:192)
        at javax.swing.SwingWorker.get(SwingWorker.java:602)
        at org.processmining.framework.plugin.ProMFuture.get(ProMFuture.java:119)
        at org.processmining.framework.plugin.impl.AbstractPluginDescriptor$1.done(AbstractPluginDescriptor.java:189)
        at org.processmining.framework.plugin.ProMFuture$1.done(ProMFuture.java:66)
        at javax.swing.SwingWorker$5.run(SwingWorker.java:737)
        at javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.run(SwingWorker.java:832)
        at sun.swing.AccumulativeRunnable.run(AccumulativeRunnable.java:112)
        at javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.actionPerformed(SwingWorker.java:842)
        at javax.swing.Timer.fireActionPerformed(Timer.java:313)
        at javax.swing.Timer$DoPostEvent.run(Timer.java:245)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
        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:80)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
        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)
Caused by: java.lang.NullPointerException
        at org.processmining.plugins.timefilter.LogFilter$4.compare(LogFilter.java:348)
        at org.processmining.plugins.timefilter.LogFilter$4.compare(LogFilter.java:346)
        at java.util.Arrays.mergeSort(Arrays.java:1544)
        at java.util.Arrays.mergeSort(Arrays.java:1555)
        at java.util.Arrays.mergeSort(Arrays.java:1555)
        at java.util.Arrays.mergeSort(Arrays.java:1555)
        at java.util.Arrays.mergeSort(Arrays.java:1555)
        at java.util.Arrays.mergeSort(Arrays.java:1555)
        at java.util.Arrays.mergeSort(Arrays.java:1555)
        at java.util.Arrays.mergeSort(Arrays.java:1555)
        at java.util.Arrays.mergeSort(Arrays.java:1555)
        at java.util.Arrays.mergeSort(Arrays.java:1555)
        at java.util.Arrays.mergeSort(Arrays.java:1555)
        at java.util.Arrays.mergeSort(Arrays.java:1555)
        at java.util.Arrays.mergeSort(Arrays.java:1555)
        at java.util.Arrays.legacyMergeSort(Arrays.java:1523)
        at java.util.Arrays.sort(Arrays.java:1510)
        at java.util.ArrayList.sort(ArrayList.java:1462)
        at java.util.Collections.sort(Collections.java:175)
        at org.processmining.plugins.timefilter.LogFilter.preprocessLog(LogFilter.java:335)
        at org.processmining.plugins.timefilter.LogFilter.visualize(LogFilter.java:99)
        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 org.processmining.framework.plugin.impl.PluginDescriptorImpl.execute(PluginDescriptorImpl.java:260)
        at org.processmining.framework.plugin.impl.AbstractPluginDescriptor$1.doInBackground(AbstractPluginDescriptor.java:151)
        at org.processmining.framework.plugin.ProMFuture$1.doInBackground(ProMFuture.java:56)
        at javax.swing.SwingWorker$1.call(SwingWorker.java:295)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at javax.swing.SwingWorker.run(SwingWorker.java:334)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
--------------------------------------------------------------

Comments

  • Yes, do not select a visualizer that assumes the event log contains timestamps if the event log does not contain timestamps.

    I agree that the visualizer could have checked whether the event log contains timestamps, and could have provided a much nicer message than this stack trace.
  • I am pretty sure the event log contains timestamps. I have checked, no nulls in the variable. I find it strange that this only occurs after the plugin "Filter Log on Event Attribute" is run. If i run the plug-in Time Based Log Filter first, this issue doesn't appear. 

    Secondly I also noticed that after using the plug-in Time Based Log Filter successfully (without the initial filter log on event attribute), the dotted chart no longer have the option for TimeCaseStart as the x-axis. why is that?

    Thank you so much. Awesome app. Just need to iron out the kinks one at a time.

    J
  • A possible explanation could be that using the "Filter Log on Event Attribute" plug-in you have filtered such that some empty traces remain: For these traces, all events got filtered out. For such traces, there is no initial nor final timestamp. Can you check with the default log visualizer whether there are any empty traces? If so, you should first filter out all empty traces.

    The current version of the "Filter Log on Event Attribute" plug-in in the ProM Nightly Build now has an additional option to automatically remove empty traces, but the version in ProM 6.8 does not have this option.

Sign In or Register to comment.