ProM 6.3 - ILP : Java Error
Hi,
I am trying to run the ILP algorithm through ProM 6.3 on a Mac OS 10.9.3, java version "1.7.0_60"
I get a java.lang.reflect.InvocationTargetException on the UI.
On the console it prints:
-------- 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(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:188)
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:180)
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:312)
at javax.swing.Timer$DoPostEvent.run(Timer.java:244)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:312)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:694)
at java.awt.EventQueue$3.run(EventQueue.java:692)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:703)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.processmining.framework.plugin.impl.PluginDescriptorImpl.execute(PluginDescriptorImpl.java:230)
at org.processmining.framework.plugin.impl.AbstractPluginDescriptor$1.doInBackground(AbstractPluginDescriptor.java:144)
at org.processmining.framework.plugin.ProMFuture$1.doInBackground(ProMFuture.java:56)
at javax.swing.SwingWorker$1.call(SwingWorker.java:296)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at javax.swing.SwingWorker.run(SwingWorker.java:335)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.UnsatisfiedLinkError: /Users/pavlos/.ProM63/packages/lpsolve-5.5.0.15/LpSolve_mac/mac/liblpsolve55.dylib: dlopen(/Users/pavlos/.ProM63/packages/lpsolve-5.5.0.15/LpSolve_mac/mac/liblpsolve55.dylib, 1): no suitable image found. Did find:
/Users/pavlos/.ProM63/packages/lpsolve-5.5.0.15/LpSolve_mac/mac/liblpsolve55.dylib: mach-o, but wrong architecture
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1965)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1890)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1880)
at java.lang.Runtime.loadLibrary0(Runtime.java:849)
at java.lang.System.loadLibrary(System.java:1088)
at org.processmining.plugins.ilpminer.ILPModelJavaILP.loadLibraries(ILPModelJavaILP.java:116)
at org.processmining.plugins.ilpminer.ILPModelJavaILP.findPetriNetPlaces(ILPModelJavaILP.java:81)
at org.processmining.plugins.ilpminer.ILPMiner.doILPMiningPrivateWithRelationsAndLanguage(ILPMiner.java:324)
at org.processmining.plugins.ilpminer.ILPMiner.doILPMiningPrivateWithRelations(ILPMiner.java:265)
at org.processmining.plugins.ilpminer.ILPMiner.doILPMiningWithSettings(ILPMiner.java:178)
at org.processmining.plugins.ilpminer.ILPMiner.doILPMining(ILPMiner.java:76)
... 13 more
--------------------------------------------------------------
(Bold mine)
Any clues why this is happening?
Thank you
Best Answer
-
There is a known issue with the automatic installation of ILPSolve (used by the ILPminer and others) on Macintosh systems.
There is a solution but I'm not able to find it know. Maybe someone else can be of further assistance
Joos Buijs
Senior Data Scientist and process mining expert at APG (Dutch pension fund executor).
Previously Assistant Professor in Process Mining at Eindhoven University of Technology
Answers
-
Thanks anyway...
-
Hi P. Delias,
The problem might be caused by the fact that your machine (depending on its age) is of a 64-bit type architecture.
Currently the underlying library, being lpsolve, is only distributed as a 32-bit version within ProM.
I'm trying to see if I am able to fix it (I use the lpsolve a lot in my daily work).
kind regards,
Sebastiaan J. van Zelst
-
Sebastiaan you were right, the distributed lpsolve library doesn't work with 64bit Macs. I managed to find a solution. The general idea goes like this: 1) Build the lpsolve files from source, so that they are compatible with your system and 2) copy them to the appropriate folders.
I posted the step-by-step solution at http://myreceptacle.wordpress.com/2014/08/18/discover-petri-net-with-ilp-in-prom-for-mac-users/
Now it's working perfectly!
Thank you and Good Luck to ProM Mac users
-
Hi Pavlos,
Many thanks for the detailed info, it helped, I've now also got it to work on my 64bit Mac.
However, I've only followed your steps 1, 2 and 3. After that, I simply copied the two generated files into the LpSolve_mac/mac folder in the folder where the LpSolve package was installed, that is, into the folder that already contained the liblpsolve55j.jnilib file. For, me this was sufficient to get it working.
Cheers,
Eric.
Howdy, Stranger!
Categories
- 1.6K All Categories
- 45 Announcements / News
- 225 Process Mining
- 6 - BPI Challenge 2020
- 9 - BPI Challenge 2019
- 24 - BPI Challenge 2018
- 27 - BPI Challenge 2017
- 8 - BPI Challenge 2016
- 68 Research
- 1K ProM 6
- 394 - Usage
- 288 - Development
- 9 RapidProM
- 1 - Usage
- 7 - Development
- 54 ProM5
- 19 - Usage
- 187 Event Logs
- 32 - ProMimport
- 75 - XESame