eclipse-mylyn / org.eclipse.mylyn

Eclipse Public License 2.0
13 stars 9 forks source link

Automatic Eclipse updates keeps breaking Eclipse #574

Closed gnl42 closed 2 months ago

gnl42 commented 2 months ago

I've had a couple of times now where the automatic Eclipse update when starting has led to a broken Eclipse installation and I've had to re-do the Oomph setup.

After this mornings launch/update I now get:

!ENTRY org.eclipse.e4.ui.workbench.swt 4 2 2024-07-12 10:18:30.094
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.e4.ui.workbench.swt".
!STACK 0
java.lang.NoSuchFieldError: Class org.eclipse.swt.graphics.Image does not have member field 'int currentDeviceZoom'
        at org.eclipse.swt.graphics.Image._createDisabled(Image.java:2528)

I can understand the need to keep Eclipse current for the next release but not at the expense of having to recreate one's environment and possible loose work not yet pushed to GutHub

merks commented 2 months ago

Did you do the update via Oomph setup tasks or via check for updates? Can you share more of the stack trace so we can see what is accessing (an os-specific field) that doesn’t exist?

merks commented 2 months ago

I started my mylyn setup IDE and it came up with this:

image

So I let it install those updates and now it's using 2024-09 M1:

image

I don't see any problems...

Note that the update done by Oomph's p2 task is significantly different from that done by Check for Update (automatic or manual) where the former does a full resolve from scratch and tends up update more things more deeply than does the latter...

gnl42 commented 2 months ago

Did you do the update via Oomph setup tasks or via check for updates? Can you share more of the stack trace so we can see what is accessing (an os-specific field) that doesn’t exist?

java.lang.NoSuchFieldError: Class org.eclipse.swt.graphics.Image does not have member field 'int currentDeviceZoom'
        at org.eclipse.swt.graphics.Image._createDisabled(Image.java:2528)
        at org.eclipse.swt.graphics.Image.<init>(Image.java:254)
        at org.eclipse.jface.resource.DerivedImageDescriptor.internalCreateImage(DerivedImageDescriptor.java:83)
        at org.eclipse.jface.resource.DerivedImageDescriptor.createResource(DerivedImageDescriptor.java:51)
        at org.eclipse.jface.resource.DeviceResourceManager.allocate(DeviceResourceManager.java:56)
        at org.eclipse.jface.resource.AbstractResourceManager.create(AbstractResourceManager.java:92)
        at org.eclipse.jface.resource.LazyResourceManager.create(LazyResourceManager.java:88)
        at org.eclipse.jface.resource.LocalResourceManager.allocate(LocalResourceManager.java:71)
        at org.eclipse.jface.resource.AbstractResourceManager.create(AbstractResourceManager.java:92)
        at org.eclipse.jface.resource.ResourceManager.createImageWithDefault(ResourceManager.java:192)
        at org.eclipse.jface.action.ActionContributionItem.updateImages(ActionContributionItem.java:1017)
        at org.eclipse.jface.action.ActionContributionItem.updateToolItem(ActionContributionItem.java:777)
        at org.eclipse.jface.action.ActionContributionItem.update(ActionContributionItem.java:740)
        at org.eclipse.jface.action.ActionContributionItem.update(ActionContributionItem.java:714)
        at org.eclipse.jface.action.ToolBarManager.update(ToolBarManager.java:345)
        at org.eclipse.ui.internal.CoolBarToTrimManager.update(CoolBarToTrimManager.java:596)
        at org.eclipse.ui.internal.WorkbenchWindow.updateActionBars(WorkbenchWindow.java:2481)
        at org.eclipse.ui.internal.WWinActionBars.updateActionBars(WWinActionBars.java:123)
        at org.eclipse.ui.SubActionBars.updateActionBars(SubActionBars.java:602)
        at org.eclipse.ui.internal.e4.compatibility.ActionBars.updateActionBars(ActionBars.java:88)
        at org.eclipse.ui.internal.e4.compatibility.CompatibilityView$1.compute(CompatibilityView.java:203)
        at org.eclipse.e4.ui.workbench.renderers.swt.ToolBarManagerRenderer.postProcess(ToolBarManagerRenderer.java:961)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:676)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:762)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:727)
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
gnl42 commented 2 months ago

@merks It was whatever task that runs during startup, same as what you saw

merks commented 2 months ago

On which OS are you? I can't find that method in any of these:

Maybe if you create an issue here someone will recognize the problem:

https://github.com/eclipse-platform/eclipse.platform.swt/issues

gnl42 commented 2 months ago

Windows 11

gnl42 commented 2 months ago

For some reason swt.win32_x86_64 didn't update from 20240624 to 20240704.

A fresh install fixed the issue