Edit Page Error - Error number 13007 in 3: Exception while loading lock

We have a page that every time we try to it, we get the following error (the save still occurs, FYI):

Detailed information:
    Error number 13007 in 3: Exception while loading lock
com.xpn.xwiki.XWikiException: Error number 13007 in 3: Exception while loading lock
	at com.xpn.xwiki.store.XWikiHibernateStore.loadLock(XWikiHibernateStore.java:1844)
	at com.xpn.xwiki.store.XWikiCacheStore.loadLock(XWikiCacheStore.java:594)
	at com.xpn.xwiki.doc.XWikiDocument.removeLock(XWikiDocument.java:6774)
	at com.xpn.xwiki.web.SaveAction.save(SaveAction.java:217)
	at com.xpn.xwiki.web.SaveAction.action(SaveAction.java:232)
	at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:472)
	at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:210)
	at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:425)
	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228)
	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:661)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at com.xpn.xwiki.web.ActionFilter.doFilter(ActionFilter.java:112)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.xwiki.wysiwyg.filter.ConversionFilter.doFilter(ConversionFilter.java:109)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.xwiki.container.servlet.filters.internal.SavedRequestRestorerFilter.doFilter(SavedRequestRestorerFilter.java:208)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.xwiki.container.servlet.filters.internal.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:111)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:728)
	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:467)
	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:392)
	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:311)
	at com.xpn.xwiki.web.ActionFilter.doFilter(ActionFilter.java:102)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.xwiki.wysiwyg.filter.ConversionFilter.doFilter(ConversionFilter.java:106)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.xwiki.container.servlet.filters.internal.SetHTTPHeaderFilter.doFilter(SetHTTPHeaderFilter.java:63)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.xwiki.container.servlet.filters.internal.SavedRequestRestorerFilter.doFilter(SavedRequestRestorerFilter.java:208)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.xwiki.container.servlet.filters.internal.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:111)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.xwiki.resource.servlet.RoutingFilter.doFilter(RoutingFilter.java:132)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:595)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80)
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:799)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1457)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:748)
Caused by: org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session: [com.xpn.xwiki.doc.XWikiLock#-1275626388294341163]
	at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:238)
	at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:285)
	at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:152)
	at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:1090)
	at org.hibernate.impl.SessionImpl.load(SessionImpl.java:974)
	at com.xpn.xwiki.store.XWikiHibernateStore.loadLock(XWikiHibernateStore.java:1837)
	... 65 more

So you save, this calls the SaveAction, this saves the current doc and releases the lock for it. The problem happens during releasing the lock. But I don’t know why. It just means that in the current Hibernate session, the docid is already involved in some query.

Does it happen all the time?

If not, it could be caused by several users doing something on the same doc (some editing it while others are saving it). I don’t know if that’s possible but if it were, you could see something like this.

What version of XWiki is this on?

11.1

Happens every time. We only have 3 users and I’m sure they were not using the wiki at all at least one some of these occasions (I was just saving to test it).

This does not happen for other pages? Maybe there is some special macro that causes some “SaveAction” event listener to do odd stuff (like saving the same page before it is saved by the main action). Or is the page part of a certain application?

Not that we have seen, only this one page. No special application, we just use “pain wiki”, other than a few macros (TOC, etc.)

Which database are you using? Can you check if there is a “unique” constraint on the table xwikidoc column XWL_DOC_ID. Is an entry existing for the id in the error message, like:

select * from xwikidoc where XWL_DOC_ID=-1275626388294341163

MySQL

The table xwikidoc does not have a column named XWL_DOC_ID and no unique constraints:

