Hi guys,
I'm trying to use XESame19 for the example in Buijs's master thesis. But when running the example, I get the following exception at Step 5 of 5 Converting CacheDB to XES:
2022-03-07 16:38:22: (PROGRESS) Starting step 1 of 5: initialization.
2022-03-07 16:38:28: (PROGRESS) Starting step 2 of 5: Extracting log info.
2022-03-07 16:38:28: (DEBUG) We are about to run the following query to extract the items for Log:
SELECT 'TestLog' AS concept_name, 'standard' AS lifecycle_model FROM events AS events
2022-03-07 16:38:29: (PROGRESS) Starting step 3 of 5: Extracting traces.
2022-03-07 16:38:29: (DEBUG) We are about to run the following query to extract the items for Trace:
SELECT DISTINCT orderID AS traceID, 'order' & orderID AS concept_name FROM events AS events WHERE orderID < 100
2022-03-07 16:38:29: (PROGRESS) Starting step 4 of 5: Extracting Event: Generated Event.
2022-03-07 16:38:29: (DEBUG) We are about to run the following query to extract the items for Event: Generated Event:
SELECT orderID AS traceID, timestamp AS orderAttribute, eventname AS concept_name, eventType AS lifecycle_transition, users.userName AS org_resource, users.userGroup AS org_group, users.userRole AS org_role, timestamp AS time_timestamp, "New!" AS New_Attribute FROM events AS events INNER JOIN users AS users ON users.userID = events.userID
2022-03-07 16:38:29: (PROGRESS) Starting step 5 of 5: Converting Cache DB to XES.
Exception in thread "Thread-0" java.lang.NoClassDefFoundError: org/mapdb/DBException$FileLocked
at org.xeslite.external.XFactoryExternalStore$MapDBDiskImpl.<init>(XFactoryExternalStore.java:77)
at org.xeslite.external.XFactoryExternalStore$MapDBDiskSequentialAccessImpl.<init>(XFactoryExternalStore.java:183)
at org.processmining.xeslite.external.XFactoryExternalStore$MapDBDiskSequentialAccessImpl.<init>(XFactoryExternalStore.java:15)
at org.processmining.mapper.controller.ExecutionController.convertDBtoXES(ExecutionController.java:1564)
at org.processmining.mapper.controller.ExecutionController.run(ExecutionController.java:755)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.ClassNotFoundException: org.mapdb.DBException$FileLocked
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
By the way, it seems that I cannot change CacheDB location because of the following exception:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at org.processmining.mapper.controller.MappingController.setCacheLocation(MappingController.java:781)
at org.processmining.mapper.ui.browsers.ExecutionSettingsBrowser$2.actionPerformed(ExecutionSettingsBrowser.java:341)
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)
at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)
at java.desktop/java.awt.Component.processMouseEvent(Component.java:6635)
at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)
at java.desktop/java.awt.Component.processEvent(Component.java:6400)
at java.desktop/java.awt.Container.processEvent(Container.java:2263)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5011)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4843)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4843)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
I'm using Windows 10 64 bit.
I'm not sure if this is a bug or I'm doing something wrong. Maybe someone can help me. Thanks!
Li
Comments
Is the location set for the cacheDB an existing folder? It seems as if the cacheDB is correctly filled but when the cacheDB is queried the exception is raised.
Senior Data Scientist and process mining expert at APG (Dutch pension fund executor).
Previously Assistant Professor in Process Mining at Eindhoven University of Technology
The locations set for the cacheDB is the default folder F:\ProM\prom-6.9-all-platforms\cacheDB, and it seems that I cannot change the cacheDB location, cuz this will raise an exception.
If this doesn't work then I'm afraid I'm out of ideas for now (too long ago). You might want to browse the forums to see if this is a known issue.
Senior Data Scientist and process mining expert at APG (Dutch pension fund executor).
Previously Assistant Professor in Process Mining at Eindhoven University of Technology
Thanks for your reply. I tried the admin mode but it didn't work.
It seems to me that the cacheDB is correctly created but things go wrong when it is converted to XES. If so, do you know where can I find the cacheDB? Is it in the cacheDB/seg0 file? Cuz I found there several .dat files created after running XESame but do not know how to open them, is there a way to view the cacheDB like a csv table? Thanks a lot!
The CacheDB is not like a CSV file, it is a proper file-based database. Not sure which type, but it had a Java library to read/write it.
As it is created, the step where it fails tries to read from the CacheDB, so not sure where/why it fails exactly.
Senior Data Scientist and process mining expert at APG (Dutch pension fund executor).
Previously Assistant Professor in Process Mining at Eindhoven University of Technology
Thanks for your quick reply. I changed to XESame 1.5.1 but got another exception at step 5:
Do you know anything about this exception? May something wrong with my running environment (I'm using Windows 10 64 bit, Java 11)?
Thanks for letting us know. Apparently, to use XESame successfully:
- it is best to use XESame 1.5.1, which is part of ProM 6.5.1, and
- if using Java 9 or later, one needs to install these two JAXB-related jar files.
Kind regards,Senior Data Scientist and process mining expert at APG (Dutch pension fund executor).
Previously Assistant Professor in Process Mining at Eindhoven University of Technology