promworkbench / StochasticWeightEstimation

1 stars 0 forks source link

Plugin does not run and exits with error #1

Open AdamBanham opened 3 weeks ago

AdamBanham commented 3 weeks ago

After downloading the latest nightly build and installing the package, the plugin 'Mine stochastic Petri net with estimators' crashes out before starting any work or returning the GSPN.

Steps to reproduce:

Crash information from command line:

Start plug-in Mine Stochastic Petri net with estimators
-------- The following exception was logged by the framework:
         The exception was probalby handled properly.
java.util.concurrent.ExecutionException: java.lang.reflect.InvocationTargetException
        at java.util.concurrent.FutureTask.report(Unknown Source)
        at java.util.concurrent.FutureTask.get(Unknown Source)
        at javax.swing.SwingWorker.get(Unknown Source)
        at org.processmining.framework.plugin.ProMFuture.get(ProMFuture.java:119)
        at org.processmining.framework.plugin.impl.AbstractPluginDescriptor$1.done(AbstractPluginDescriptor.java:187)
        at org.processmining.framework.plugin.ProMFuture$1.done(ProMFuture.java:66)
        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.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.processmining.framework.plugin.impl.PluginDescriptorImpl.execute(PluginDescriptorImpl.java:329)
        at org.processmining.framework.plugin.impl.AbstractPluginDescriptor$1.doInBackground(AbstractPluginDescriptor.java:149)
        at org.processmining.framework.plugin.ProMFuture$1.doInBackground(ProMFuture.java:56)
        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)
Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.processmining.stochasticweightestimation.plugins.EstimatorPluginConfiguration
        at org.processmining.stochasticweightestimation.plugins.SPDWeightEstimatorPlugin.mineGUISPNWithEstimator(SPDWeightEstimatorPlugin.java:83)
        ... 13 more
--------------------------------------------------------------
adamburkegh commented 3 weeks ago

Hi thanks for the clear bug report. It doesn't reproduce locally when built from source, which suggests some dependency getting lost in the build process.

FWIW NoClassDefFoundError, when it occurs, often shows up in constructors, because that is one of the triggers for class loading. But usually it's not that constructor that has the problem, it's some other class going missing.

If you need an immediate workaround you could checkout the plugin locally.

AdamBanham commented 3 weeks ago

Not in a rush, but some notice when the plugin would work in the nightly build would be nice.

No one but us (maybe sander and eric as well) is checking out local source mate, if it does not work from the package manager, you are going to miss citations.

adamburkegh commented 3 weeks ago

Yeah well since I was speaking to someone in that elite group I thought I'd mention it

adamburkegh commented 2 weeks ago

More informative stacktrace:

Caused by: java.lang.NoClassDefFoundError: org/apache/logging/log4j/LogManager
        at au.edu.qut.prom.helpers.StochasticPetriNetUtils.<clinit>(StochasticPetriNetUtils.java:28)
        at au.edu.qut.pm.spn_estimator.MeanScaledActivityPairRHEstimator.edgePairWeights(MeanScaledActivityPairRHEstimator.java:39)
        at au.edu.qut.pm.spn_estimator.MeanScaledActivityPairRHEstimator.estimateWeights(MeanScaledActivityPairRHEstimator.java:25)
        at au.edu.qut.pm.spn_estimator.AbstractFrequencyEstimator.estimateWeights(AbstractFrequencyEstimator.java:76)
        at org.processmining.stochasticweightestimation.plugins.SPDWeightEstimatorPlugin.mineSPNFromLogWithEstimator(SPDWeightEstimatorPlugin.java:113)
        at org.processmining.stochasticweightestimation.plugins.SPDWeightEstimatorPlugin.mineSPNFromLogWithDefaults(SPDWeightEstimatorPlugin.java:70)
        ... 13 more
Caused by: java.lang.ClassNotFoundException: org.apache.logging.log4j.LogManager
        at java.net.URLClassLoader.findClass(URLClassLoader.java:387)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
        ... 19 more

ie, the apache log4j classes are misisng.