Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Eclipse 4.20 and invalid thread access exception #183

Open
comschmid opened this issue Jun 18, 2021 · 4 comments
Open

Eclipse 4.20 and invalid thread access exception #183

comschmid opened this issue Jun 18, 2021 · 4 comments

Comments

@comschmid
Copy link

After updating eclipse to the latest release version, eclipse will not start anymore but show an error message box. I tested it twice and could isolate the error to this plugin.

Log excerpt:
eclipse.buildId=4.20.0.I20210611-1600
java.version=16.0.1
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en
Framework arguments: -refresh -product org.eclipse.epp.package.jee.product -refresh -product org.eclipse.epp.package.jee.product -refresh -product org.eclipse.epp.package.jee.product
Command-line arguments: -os win32 -ws win32 -arch x86_64 -clean -refresh -product org.eclipse.epp.package.jee.product

!ENTRY org.eclipse.osgi 4 0 2021-06-17 09:05:00.597
!MESSAGE Application error
!STACK 1
org.eclipse.swt.SWTException: Invalid thread access
at org.eclipse.swt.SWT.error(SWT.java:4893)
at org.eclipse.swt.SWT.error(SWT.java:4808)
at org.eclipse.swt.SWT.error(SWT.java:4779)
at org.eclipse.swt.widgets.Display.error(Display.java:1262)
at org.eclipse.swt.widgets.Display.checkDevice(Display.java:817)
at org.eclipse.swt.widgets.Display.addListener(Display.java:698)
at org.eclipse.ui.internal.ide.application.IDEWorkbenchAdvisor.(IDEWorkbenchAdvisor.java:184)
at org.eclipse.ui.internal.ide.application.IDEWorkbenchAdvisor.(IDEWorkbenchAdvisor.java:192)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:153)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
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:401)
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:78)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:567)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:654)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
at org.eclipse.equinox.launcher.Main.run(Main.java:1462)

@markphip
Copy link
Contributor

I do not see anything specific to Subclipse here that someone could investigate and act on.

There is this bug that also does not contain any solutions but does offer some workarounds: https://bugs.eclipse.org/bugs/show_bug.cgi?id=477247

BTW, are you intentionally using 32-bit JVM and Eclipse? I thought support for those were going away?

@comschmid
Copy link
Author

Thanks for your reply!

I opened this issue, because I was not sure if it was tested on version 4.20, because the last version on the marketplace specifies 2021-03 (4.19).

I'll definitely try some of the workarounds. It's very well possible that there are some outdated files lurking below the .metadata folder.

I also saw these win32 parameters on the command line, very strange indeed. I downloaded the Windows x86_64 version, pointing to https://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/2021-06/R/eclipse-jee-2021-06-R-win32-x86_64.zip

The resulting eclipse.ini file contains the following relevant entries:
-startup
plugins/org.eclipse.equinox.launcher_1.6.200.v20210416-2027.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.2.200.v20210429-1609
-vm
plugins/org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_16.0.1.v20210528-1205/jre/bin

But it behaved the same when I specified for the -vm parameter explicitly my local 64bit JDK.

@markphip
Copy link
Contributor

If you know you are using a 64-bit JVM then I would not worry about it. That means it is all 64-bit. It could just be legacy Eclipse SWT parameter names on Windows.

To the degree that I understand what was written in that issue, it sounds like Eclipse during startup generates an error that it wants to show the user but the error happens very early in the process before SWT has created a Display. Maybe when you try the workaround you will see some different errors being logged that points somewhere else.

Eclipse is generally very forward compatible. I have been running an nightly build on MacOS for a while (in order to test the Apple Silicon support). It has been a long time since a new release of Eclipse needed anything done and it has always been that some class we were using had been deprecated and eventually removed. So it would manifest as a ClassNotFound exception. I am not aware of any current issues of this nature.

@comschmid
Copy link
Author

Thanks again!

I followed the last posted workaround by removing all *.index files in .metadata.plugins\org.eclipse.jdt.core.
After that, I reinstalled Eclipse 4.20 64-bit for Win10, this time using the installer, and the latest Subclipse Plugin and all work as it should!

The relevant log entry after using the installed JDK:
eclipse.buildId=4.20.0.I20210611-1600
java.version=11.0.11
java.vendor=AdoptOpenJDK
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Framework arguments: -product org.eclipse.epp.package.jee.product -product org.eclipse.epp.package.jee.product
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product

I hope this helps somebody else having similar problems in the future.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants