Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Elipse 2023-06 ADT compare not working

tobiashey
Explorer

Hello everyone,

I updated my Eclipse yesterday to version 2023-06 and now I can´t use the compare function anymore.

The ABAP Core Development Tools are at version 3.34.2 and I am manly on SAP System Version 7.56 but the same problem occurs against 7.53

Using the "compare to local revision" just shows an empty screen and using the "compare with Previous Revision/Revision History" shows this error screen:

java.lang.AbstractMethodError: Receiver class com.sap.adt.tools.abapsource.ui.sources.editors.compare.AbapSourceTextMergeViewer$AbapSourceDocumentMergerInput does not define or inherit an implementation of the resolved method 'abstract java.util.Optional createIgnoreWhitespaceContributor(org.eclipse.jface.text.IDocument)' of interface org.eclipse.compare.internal.merge.DocumentMerger$IDocumentMergerInput.
at org.eclipse.compare.internal.merge.DocumentMerger.createIgnoreWhitespaceContributor(DocumentMerger.java:909)
at org.eclipse.compare.internal.merge.DocumentMerger.doDiff(DocumentMerger.java:385)
at com.sap.adt.tools.abapsource.ui.sources.editors.compare.AbapSourceTextMergeViewer.doDiff(AbapSourceTextMergeViewer.java:4044)
at com.sap.adt.tools.abapsource.ui.sources.editors.compare.AbapSourceTextMergeViewer.update(AbapSourceTextMergeViewer.java:6036)
at com.sap.adt.tools.abapsource.ui.sources.editors.compare.AbapSourceTextMergeViewer.updateContent(AbapSourceTextMergeViewer.java:3476)
at org.eclipse.compare.contentmergeviewer.ContentMergeViewer.internalRefresh(ContentMergeViewer.java:793)
at org.eclipse.compare.contentmergeviewer.ContentMergeViewer.inputChanged(ContentMergeViewer.java:701)
at org.eclipse.jface.viewers.ContentViewer.setInput(ContentViewer.java:282)
at com.sap.adt.tools.abapsource.ui.sources.editors.compare.AbapSourceTextMergeViewer.setInput(AbapSourceTextMergeViewer.java:4564)
at com.sap.adt.tools.abapsource.ui.sources.editors.compare.AbapViewerCreator$1.setInput(AbapViewerCreator.java:111)
at org.eclipse.compare.CompareViewerSwitchingPane.setInput(CompareViewerSwitchingPane.java:268)
at org.eclipse.compare.internal.CompareContentViewerSwitchingPane.setInput(CompareContentViewerSwitchingPane.java:202)
at org.eclipse.compare.CompareEditorInput.internalSetContentPaneInput(CompareEditorInput.java:806)
at org.eclipse.compare.CompareEditorInput.lambda$8(CompareEditorInput.java:747)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
at org.eclipse.compare.CompareEditorInput.feed1(CompareEditorInput.java:742)
at org.eclipse.compare.CompareEditorInput.feedInput(CompareEditorInput.java:720)
at org.eclipse.compare.CompareEditorInput.createContents(CompareEditorInput.java:543)
at org.eclipse.compare.internal.CompareEditor.createCompareControl(CompareEditor.java:448)
at org.eclipse.compare.internal.CompareEditor.createPartControl(CompareEditor.java:400)
at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.createPartControl(CompatibilityPart.java:158)
at org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor.createPartControl(CompatibilityEditor.java:96)
at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.create(CompatibilityPart.java:365)
at jdk.internal.reflect.GeneratedMethodAccessor94.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58)
at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:987)
at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:952)
at org.eclipse.e4.core.internal.di.InjectorImpl.internalInject(InjectorImpl.java:141)
at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:395)
at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:322)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:202)
at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:91)
at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:60)
at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:42)
at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer.createWidget(ContributedPartRenderer.java:132)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:995)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:659)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:763)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:728)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:712)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.lambda$0(PartServiceImpl.java:105)
at org.eclipse.e4.ui.services.internal.events.UIEventHandler.lambda$0(UIEventHandler.java:38)
at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:183)
at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133)
at org.eclipse.swt.widgets.Display.syncExec(Display.java:4803)
at org.eclipse.e4.ui.workbench.swt.DisplayUISynchronize.syncExec(DisplayUISynchronize.java:34)
at org.eclipse.e4.ui.services.internal.events.UIEventHandler.handleEvent(UIEventHandler.java:38)
at org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(EventHandlerWrapper.java:205)
at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:203)
at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:1)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234)
at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151)
at org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(EventAdminImpl.java:133)
at org.eclipse.equinox.internal.event.EventAdminImpl.sendEvent(EventAdminImpl.java:75)
at org.eclipse.equinox.internal.event.EventComponent.sendEvent(EventComponent.java:44)
at org.eclipse.e4.ui.services.internal.events.EventBroker.send(EventBroker.java:55)
at org.eclipse.e4.ui.internal.workbench.UIEventPublisher.notifyChanged(UIEventPublisher.java:63)
at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:424)
at org.eclipse.e4.ui.model.application.ui.impl.ElementContainerImpl.setSelectedElementGen(ElementContainerImpl.java:170)
at org.eclipse.e4.ui.model.application.ui.impl.ElementContainerImpl.setSelectedElement(ElementContainerImpl.java:188)
at org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.showElementInWindow(ModelServiceImpl.java:660)
at org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.bringToTop(ModelServiceImpl.java:624)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.delegateBringToTop(PartServiceImpl.java:790)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.bringToTop(PartServiceImpl.java:401)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.showPart(PartServiceImpl.java:1264)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:3233)
at org.eclipse.ui.internal.WorkbenchPage.lambda$11(WorkbenchPage.java:3123)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3121)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3091)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3082)
at org.eclipse.compare.internal.CompareUIPlugin.lambda$0(CompareUIPlugin.java:566)
at org.eclipse.compare.internal.CompareUIPlugin.syncExec(CompareUIPlugin.java:1405)
at org.eclipse.compare.internal.CompareUIPlugin.internalOpenEditor(CompareUIPlugin.java:576)
at org.eclipse.compare.internal.CompareUIPlugin.openCompareEditor(CompareUIPlugin.java:540)
at org.eclipse.compare.CompareUI.openCompareEditorOnPage(CompareUI.java:174)
at org.eclipse.compare.CompareUI.openCompareEditor(CompareUI.java:143)
at org.eclipse.compare.CompareUI.openCompareEditor(CompareUI.java:127)
at com.sap.adt.tools.abapsource.ui.history.AdtHistoryPage$19$2.run(AdtHistoryPage.java:994)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:132)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4047)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3663)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1155)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1046)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:643)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:550)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:171)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:402)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:596)
at org.eclipse.equinox.launcher.Main.run(Main.java:1467)