CREATE TABLE xwikidoc (
XWD_ID BIGINT(20) NOT NULL,
XWD_FULLNAME VARCHAR(255) NOT NULL COLLATE ‘utf8_bin’,
XWD_NAME VARCHAR(255) NOT NULL COLLATE ‘utf8_bin’,
XWD_TITLE VARCHAR(255) NOT NULL COLLATE ‘utf8_bin’,
XWD_LANGUAGE VARCHAR(5) NULL DEFAULT NULL COLLATE ‘utf8_bin’,
XWD_DEFAULT_LANGUAGE VARCHAR(5) NULL DEFAULT NULL COLLATE ‘utf8_bin’,
XWD_TRANSLATION INT(11) NOT NULL,
XWD_DATE DATETIME NOT NULL,
XWD_CONTENT_UPDATE_DATE DATETIME NOT NULL,
XWD_CREATION_DATE DATETIME NOT NULL,
XWD_AUTHOR VARCHAR(255) NOT NULL COLLATE ‘utf8_bin’,
XWD_CONTENT_AUTHOR VARCHAR(255) NOT NULL COLLATE ‘utf8_bin’,
XWD_CREATOR VARCHAR(255) NOT NULL COLLATE ‘utf8_bin’,
XWD_WEB VARCHAR(255) NOT NULL COLLATE ‘utf8_bin’,
XWD_CONTENT LONGTEXT NOT NULL COLLATE ‘utf8_bin’,
XWD_VERSION VARCHAR(255) NOT NULL COLLATE ‘utf8_bin’,
XWD_CUSTOM_CLASS VARCHAR(255) NOT NULL COLLATE ‘utf8_bin’,
XWD_PARENT VARCHAR(511) NOT NULL COLLATE ‘utf8_bin’,
XWD_CLASS_XML LONGTEXT NULL COLLATE ‘utf8_bin’,
XWD_ELEMENTS INT(11) NOT NULL,
XWD_DEFAULT_TEMPLATE VARCHAR(255) NOT NULL COLLATE ‘utf8_bin’,
XWD_VALIDATION_SCRIPT VARCHAR(255) NOT NULL COLLATE ‘utf8_bin’,
XWD_COMMENT VARCHAR(1023) NOT NULL COLLATE ‘utf8_bin’,
XWD_MINOREDIT BIT(1) NOT NULL,
XWD_SYNTAX_ID VARCHAR(50) NULL DEFAULT NULL COLLATE ‘utf8_bin’,
XWD_HIDDEN BIT(1) NOT NULL,
PRIMARY KEY (XWD_ID),
INDEX DOC_NAME (XWD_NAME),
INDEX DOC_CREATION_DATE (XWD_CREATION_DATE),
INDEX DOC_CONTENT_UPDATE_DATE (XWD_CONTENT_UPDATE_DATE),
INDEX DOC_CREATOR (XWD_CREATOR),
INDEX DOC_TITLE (XWD_TITLE),
INDEX DOC_SPACE (XWD_WEB),
INDEX DOC_MINOREDIT (XWD_MINOREDIT),
INDEX DOC_DEFAULT_LANGUAGE (XWD_DEFAULT_LANGUAGE),
INDEX DOC_AUTHOR (XWD_AUTHOR),
INDEX DOC_CONTENT_AUTHOR (XWD_CONTENT_AUTHOR),
INDEX DOC_FULLNAME (XWD_FULLNAME),
INDEX DOC_LANGUAGE (XWD_LANGUAGE),
INDEX DOC_DATE (XWD_DATE),
INDEX DOC_HIDDEN (XWD_HIDDEN),
INDEX xwd_parent (XWD_PARENT(50)),
INDEX xwd_class_xml (XWD_CLASS_XML(20)),
INDEX DOC_TRANSLATION (XWD_TRANSLATION)
)
COLLATE=‘utf8_bin’
ENGINE=InnoDB
;

Yes, there is an entry for that value if I use XWD_ID:

select * from xwikidoc where XWD_ID=-1275626388294341163
image

Oops, I did not mean to write xwikidoc (but I did) - that is indeed the main table to keep the information about the wiki pages.

What I meant was the table xwikilock. This might contain the “locks” for the pages, and maybe there is a stale lock hanging around.

Yes, there is an entry:

image

If I refresh the page, the xwikilock entry is deleted, but then I try to save it again, same issue occurs.

Well, now it the entry is not removed no matter what I do. I manually deleted it, same problem.

The entry should only be there if someone currently has the page open for editing. It should get deleted as soon as the editor is left (via “Save” or “Cancel”). The timestamp (the XWL_DATE) looks a bit odd for me, unless the clock on the server is a bit behind.

I thought maybe there is some second “ghost” entry around, but if that entry vanishes and soon as the editor is closed, then everything is fine from the database point of view; i.e. there must be another source for the error message.

I’ve got the same issue right now but I’m not sure how to solve it. I’ll take a look at the MariaDB. Is there anything else I can look at to provide more useful information?

Detailierte Information:
    Error number 13007 in 3: Exception while loading lock
com.xpn.xwiki.XWikiException: Error number 13007 in 3: Exception while loading lock
	at com.xpn.xwiki.store.XWikiHibernateStore.loadLock(XWikiHibernateStore.java:1844)
	at com.xpn.xwiki.store.XWikiCacheStore.loadLock(XWikiCacheStore.java:594)
	at com.xpn.xwiki.doc.XWikiDocument.removeLock(XWikiDocument.java:6774)
	at com.xpn.xwiki.web.SaveAction.save(SaveAction.java:217)
	at com.xpn.xwiki.web.SaveAction.action(SaveAction.java:232)
	at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:472)
	at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:210)
	at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:425)
	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228)
	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:661)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at com.xpn.xwiki.web.ActionFilter.doFilter(ActionFilter.java:112)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.xwiki.wysiwyg.filter.ConversionFilter.doFilter(ConversionFilter.java:109)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.xwiki.container.servlet.filters.internal.SavedRequestRestorerFilter.doFilter(SavedRequestRestorerFilter.java:208)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.xwiki.container.servlet.filters.internal.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:111)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:728)
	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:467)
	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:392)
	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:311)
	at com.xpn.xwiki.web.ActionFilter.doFilter(ActionFilter.java:102)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.xwiki.wysiwyg.filter.ConversionFilter.doFilter(ConversionFilter.java:106)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.xwiki.container.servlet.filters.internal.SetHTTPHeaderFilter.doFilter(SetHTTPHeaderFilter.java:63)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.xwiki.container.servlet.filters.internal.SavedRequestRestorerFilter.doFilter(SavedRequestRestorerFilter.java:208)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.xwiki.container.servlet.filters.internal.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:111)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.xwiki.resource.servlet.RoutingFilter.doFilter(RoutingFilter.java:132)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:470)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80)
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:624)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:799)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:861)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1458)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:748)
Caused by: org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session: [com.xpn.xwiki.doc.XWikiLock#3906721010564700566]
	at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:238)
	at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:285)
	at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:152)
	at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:1090)
	at org.hibernate.impl.SessionImpl.load(SessionImpl.java:974)
	at com.xpn.xwiki.store.XWikiHibernateStore.loadLock(XWikiHibernateStore.java:1837)
	... 71 more

I’ve manually deleted the entry inside the DB but as soon as I save my changes I get the error again and the lock entry in the database gets created and stays there until I manually delete it. :frowning:

1 Like

Ok, now I am getting this on a different page. Changes are saved, but same error.

@laurin1 I wanted to give you a tool to run locally on your XWiki instance so that we could know more. There’s a nice tool called Byteman that can be used to augment/modify the XWiki source code and get internal information. There’s a tutorial for setting it up at https://dev.xwiki.org/xwiki/bin/view/Community/Debugging#HUsingByteman

I’ve created 3 rules at https://dev.xwiki.org/xwiki/bin/view/Community/Debugging#HExample2 for logging the calls to getLock, setLock and removeLock.

While running it locally, I was surprised that there are so may calls:

// Edit
get lock for doc = [Sandbox.WebHome]
set lock for user [XWiki.Admin], doc = [Sandbox.WebHome]
get lock for doc = [Sandbox.WebHome]
get lock for doc = [Sandbox.WebHome]
set lock for user [XWiki.Admin], doc = [Sandbox.WebHome]

// Save
get lock for doc = [Sandbox.WebHome]
remove lock for doc = [Sandbox.WebHome]
get lock for doc = [Sandbox.WebHome]

I don’t know if that’s correct or not but it seems a lot at first sight. It’s probably not the issue you’re seeing but I thought I would share.

Maybe someone has more ideas?

1 Like

Ok, I must have not tested thoroughly when this first started happening. This issue is occurring for all users and all pages.

Those directions appear to be for Linux, and I’m running this on Windows Server 2008 R2 x64. I looked at the directions for that application, https://developer.jboss.org/wiki/ABytemanTutorial?_sscc=t#top, and I don’t see a Windows replacement for this command:

sh bminstall.sh -b -Dorg.jboss.byteman.transform.all jetty/start.jar

There should be a bminstall.bat file.

I can’t get it to work. I did this:

set BYTEMAN_HOME=c:\byteman
bminstall.bat -b -Dorg.jboss.byteman.transform.all jetty/start.jar

But I get an exception thrown:

C:\byteman\bin>bminstall.bat -b -Dorg.jboss.byteman.transform.all jetty/start.ja
r
Error: A JNI error has occurred, please check your installation and try again
Exception in thread “main” java.lang.NoClassDefFoundError: com/sun/tools/attach/
AttachNotSupportedException
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
at java.lang.Class.privateGetMethodRecursive(Class.java:3048)
at java.lang.Class.getMethod0(Class.java:3018)
at java.lang.Class.getMethod(Class.java:1784)
at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544
)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526)

Caused by: java.lang.ClassNotFoundException: com.sun.tools.attach.AttachNotSuppo
rtedException
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
… 7 more