Project

General

Profile

Actions

bug #9358

open

OptionalDataException during HTTP invoker call

Added by Andreas Müller about 3 years ago. Updated over 1 year ago.

Status:
New
Priority:
New
Assignee:
Category:
taxeditor
Target version:
Start date:
Due date:
% Done:

0%

Estimated time:
Severity:
normal
Found in Version:

Description

Note: first issue to solve is catching the exception client side as explained in comment 6 => #9629

The bug in comment 1 appeared multiple times for ERS when editing taxa.

After some analyzes it appears that it is thrown client side as the following lines

at eu.etaxonomy.cdm.cache.CdmTransientEntityCacher.load(CdmTransientEntityCacher.java:165)
at eu.etaxonomy.taxeditor.session.CdmEntitySession.load(CdmEntitySession.java:65)
at eu.etaxonomy.taxeditor.session.CdmEntitySessionManager.load(CdmEntitySessionManager.java:119)
at org.springframework.remoting.httpinvoker.CachingHttpInvokerProxyFactoryBean.handleGeneralRequest(CachingHttpInvokerProxyFactoryBean.java:100)

suggest, though the main exception suggests it is a http invoker exception and therefore server side. It looks like the call returned already but when calling the CdmEntitySessionManager to cache the entities the exception appears.

A reason might be that there wasn't enough disc space left for the ehcach on the local machine. So maybe we have to have a look on the ehcache disc space handling. Something similar was reported for working by the character matrix by Tilo some time ago. But it does not seem to be a general disk space issue as in a later case (related to #9629) ERS had 112GB free disk space.

Another reason could be that ehcach library version was updated during the last release and maybe there is some problem related.

===

A sub issue of this task might be to have a look at the distribution loading. The stacktrace in comment 3 appeared multiple times. It seems like lazy loading needs to run for all NamedAreas of the distributions and therefore distributions including areas should be initialized from the beginning or within 1 call.

Note: though the exception appeared often when loading distribution data it also happened in other contexts.


Related issues

Related to EDIT - bug #9629: Better handling of OptionalDataException In ProgressKatja Luther

Actions
Related to EDIT - bug #9820: OptionalDataException when saving character matrixNewKatja Luther

Actions
Actions #1

Updated by Andreas Müller about 3 years ago

last remote method : http://api.cybertaxonomy.org:80/euromed/remoting/common.service
last remote request client time : 2020-12-16T16:25:28.866
last remote request response header time : Wed, 16 Dec 2020 16:25:28 GMT
client error time : 2020-12-16T16:25:28.944
login : e.raabstraube
editor version : 5.18.0
server : api.cybertaxonomy.org (cybertaxonomy.org) / euromed
schema version : 5.18.6.0.20201124
os : Windows 7 6.1 amd64
java : 1.8.0_231
org.eclipse.swt.SWTException: Failed to execute runnable (org.springframework.remoting.RemoteAccessException: Could not access HTTP invoker remote service at [http://api.cybertaxonomy.org:80/euromed/remoting/common.service]; nested exception is net.sf.ehcache.CacheException: java.io.OptionalDataException)
                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:4211)
                at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3827)
                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:20)
                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(Unknown Source)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                at java.lang.reflect.Method.invoke(Unknown Source)
                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)
