Project

General

Profile

Actions

bug #10175

closed

IllegalStateException when more than 10 exceptions in UpdateResult

Added by Katja Luther 3 months ago. Updated 3 months ago.

Status:
Closed
Priority:
Highest
Category:
cdmlib
Target version:
Start date:
Due date:
% Done:

100%

Estimated time:
Severity:
normal
Found in Version:

Description

This is because the queue is implemented as an array (https://codechacha.com/en/java-arrayblockingqueue/) and trying to add more items than the initial size throws an illegal state exception:

mail ERS:

Hallo,

hat meine Fehlermeldung (mails von letzter Woche an VL-BGBM-EditSupport) euch erreicht?

Der Fehler ist jetzt wiederaufgetreten, beim Versuch, eines der Duplikate – Alyssum minus Rothm., Syn. von Alyssum simplex Rudolphi – zu löschen.

Viele Grüße, Eckhard

last remote method : https://api.cybertaxonomy.org:443/euromed/remoting/taxon.service
last remote request client time : 2022-10-25T11:11:38.314
last remote request response header time : Tue, 25 Oct 2022 09:11:38 GMT
client error time : 2022-10-25T11:11:38.399
login : e.raabstraube
editor version : 5.33.0
server : api.cybertaxonomy.org (cybertaxonomy.org) / euromed
schema version : 5.33.0.0.20220807
os : Windows 10 10.0 amd64
java : 1.8.0_201
org.eclipse.e4.core.di.InjectionException: java.lang.IllegalStateException: Queue full
                at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:65)
                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: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: java.lang.IllegalStateException: Queue full
                at java.util.AbstractQueue.add(AbstractQueue.java:98)
                at java.util.concurrent.ArrayBlockingQueue.add(ArrayBlockingQueue.java:312)
                at eu.etaxonomy.cdm.api.service.UpdateResult.addException(UpdateResult.java:94)
                at eu.etaxonomy.cdm.api.service.NameServiceImpl.isDeletable(NameServiceImpl.java:1036)
                at eu.etaxonomy.cdm.api.service.NameServiceImpl.isDeletable(NameServiceImpl.java:1102)
                at sun.reflect.GeneratedMethodAccessor101812.invoke(Unknown Source)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:498)
                ...

Related issues

Related to EDIT - task #10009: Cleanup dependencies in TaxEditorResolvedKatja Luther05/10/202205/13/2022

Actions
Actions #1

Updated by Andreas Müller 3 months ago

  • Related to task #10009: Cleanup dependencies in TaxEditor added
Actions #2

Updated by Andreas Müller 3 months ago

  • Description updated (diff)
Actions #3

Updated by Andreas Müller 3 months ago

  • Status changed from New to Resolved
  • % Done changed from 0 to 70
Actions #4

Updated by Andreas Müller 3 months ago

  • Assignee changed from Andreas Müller to Katja Luther

This should be fixed. I replaced ArrayBlockingQueue by CircularFifoQueue from commons-collections4 which is similar to the CircularFifoBuffer used before. Commons-collections is used in TaxEditor anyway so no need for additional dependency.

Please review carefully as fixed on theoretical level.

Actions #5

Updated by Andreas Müller 3 months ago

  • Target version changed from Release 5.36 to Release 5.35
Actions #6

Updated by Andreas Müller 3 months ago

  • Target version changed from Release 5.35 to Release 5.34
Actions #7

Updated by Andreas Müller 3 months ago

  • Status changed from Resolved to Closed
  • Assignee changed from Katja Luther to Andreas Müller
  • % Done changed from 70 to 100

I tested with Alyssum minus in E+M on test and the problem does not exist anymore.

Actions

Also available in: Atom PDF