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.

ProM 6.3 - ILP : Java Error

pdelias
edited July 2014 in - Usage

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

  • JBuijs
    Accepted 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 Wink

  • 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.
Sign In or Register to comment.