Caused by: org.springframework.remoting.RemoteAccessException: Could not access HTTP invoker remote service at [http://api.cybertaxonomy.org:80/euromed/remoting/common.service]; nested exception is net.sf.ehcache.CacheException: java.io.OptionalDataException
                at org.springframework.remoting.httpinvoker.HttpInvokerClientInterceptor.convertHttpInvokerAccessException(HttpInvokerClientInterceptor.java:226)
                at org.springframework.remoting.httpinvoker.HttpInvokerClientInterceptor.invoke(HttpInvokerClientInterceptor.java:153)
                at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
                at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
                at com.sun.proxy.$Proxy46.find(Unknown Source)
                at eu.etaxonomy.taxeditor.service.CachedCommonServiceImpl.find(CachedCommonServiceImpl.java:40)
                at org.hibernate.proxy.AbstractLazyInitializer.remoteInitialize(AbstractLazyInitializer.java:451)
                at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:167)
                at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:297)
                at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:73)
                at eu.etaxonomy.cdm.model.location.NamedAreaLevel_$$_jvst50d_8.getPreferredRepresentation(NamedAreaLevel_$$_jvst50d_8.java)
                at eu.etaxonomy.cdm.model.location.NamedArea.labelWithLevel_aroundBody78(NamedArea.java:795)
                at eu.etaxonomy.cdm.model.location.NamedArea.labelWithLevel(NamedArea.java:1)
                at eu.etaxonomy.taxeditor.model.DescriptionHelper.getDistributionText(DescriptionHelper.java:558)
                at eu.etaxonomy.taxeditor.model.DescriptionHelper.getLabel(DescriptionHelper.java:663)
                at eu.etaxonomy.taxeditor.model.FeatureNodeContainerTree$1.compare(FeatureNodeContainerTree.java:42)
                at eu.etaxonomy.taxeditor.model.FeatureNodeContainerTree$1.compare(FeatureNodeContainerTree.java:1)
                at java.util.TimSort.countRunAndMakeAscending(Unknown Source)
                at java.util.TimSort.sort(Unknown Source)
                at java.util.Arrays.sort(Unknown Source)
                at java.util.ArrayList.sort(Unknown Source)
                at java.util.Collections.sort(Unknown Source)
                at eu.etaxonomy.taxeditor.model.FeatureNodeContainerTree.getDescriptionsElementsForFeature(FeatureNodeContainerTree.java:118)
                at eu.etaxonomy.taxeditor.model.FeatureNodeContainer.buildLeaf(FeatureNodeContainer.java:93)
                at eu.etaxonomy.taxeditor.model.FeatureNodeContainer.findLeaves(FeatureNodeContainer.java:68)
                at eu.etaxonomy.taxeditor.model.FeatureNodeContainerTree.buildTree(FeatureNodeContainerTree.java:74)
                at eu.etaxonomy.taxeditor.model.FeatureNodeContainerTree.<init>(FeatureNodeContainerTree.java:62)
                at eu.etaxonomy.taxeditor.editor.view.descriptive.DescriptiveContentProvider.getContainerTreeForDesription(DescriptiveContentProvider.java:151)
                at eu.etaxonomy.taxeditor.editor.view.descriptive.DescriptiveContentProvider.getChildren(DescriptiveContentProvider.java:68)
                at eu.etaxonomy.taxeditor.editor.view.descriptive.DescriptiveContentProvider.hasChildren(DescriptiveContentProvider.java:167)
                at org.eclipse.jface.viewers.AbstractTreeViewer.isExpandable(AbstractTreeViewer.java:2136)
                at org.eclipse.jface.viewers.TreeViewer.isExpandable(TreeViewer.java:538)
                at org.eclipse.jface.viewers.AbstractTreeViewer.isExpandable(AbstractTreeViewer.java:2166)
                at org.eclipse.jface.viewers.AbstractTreeViewer.updatePlus(AbstractTreeViewer.java:2849)
                at org.eclipse.jface.viewers.TreeViewer.updatePlus(TreeViewer.java:786)
                at org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem(AbstractTreeViewer.java:844)
                at org.eclipse.jface.viewers.AbstractTreeViewer.lambda$0(AbstractTreeViewer.java:820)
                at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
                at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:795)
                at org.eclipse.jface.viewers.TreeViewer.createChildren(TreeViewer.java:596)
                at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:766)
                at org.eclipse.jface.viewers.AbstractTreeViewer.internalInitializeTree(AbstractTreeViewer.java:1538)
                at org.eclipse.jface.viewers.TreeViewer.internalInitializeTree(TreeViewer.java:772)
                at org.eclipse.jface.viewers.AbstractTreeViewer.lambda$1(AbstractTreeViewer.java:1523)
                at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1458)
                at org.eclipse.jface.viewers.TreeViewer.preservingSelection(TreeViewer.java:354)
                at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1419)
                at org.eclipse.jface.viewers.AbstractTreeViewer.inputChanged(AbstractTreeViewer.java:1517)
                at org.eclipse.jface.viewers.ContentViewer.setInput(ContentViewer.java:286)
                at org.eclipse.jface.viewers.StructuredViewer.setInput(StructuredViewer.java:1696)
                at eu.etaxonomy.taxeditor.view.e4.AbstractCdmEditorPartE4.showViewer(AbstractCdmEditorPartE4.java:289)
                at eu.etaxonomy.taxeditor.editor.view.descriptive.e4.FactualDataPartE4.showViewer(FactualDataPartE4.java:296)
                at eu.etaxonomy.taxeditor.editor.view.descriptive.e4.FactualDataPartE4.selectionChanged_internal(FactualDataPartE4.java:175)
                at eu.etaxonomy.taxeditor.view.e4.AbstractCdmEditorPartE4$DelaySelection.run(AbstractCdmEditorPartE4.java:93)
                at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
                at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:182)
                ... 23 more
