Actions
bug #8696
openehcahe discstore conflict when using the taxeditor with multiple users on the same system
Start date:
Due date:
% Done:
0%
Estimated time:
Severity:
normal
Found in Version:
Description
The diskstore must be created in user specific subfolders of the system temp folder.
We should consider creating also timestamped subfolders or ehcache diskstore folders to avoid problems with multiple Taxeditor instances being run be the same user.
login : admin editor version : 5.11.0 server : api.cybertaxonomy.org (cybertaxonomy.org) / cichorieae schema version : 5.11.2.0.20191109 os : Linux 5.0.0-32-generic amd64 java : 1.8.0_131 org.eclipse.swt.SWTException: Failed to execute runnable (net.sf.ehcache.CacheException: java.io.FileNotFoundException: /tmp/cdm%0044efault%0043ache.data (Permission denied)) at org.eclipse.swt.SWT.error(SWT.java:4533) at org.eclipse.swt.SWT.error(SWT.java:4448) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:185) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4536) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4154) at org.eclipse.jface.operation.ModalContext$ModalContextThread.block(ModalContext.java:165) at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:369) at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:481) at eu.etaxonomy.taxeditor.store.CdmStoreConnector.start(CdmStoreConnector.java:147) at eu.etaxonomy.taxeditor.store.CdmStore.connect(CdmStore.java:261) at eu.etaxonomy.taxeditor.store.CdmStore.connect(CdmStore.java:216) at eu.etaxonomy.taxeditor.ui.dialog.RemotingLoginDialog.connect(RemotingLoginDialog.java:914) at eu.etaxonomy.taxeditor.ui.dialog.RemotingLoginDialog.access$16(RemotingLoginDialog.java:900) at eu.etaxonomy.taxeditor.ui.dialog.RemotingLoginDialog$11$1.run(RemotingLoginDialog.java:663) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:182) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4536) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4154) at eu.etaxonomy.taxeditor.ui.dialog.RemotingLoginDialog.open(RemotingLoginDialog.java:214) at eu.etaxonomy.taxeditor.ui.dialog.RemotingLoginDialog.open(RemotingLoginDialog.java:189) at eu.etaxonomy.taxeditor.ui.dialog.RemotingLoginDialog.open(RemotingLoginDialog.java:180) at eu.etaxonomy.taxeditor.handler.e4.ReconnectHandlerE4.execute(ReconnectHandlerE4.java:41) 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.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:55) at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:282) at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:264) at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132) at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:152) at org.eclipse.core.commands.Command.executeWithChecks(Command.java:494) at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:488) at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:210) at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.executeItem(HandledContributionItem.java:433) at org.eclipse.e4.ui.workbench.renderers.swt.AbstractContributionItem.handleWidgetSelection(AbstractContributionItem.java:454) at org.eclipse.e4.ui.workbench.renderers.swt.AbstractContributionItem$3.handleEvent(AbstractContributionItem.java:482) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5227) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1340) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4561) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4151) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1121) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1022) at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:150) at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:693) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:610) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148) at eu.etaxonomy.taxeditor.Application.start(Application.java:24) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243) 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.eclipse.equinox.launcher.Main.invokeFramework(Main.java:673) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:610) at org.eclipse.equinox.launcher.Main.run(Main.java:1519) at org.eclipse.equinox.launcher.Main.main(Main.java:1492) Caused by: net.sf.ehcache.CacheException: java.io.FileNotFoundException: /tmp/cdm%0044efault%0043ache.data (Permission denied) at net.sf.ehcache.store.disk.DiskStorageFactory.<init>(DiskStorageFactory.java:144) at net.sf.ehcache.store.disk.DiskStore.create(DiskStore.java:134) at net.sf.ehcache.store.DiskBackedMemoryStore.createDiskStore(DiskBackedMemoryStore.java:61) at net.sf.ehcache.store.DiskBackedMemoryStore.create(DiskBackedMemoryStore.java:49) at net.sf.ehcache.Cache.initialise(Cache.java:1097) at net.sf.ehcache.CacheManager.initializeEhcache(CacheManager.java:1306) at net.sf.ehcache.CacheManager.addCacheNoCheck(CacheManager.java:1337) at net.sf.ehcache.CacheManager.addCache(CacheManager.java:1235) at net.sf.ehcache.CacheManager.addCache(CacheManager.java:1177) at eu.etaxonomy.cdm.api.cache.CdmCacher.getDefaultCache(CdmCacher.java:95) at eu.etaxonomy.cdm.api.cache.CdmCacher.getCacheElement(CdmCacher.java:114) at eu.etaxonomy.cdm.api.cache.CdmCacher.load(CdmCacher.java:127) at eu.etaxonomy.cdm.model.term.DefinedTermBase.getTermByClassAndUUID_aroundBody20(DefinedTermBase.java:562) at eu.etaxonomy.cdm.model.term.DefinedTermBase.getTermByClassAndUUID(DefinedTermBase.java:1) at eu.etaxonomy.cdm.model.name.Rank.getTermByUuid(Rank.java:227) at eu.etaxonomy.cdm.model.name.Rank.initDefaultTerms_aroundBody174(Rank.java:1013) at eu.etaxonomy.cdm.model.name.Rank.initDefaultTerms(Rank.java:1) at eu.etaxonomy.taxeditor.store.CdmStoreConnector$1$2.run(CdmStoreConnector.java:211) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:182) ... 61 more Caused by: java.io.FileNotFoundException: /tmp/cdm%0044efault%0043ache.data (Permission denied) at java.io.RandomAccessFile.open0(Native Method) at java.io.RandomAccessFile.open(RandomAccessFile.java:316) at java.io.RandomAccessFile.<init>(RandomAccessFile.java:243) at net.sf.ehcache.store.disk.DiskStorageFactory.allocateRandomAccessFiles(DiskStorageFactory.java:206) at net.sf.ehcache.store.disk.DiskStorageFactory.<init>(DiskStorageFactory.java:142) ... 80 more
Actions