Does anybody else expierence this and might somebody know when this is beeing fixed again?

Seems like its "just" some interface method/s that were added in the latest eclipse patch

1 ACCEPTED SOLUTION

patrick_rau
Explorer

Hello,

I had the same problem after an Eclipse update to 2023-06 (4.28.0). After updating to the ABAP Core Development Tools to version 3.34.3 everything seems to work again.

12 REPLIES 12

matt
Active Contributor

Same. Thanks for highlighting it.

Paging the ADT team... thomasfiedler

Replace with Local History fails as well - but at least you can see the differences!

com.sap.adt.tools.abapsource.ui.sources.editors.compare.AbapSourceTextMergeViewer$AbapSourceDocumentMergerInput
does not define or inherit an implementation of the resolved method
'abstract java.util.Optional createIgnoreWhitespaceContributor(org.eclipse.jface.text.IDocument)'
of interface org.eclipse.compare.internal.merge.DocumentMerger$IDocumentMergerInput.

Tim_T
Participant

Hi,

thanks for creating this question.

I experience the same problem with compare after having updated to eclipse 2023-06. My ADT version is 3.34.2 and I work with releases 7.50, 7.52 and 7.56 and it occurs in all cases.

I hope this can be fixed quickly, because I really like the feature and use it very often.

ashokyesala
Explorer
0 Kudos

Hi,

I am facing the same issue with latest version of eclipse 2023-06.

Please let us know what could be the resolution for this.

Thanks

Mishael
Participant
0 Kudos

I have the same issue too 🙂

patrick_rau
Explorer

Hello,

I had the same problem after an Eclipse update to 2023-06 (4.28.0). After updating to the ABAP Core Development Tools to version 3.34.3 everything seems to work again.

0 Kudos

Hi,

that sounds promising, like it was fixed in the new patch.

Sadly the /latest update site does not pull version 3.34.3 yet for me. I guess I will wait another day or so and switch over to the eclipse 2023-06 update site, if its still not pulling the update

Thanks for the information, that the patch is live

0 Kudos

Hi Tobias,

I didn't get the update right away either.

I tried it in Eclipse Help->Check for Updates. It didn't show me any updates.

I then went another way and tried to set Eclipse to a previous configuration.

Help->About Eclipse IDE->Installation Details->Installation History

There I selected a configuration from 07.06.2023 and reset to this. (Presumably you can also select any older one).

When I then checked for new updates (Help->Check for Updates), I was offered an update of the ADT tools.

After that, the comparison worked again.

0 Kudos

Hi thomasfiedler
I have the same issue with comparison.
Also my update site, linked to https://tools.hana.ondemand.com/latest, is not offering me version 3.34.3.

PS: what would be the right place for ADT issue reporting?

I could trigger an update of ABAP Core Development Tools to 3.34.3 via Eclipse IDE Installation Details
-> select ABAP Core ...
->click Update Button

Comparison works again

0 Kudos

I confirm, it work now 🙂

Hi,

the issue is fixed with ADT version 3.34.3. See SAP Note 3346062.

Kind regards,

Laura

matt
Active Contributor

Sounds like chat gpt