Caused by: net.sf.ehcache.CacheException: java.io.OptionalDataException
                at net.sf.ehcache.store.disk.DiskStorageFactory.retrieve(DiskStorageFactory.java:891)
                at net.sf.ehcache.store.disk.Segment.decodeHit(Segment.java:182)
                at net.sf.ehcache.store.disk.Segment.get(Segment.java:225)
                at net.sf.ehcache.store.disk.DiskStore.fault(DiskStore.java:210)
                at net.sf.ehcache.store.CacheStore$4.call(CacheStore.java:198)
                at net.sf.ehcache.store.CacheStore$4.call(CacheStore.java:192)
                at net.sf.ehcache.store.cachingtier.OnHeapCachingTier$Fault.get(OnHeapCachingTier.java:335)
                at net.sf.ehcache.store.cachingtier.OnHeapCachingTier$Fault.access$200(OnHeapCachingTier.java:312)
                at net.sf.ehcache.store.cachingtier.OnHeapCachingTier.get(OnHeapCachingTier.java:176)
                at net.sf.ehcache.store.CacheStore.get(CacheStore.java:192)
                at net.sf.ehcache.Cache.get(Cache.java:1749)
                at net.sf.ehcache.Cache.get(Cache.java:1722)
                at eu.etaxonomy.cdm.api.cache.CdmCacherBase.getCacheElement(CdmCacherBase.java:105)
                at eu.etaxonomy.cdm.api.cache.CdmCacherBase.getFromCache(CdmCacherBase.java:140)
                at eu.etaxonomy.cdm.cache.CdmTransientEntityCacher.getFromCache(CdmTransientEntityCacher.java:298)
                at eu.etaxonomy.cdm.cache.CacheLoader.load(CacheLoader.java:248)
                at eu.etaxonomy.cdm.cache.CacheLoader.load(CacheLoader.java:62)
                at eu.etaxonomy.cdm.cache.CdmTransientEntityCacher.load(CdmTransientEntityCacher.java:165)
                at eu.etaxonomy.taxeditor.session.CdmEntitySession.load(CdmEntitySession.java:65)
                at eu.etaxonomy.taxeditor.session.CdmEntitySessionManager.load(CdmEntitySessionManager.java:119)
                at org.springframework.remoting.httpinvoker.CachingHttpInvokerProxyFactoryBean.handleGeneralRequest(CachingHttpInvokerProxyFactoryBean.java:100)
                at org.springframework.remoting.httpinvoker.CachingHttpInvokerProxyFactoryBean.executeRequest(CachingHttpInvokerProxyFactoryBean.java:81)
                at org.springframework.remoting.httpinvoker.HttpInvokerClientInterceptor.invoke(HttpInvokerClientInterceptor.java:150)
                ... 77 more
Caused by: java.io.OptionalDataException
                at java.io.ObjectInputStream.readObject0(Unknown Source)
                at java.io.ObjectInputStream.readObject(Unknown Source)
                at java.util.HashSet.readObject(Unknown Source)
                at sun.reflect.GeneratedMethodAccessor33.invoke(Unknown Source)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                at java.lang.reflect.Method.invoke(Unknown Source)
                at java.io.ObjectStreamClass.invokeReadObject(Unknown Source)
                at java.io.ObjectInputStream.readSerialData(Unknown Source)
                at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
                at java.io.ObjectInputStream.readObject0(Unknown Source)
                at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
                at java.io.ObjectInputStream.readSerialData(Unknown Source)
                at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
                at java.io.ObjectInputStream.readObject0(Unknown Source)
                at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
                at java.io.ObjectInputStream.defaultReadObject(Unknown Source)
                at net.sf.ehcache.Element.readObject(Element.java:885)
                at sun.reflect.GeneratedMethodAccessor77.invoke(Unknown Source)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                at java.lang.reflect.Method.invoke(Unknown Source)
                at java.io.ObjectStreamClass.invokeReadObject(Unknown Source)
                at java.io.ObjectInputStream.readSerialData(Unknown Source)
                at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
                at java.io.ObjectInputStream.readObject0(Unknown Source)
                at java.io.ObjectInputStream.readObject(Unknown Source)
                at net.sf.ehcache.store.disk.DiskStorageFactory.read(DiskStorageFactory.java:371)
                at net.sf.ehcache.store.disk.DiskStorageFactory.retrieve(DiskStorageFactory.java:887)
                ... 99 more
Actions #2

Updated by Andreas Müller about 3 years ago

  • Description updated (diff)
Actions #3

Updated by Andreas Müller about 3 years ago

  • Description updated (diff)

Lazy initializing distributions.

                at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:73)
                at eu.etaxonomy.cdm.model.location.NamedAreaLevel_$$_jvst50d_8.getPreferredRepresentation(NamedAreaLevel_$$_jvst50d_8.java)
                at eu.etaxonomy.cdm.model.location.NamedArea.labelWithLevel_aroundBody78(NamedArea.java:795)
                at eu.etaxonomy.cdm.model.location.NamedArea.labelWithLevel(NamedArea.java:1)
                at eu.etaxonomy.taxeditor.model.DescriptionHelper.getDistributionText(DescriptionHelper.java:558)
                at eu.etaxonomy.taxeditor.model.DescriptionHelper.getLabel(DescriptionHelper.java:663)
                at eu.etaxonomy.taxeditor.model.FeatureNodeContainerTree$1.compare(FeatureNodeContainerTree.java:42)
                at eu.etaxonomy.taxeditor.model.FeatureNodeContainerTree$1.compare(FeatureNodeContainerTree.java:1)
                at java.util.TimSort.countRunAndMakeAscending(Unknown Source)
                at java.util.TimSort.sort(Unknown Source)
                at java.util.Arrays.sort(Unknown Source)
                at java.util.ArrayList.sort(Unknown Source)
                at java.util.Collections.sort(Unknown Source)
                at eu.etaxonomy.taxeditor.model.FeatureNodeContainerTree.getDescriptionsElementsForFeature(FeatureNodeContainerTree.java:118)
Actions #4

Updated by Andreas Müller about 3 years ago

ERS: Das könnte sein. Ich habe auf meinem Rechner zuhause manchmal tatsächlich Kapazitätsprobleme - Ich werde das mal beobachten und testen.

AM: Ah, das ist schon mal ein guter Hinweis. Ich war irgendwie davon ausgegangen, dass das Problem auf Seite des Servers liegt, aber es ist wohl Client (TaxEditor) seitig.
Das macht es vermutlich etwas einfacher.
Seltsamerweise bist du bislang der einzige, der davon berichtet. Ganz vielleicht hängt es also auch an deinem Rechner. Hast du noch genügend Festplattenspeicher?
Bzw. kannst du, wenn es wieder auftritt über den Task-Manager mal überprüfen, wie sehr deine CPU gerade ausgelastet ist?

ERS: Aha, interessant. Ich habe jetzt den Editor geschlossen und wieder geöffnet, jetzt funktioniert alles wieder. Es scheint sich also innerhalb einer Sitzung etwas aufzubauen und zu blockieren...

