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.

Using ProM within a Docker container

NiceNickNiceNick Posts: 20
Hello,

I'm running a script (using ProM CLI) that takes as input a CSV file, mines it with HeuristicsMiner and exports the result as a BPMN file.
I created a directory with the ProM Framework + packages and altered the ProM.ini file to fetch the packages from this new directory. When I start the script everything works perfectly, but when I run the container I get the following:
Start plug-in BPMN XML 2.0 export
Exception in thread "main" java.lang.reflect.InvocationTargetException
    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)
Caused by: java.lang.ExceptionInInitializerError
    at com.fluxicon.slickerbox.components.SlickerButton.createBackgroundBuffer(SlickerButton.java:365)
    at com.fluxicon.slickerbox.components.SlickerButton.initialize(SlickerButton.java:174)
    at com.fluxicon.slickerbox.components.SlickerButton.<init>(SlickerButton.java:122)
    at com.fluxicon.slickerbox.factory.SlickerFactory.createButton(SlickerFactory.java:100)
    at org.processmining.framework.util.ui.scalableview.ScalableViewPanel.addButton(ScalableViewPanel.java:419)
    at org.processmining.models.jgraph.visualization.ProMJGraphPanel.<init>(ProMJGraphPanel.java:36)
    at org.processmining.models.jgraph.ProMJGraphVisualizer.visualizeGraph(ProMJGraphVisualizer.java:132)
    at org.processmining.models.jgraph.ProMJGraphVisualizer.visualizeGraph(ProMJGraphVisualizer.java:72)
    at org.processmining.plugins.bpmn.BpmnDefinitions$BpmnDefinitionsBuilder.fillGraphicsInfo(BpmnDefinitions.java:179)
    at org.processmining.plugins.bpmn.BpmnDefinitions$BpmnDefinitionsBuilder.buildFromDiagram(BpmnDefinitions.java:161)
    at org.processmining.plugins.bpmn.BpmnDefinitions$BpmnDefinitionsBuilder.<init>(BpmnDefinitions.java:81)
    at org.processmining.plugins.bpmn.plugins.BpmnExportPlugin.retrieveContent(BpmnExportPlugin.java:180)
    at org.processmining.plugins.bpmn.plugins.BpmnExportPlugin.export(BpmnExportPlugin.java:78)
    ... 13 more
Caused by: java.awt.HeadlessException:
No X11 DISPLAY variable was set, but this program performed an operation which requires it.
    at sun.java2d.HeadlessGraphicsEnvironment.getDefaultScreenDevice(HeadlessGraphicsEnvironment.java:77)
    at com.fluxicon.slickerbox.util.GraphicsUtilities.<clinit>(GraphicsUtilities.java:80)
    ... 26 more
-------- 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: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:758)
    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:728)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
    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.reflect.InvocationTargetException
    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)
Caused by: java.lang.ExceptionInInitializerError
    at com.fluxicon.slickerbox.components.SlickerButton.createBackgroundBuffer(SlickerButton.java:365)
    at com.fluxicon.slickerbox.components.SlickerButton.initialize(SlickerButton.java:174)
    at com.fluxicon.slickerbox.components.SlickerButton.<init>(SlickerButton.java:122)
    at com.fluxicon.slickerbox.factory.SlickerFactory.createButton(SlickerFactory.java:100)
    at org.processmining.framework.util.ui.scalableview.ScalableViewPanel.addButton(ScalableViewPanel.java:419)
    at org.processmining.models.jgraph.visualization.ProMJGraphPanel.<init>(ProMJGraphPanel.java:36)
    at org.processmining.models.jgraph.ProMJGraphVisualizer.visualizeGraph(ProMJGraphVisualizer.java:132)
    at org.processmining.models.jgraph.ProMJGraphVisualizer.visualizeGraph(ProMJGraphVisualizer.java:72)
    at org.processmining.plugins.bpmn.BpmnDefinitions$BpmnDefinitionsBuilder.fillGraphicsInfo(BpmnDefinitions.java:179)
    at org.processmining.plugins.bpmn.BpmnDefinitions$BpmnDefinitionsBuilder.buildFromDiagram(BpmnDefinitions.java:161)
    at org.processmining.plugins.bpmn.BpmnDefinitions$BpmnDefinitionsBuilder.<init>(BpmnDefinitions.java:81)
    at org.processmining.plugins.bpmn.plugins.BpmnExportPlugin.retrieveContent(BpmnExportPlugin.java:180)
    at org.processmining.plugins.bpmn.plugins.BpmnExportPlugin.export(BpmnExportPlugin.java:78)
    ... 13 more
Caused by: java.awt.HeadlessException:
No X11 DISPLAY variable was set, but this program performed an operation which requires it.
    at sun.java2d.HeadlessGraphicsEnvironment.getDefaultScreenDevice(HeadlessGraphicsEnvironment.java:77)
    at com.fluxicon.slickerbox.util.GraphicsUtilities.<clinit>(GraphicsUtilities.java:80)
    ... 26 more
Can anyone help me with this issue, please?

Best regards.

Comments

  • NiceNickNiceNick Posts: 20
    edited June 2018
    Does anyone have an idea how to fix this? I've tried X11 Forwarding, VNC server and about everything I can find on this topic and nothing works.

    Best regards.
    Post edited by NiceNick on
  • hverbeekhverbeek Posts: 313
    HI,

    You can try to provide the BPMN export plug-in a null context instead of your regular CLI context. If provided a regular context, this plug-in will try to visualize a BPMN diagram to obtain graphical information like positions and such. This visualization throws an exception in your case, so you want to avoid it. If provided a null context, it will avoid it. Of course, there will then be no positions and such in the exported BPMN file.

    Kind regards,

    Eric.
  • NiceNickNiceNick Posts: 20
    Thanks for your answer hverbeek!
    It helped me a lot.
Sign In or Register to comment.