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.

java.lang.reflect.InvocationTargetException error in ProM 6.12 during csv file import

NathD
edited February 2023 in ProM 6

I have installed ProM 6.12 process mining software on my Mac M1, and followed the steps listed here: https://promtools.org/prom-6-12/ . Java version is 19.0.2. On trying to import a csv file, I get the the following error:

java.lang.reflect.InvocationTargetException


The console prints the following:

Start plug-in Import a CSV file and convert it to XES
-------- The following exception was logged by the framework: 
         The exception was probalby handled properly. 
java.util.concurrent.ExecutionException: java.lang.reflect.InvocationTargetException
    at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
    at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191)
    at java.desktop/javax.swing.SwingWorker.get(SwingWorker.java:613)
    at org.processmining.framework.plugin.ProMFuture.get(ProMFuture.java:119)
    at org.processmining.framework.plugin.impl.PluginExecutionResultImpl.synchronize(PluginExecutionResultImpl.java:106)
    at org.processmining.contexts.uitopia.hub.ProMResourceManager.importResourceNotInEDT(ProMResourceManager.java:585)
    at org.processmining.contexts.uitopia.hub.ProMResourceManager.access$200(ProMResourceManager.java:58)
    at org.processmining.contexts.uitopia.hub.ProMResourceManager$10.run(ProMResourceManager.java:554)
    at java.base/java.lang.Thread.run(Thread.java:1589)
Caused by: java.lang.reflect.InvocationTargetException
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:119)
    at java.base/java.lang.reflect.Method.invoke(Method.java:578)
    at org.processmining.framework.plugin.impl.PluginDescriptorImpl.execute(PluginDescriptorImpl.java:331)
    at org.processmining.framework.plugin.impl.AbstractPluginDescriptor$1.doInBackground(AbstractPluginDescriptor.java:155)
    at org.processmining.framework.plugin.ProMFuture$1.doInBackground(ProMFuture.java:56)
    at java.desktop/javax.swing.SwingWorker$1.call(SwingWorker.java:304)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
    at java.desktop/javax.swing.SwingWorker.run(SwingWorker.java:343)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
    ... 1 more
Caused by: java.lang.NoClassDefFoundError: com/univocity/parsers/common/TextParsingException
    at org.processmining.log.csvimport.CSVImportPluginUnivocity.importFromStream(CSVImportPluginUnivocity.java:28)
    at org.processmining.log.csvimport.CSVImportPluginUnivocity.importFromStream(CSVImportPluginUnivocity.java:20)
    at org.processmining.framework.abstractplugins.AbstractImportPlugin.importFile(AbstractImportPlugin.java:92)
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
    ... 10 more
Caused by: java.lang.ClassNotFoundException: com.univocity.parsers.common.TextParsingException
    at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:445)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:588)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
    ... 14 more
--------------------------------------------------------------


Did anyone face this issue? Can someone help me with it?

I tried removing the XES packages from the ProM packpage manager and reinstalled them, following the cue of this particular solution: https://promforum.win.tue.nl/discussion/1298/java-lang-reflect-invocationtargetexception . It did nothing for me.

My problem is very similar to this particular issue: https://promforum.win.tue.nl/discussion/1332/error-when-import-xes . I tried installing the JAXB package as suggested in this thread, but again that didn't help.

Comments

  • NathD
    edited February 2023


  • Hi,

    Can you check whether you have the ApacheUtils package installed in ProM 6.12? The ProM 6.12 Package Manager should be able to tell you this.

    The univocity library is contained in that package.

    Given that you are using the CSV importer from the Log package, which does have a dependency on the ApacheUtils package, the ApacheUtils should have been installed, but better to check just in case.

    Kind regards, Eric.

  • I was afraid of that.

    I think we now have two options left:

    1. The ApacheUtils package is installed, but the univocity library is not there (for whatever reason).
    2. The Java you are using does not allow ProM to add entries on-the-fly to the classpath.

    Option 1 can be check by going to your home folder. By default, there should be a .ProM612/packages folder here, in which ProM 6.12 keeps all installed packages. In this folder, ther ehsoudl be an apacheutils-6.12.2 folder, with in its lib folder a file named univocity-parsers-2.2.2.jar. This class Java cannot find, is located in this jar file.

    If this jar file is where it is supposed to be, then I guess it must be Java. ProM uses a not-so-documented feature of Java that allows it to add entries to the classpath on-the-fly. Possibly, this feature is blocked by Java 19.

    Having said that, it is good to realize that some features of ProM 6.12 will not work on a recent version of MacOS. For example the way alignments are computed will not work, as on MacOS this relies on a 32-bits library, but recent versions of MacOS do not support 32-bits libraries anymore. A typical workaround is to run ProM in a Windows VM.

    Kind regards, Eric.

  • I checked the location that you mentioned, and the univocity-parsers-2.2.2.jar file is indeed present there.

    Should I roll back to an earlier version of Java? If yes, then which version should be fine? Or Windows VM is the way to go?

  • Rolling back the Java version (as far as I know, it still works fine with Java 14, don't know about Java 17) is an option. If possible, I would go to Java 8, as we still use that version for development.

    Depending on what you want ot use in ProM, using a Windows VM is better. If you plan to use alignments, or the inductive visual miner, this would be your best option, as these will otherwise not work.

  • I'll try one of these. Thanks for your help and suggestions @hverbeek !

  • I rolled back to Java 8, and the issue has been resolved. Thanks, @hverbeek !

Sign In or Register to comment.