ERS: zur Ergänzung: gerade kann ich kein Muster mehr erkennen, bei welchen Taxa die Fehlermeldung auftritt und wo nicht. Innerhalb der Gattung Carex etwa geben einige Arten bgeim Klichen im Baum sofort den Fehler (also ohne Wartezeit, Timeout oder ähnliches), andere werden im Texteditor ohne Verzögerung geöffnet.

ERS: irgendwas stimmt nicht, Ich kann nur Taxa mit wenigen Synonymen im Texteditor problemlos öffnen. Taxa mit komplexen Synonymien geben mir wieder diese Fehlermeldung (beim Klicken auf den Taxonknoten im Baum). Die Fehlermeldung erscheint auch, wenn ich einen Teilbaum mit dem Vebreitungseditor öffnen will. Bitte nochmal testen, was da los ist.

===

ERS: der Fehler scheint behoben zu sein, jetzt läuft alles wieder normal.

===

ERS: ja, einmal an der Stelle, aber z.B. auch beim Versuch, Fakten (Verbreitungs-)daten zu laden.

AM: OK, das scheint immer die gleiche Stelle zu sein. Wann genau bekommst du denn den Fehler. Beim Laden eines Taxons im Nameeditor oder wann anders?

ERS: Hmm, es scheint so ein bisschen zu stottern. Mal geht’s, dann kommt wieder der Fehler…

AM: war das nur in den letzten 3-5 min so oder schon länger?

ERS: ich bekomme gerade öfter diesen Fehler.

Actions #5

Updated by Andreas Müller about 3 years ago

Same issue but slightly different stacktrace

last remote method : http://api.cybertaxonomy.org:80/euromed/remoting/taxonnode.service
last remote request client time : 2020-12-18T12:38:31.123
last remote request response header time : Fri, 18 Dec 2020 12:38:28 GMT
client error time : 2020-12-18T12:38:31.453
login : e.raabstraube
editor version : 5.18.2
server : api.cybertaxonomy.org (cybertaxonomy.org) / euromed
schema version : 5.18.6.0.20201124
os : Windows 7 6.1 amd64
java : 1.8.0_261
org.springframework.remoting.RemoteAccessException: Could not access HTTP invoker remote service at [http://api.cybertaxonomy.org:80/euromed/remoting/taxonnode.service]; nested exception is net.sf.ehcache.CacheException: java.io.OptionalDataException
    at org.springframework.remoting.httpinvoker.HttpInvokerClientInterceptor.convertHttpInvokerAccessException(HttpInvokerClientInterceptor.java:226)
    at org.springframework.remoting.httpinvoker.HttpInvokerClientInterceptor.invoke(HttpInvokerClientInterceptor.java:153)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
    at com.sun.proxy.$Proxy49.load(Unknown Source)
    at eu.etaxonomy.taxeditor.editor.e4.TaxonEditorInputE4.initForTaxonNode(TaxonEditorInputE4.java:124)
    at eu.etaxonomy.taxeditor.editor.e4.TaxonEditorInputE4.<init>(TaxonEditorInputE4.java:113)
    at eu.etaxonomy.taxeditor.editor.e4.TaxonEditorInputE4.NewInstance(TaxonEditorInputE4.java:262)
    at eu.etaxonomy.taxeditor.editor.EditorUtil.openTaxonNodeE4(EditorUtil.java:196)
    at eu.etaxonomy.taxeditor.navigation.NavigationUtil.openEditor(NavigationUtil.java:70)
    at eu.etaxonomy.taxeditor.navigation.navigator.e4.TaxonNavigatorE4.lambda$0(TaxonNavigatorE4.java:179)
    at org.eclipse.jface.viewers.StructuredViewer$1.run(StructuredViewer.java:833)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:50)
    at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:173)
    at org.eclipse.jface.viewers.StructuredViewer.fireDoubleClick(StructuredViewer.java:830)
    at org.eclipse.jface.viewers.AbstractTreeViewer.handleDoubleSelect(AbstractTreeViewer.java:1470)
    at org.eclipse.jface.viewers.StructuredViewer$4.widgetDefaultSelected(StructuredViewer.java:1264)
    at org.eclipse.jface.util.OpenStrategy.fireDefaultSelectionEvent(OpenStrategy.java:252)
    at org.eclipse.jface.util.OpenStrategy.access$0(OpenStrategy.java:249)
    at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:311)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4418)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1079)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4236)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3824)
    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:20)
    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(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    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)
Caused by: net.sf.ehcache.CacheException: java.io.OptionalDataException
    at net.sf.ehcache.store.disk.DiskStorageFactory.retrieve(DiskStorageFactory.java:891)
    at net.sf.ehcache.store.disk.Segment.decodeHit(Segment.java:182)
    at net.sf.ehcache.store.disk.Segment.get(Segment.java:225)
    at net.sf.ehcache.store.disk.DiskStore.fault(DiskStore.java:210)
    at net.sf.ehcache.store.CacheStore$4.call(CacheStore.java:198)
    at net.sf.ehcache.store.CacheStore$4.call(CacheStore.java:192)
    at net.sf.ehcache.store.cachingtier.OnHeapCachingTier$Fault.get(OnHeapCachingTier.java:335)
    at net.sf.ehcache.store.cachingtier.OnHeapCachingTier$Fault.access$200(OnHeapCachingTier.java:312)
    at net.sf.ehcache.store.cachingtier.OnHeapCachingTier.get(OnHeapCachingTier.java:176)
    at net.sf.ehcache.store.CacheStore.get(CacheStore.java:192)
    at net.sf.ehcache.Cache.get(Cache.java:1749)
    at net.sf.ehcache.Cache.get(Cache.java:1722)
    at eu.etaxonomy.cdm.api.cache.CdmCacherBase.getCacheElement(CdmCacherBase.java:105)
    at eu.etaxonomy.cdm.api.cache.CdmCacherBase.getFromCache(CdmCacherBase.java:140)
    at eu.etaxonomy.cdm.cache.CdmTransientEntityCacher.getFromCache(CdmTransientEntityCacher.java:298)
    at eu.etaxonomy.cdm.cache.CacheLoader.getAndUpdateFieldValue(CacheLoader.java:449)
    at eu.etaxonomy.cdm.cache.CacheLoader.loadField(CacheLoader.java:359)
    at eu.etaxonomy.cdm.cache.CacheLoader.loadRecursive(CacheLoader.java:339)
    at eu.etaxonomy.cdm.cache.CacheLoader.loadRecursiveAny(CacheLoader.java:83)
    at eu.etaxonomy.cdm.cache.CacheLoader.loadRecursiveCollection(CacheLoader.java:190)
    at eu.etaxonomy.cdm.cache.CacheLoader.getAndUpdateFieldValue(CacheLoader.java:471)
    at eu.etaxonomy.cdm.cache.CacheLoader.loadField(CacheLoader.java:359)
    at eu.etaxonomy.cdm.cache.CacheLoader.loadRecursive(CacheLoader.java:339)
    at eu.etaxonomy.cdm.cache.CacheLoader.loadRecursiveAny(CacheLoader.java:83)
    at eu.etaxonomy.cdm.cache.CacheLoader.loadRecursiveCollection(CacheLoader.java:190)
    at eu.etaxonomy.cdm.cache.CacheLoader.getAndUpdateFieldValue(CacheLoader.java:471)
    at eu.etaxonomy.cdm.cache.CacheLoader.loadField(CacheLoader.java:359)
    at eu.etaxonomy.cdm.cache.CacheLoader.loadRecursive(CacheLoader.java:339)
    at eu.etaxonomy.cdm.cache.CacheLoader.loadField(CacheLoader.java:368)
    at eu.etaxonomy.cdm.cache.CacheLoader.loadRecursive(CacheLoader.java:339)
    at eu.etaxonomy.cdm.cache.CacheLoader.load(CacheLoader.java:263)
    at eu.etaxonomy.cdm.cache.CacheLoader.load(CacheLoader.java:62)
    at eu.etaxonomy.cdm.cache.CdmTransientEntityCacher.load(CdmTransientEntityCacher.java:165)
    at eu.etaxonomy.taxeditor.session.CdmEntitySession.load(CdmEntitySession.java:65)
    at eu.etaxonomy.taxeditor.session.CdmEntitySessionManager.load(CdmEntitySessionManager.java:119)
    at org.springframework.remoting.httpinvoker.CachingHttpInvokerProxyFactoryBean.handleGeneralRequest(CachingHttpInvokerProxyFactoryBean.java:100)
    at org.springframework.remoting.httpinvoker.CachingHttpInvokerProxyFactoryBean.executeRequest(CachingHttpInvokerProxyFactoryBean.java:81)
    at org.springframework.remoting.httpinvoker.HttpInvokerClientInterceptor.invoke(HttpInvokerClientInterceptor.java:150)
    ... 45 more
Caused by: java.io.OptionalDataException
    at java.io.ObjectInputStream.readObject0(Unknown Source)
    at java.io.ObjectInputStream.readObject(Unknown Source)
    at java.io.ObjectInputStream.readObject(Unknown Source)
    at java.util.HashSet.readObject(Unknown Source)
    at sun.reflect.GeneratedMethodAccessor34.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at java.io.ObjectStreamClass.invokeReadObject(Unknown Source)
    at java.io.ObjectInputStream.readSerialData(Unknown Source)
    at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
    at java.io.ObjectInputStream.readObject0(Unknown Source)
    at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
    at java.io.ObjectInputStream.readSerialData(Unknown Source)
    at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
    at java.io.ObjectInputStream.readObject0(Unknown Source)
    at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
    at java.io.ObjectInputStream.defaultReadObject(Unknown Source)
    at net.sf.ehcache.Element.readObject(Element.java:885)
    at sun.reflect.GeneratedMethodAccessor106.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at java.io.ObjectStreamClass.invokeReadObject(Unknown Source)
    at java.io.ObjectInputStream.readSerialData(Unknown Source)
    at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
    at java.io.ObjectInputStream.readObject0(Unknown Source)
    at java.io.ObjectInputStream.readObject(Unknown Source)
    at java.io.ObjectInputStream.readObject(Unknown Source)
    at net.sf.ehcache.store.disk.DiskStorageFactory.read(DiskStorageFactory.java:371)
    at net.sf.ehcache.store.disk.DiskStorageFactory.retrieve(DiskStorageFactory.java:887)
    ... 82 more
Actions #6

Updated by Andreas Müller about 3 years ago

  • Description updated (diff)
  • Target version changed from Unassigned CDM tickets to Release 5.19

If it is true that this problem occurs client side we should catch the exception in a way that it becomes clear that the problem is local and not related to remoting. This should be fixed soon, all the rest can probably be done later. => #9629

Actions #7

Updated by Andreas Müller about 3 years ago

  • Target version changed from Release 5.19 to Release 5.21
Actions #8

Updated by Andreas Müller about 3 years ago

  • Target version changed from Release 5.21 to Release 5.22
Actions #9

Updated by Katja Luther almost 3 years ago

  • Target version changed from Release 5.22 to Release 5.46
Actions #10

Updated by Andreas Müller almost 3 years ago

  • Description updated (diff)
Actions #11

Updated by Andreas Müller almost 3 years ago

  • Related to bug #9629: Better handling of OptionalDataException added
Actions #12

Updated by Andreas Müller almost 3 years ago

Auch bei Cuba trat das Problem jetzt wieder bei der Eingabe von Verbreitungsdaten auf:

WGB:

erster Eintrag, Cuba, neue Verbreitung mit neuer Quelle mit neuen Autoren im Team bei Coccothrinax xangelae..
OK -> keine weitere Speicheraufforderung.
Neuaufruf aus Navigator Search-Ergebnis
Neuer Fehler (unten ***) 2x
Ok, Ok, Neuaufruf – Fehler bleibt.
(Server scheint weg zu sein).
Anderes Taxon funktioniert.
Aufruf C. xangelae weiter Fehler
Actions #13

Updated by Katja Luther over 2 years ago

  • Related to bug #9820: OptionalDataException when saving character matrix added
Actions #14

Updated by Andreas Müller over 1 year ago

Looks like this problem does not appear so often anymore.

Actions

Also available in: Atom PDF