Bug 572060 - AccessibleObject class not found in org.eclipse.equinox.launcher.JNIBridge._takedown_splash
Summary: AccessibleObject class not found in org.eclipse.equinox.launcher.JNIBridge._...
Status: NEW
Alias: None
Product: Platform
Classification: Eclipse Project
Component: SWT (show other bugs)
Version: 4.19   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Platform-SWT-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
: 563392 (view as bug list)
Depends on:
Blocks:
 
Reported: 2021-03-18 06:29 EDT by Lars Vogel CLA
Modified: 2023-11-20 02:53 EST (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Lars Vogel CLA 2021-03-18 06:29:37 EDT
Not sure if that is a problem with Equinox or SWT but one of my RCP clients gets the following exception if he starts his RCP application under Linux (Mac and Windows work fine).

!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.equinox.app".
!STACK 0
java.lang.NoClassDefFoundError: org.eclipse.swt.accessibility.AccessibleObject
	at org.eclipse.equinox.launcher.JNIBridge._takedown_splash(Native Method)
	at org.eclipse.equinox.launcher.JNIBridge.takeDownSplash(JNIBridge.java:173)
	at org.eclipse.equinox.launcher.Main.takeDownSplash(Main.java:2170)
	at org.eclipse.equinox.launcher.Main$SplashHandler.run(Main.java:122)
	at org.eclipse.core.runtime.internal.adaptor.DefaultStartupMonitor.applicationRunning(DefaultStartupMonitor.java:71)
	at org.eclipse.equinox.internal.app.EclipseAppHandle$1.run(EclipseAppHandle.java:279)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.applicationRunning(EclipseAppHandle.java:267)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1092)
	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.e4.ui.internal.workbench.swt.E4Application.start(E4Application.java:168)
	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:653)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:590)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1461)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1434)
Comment 1 Lars Vogel CLA 2021-03-18 06:30:02 EDT
Nikita, could have have a look?
Comment 2 Nikita Nemkin CLA 2021-03-18 07:16:37 EDT
(In reply to Lars Vogel from comment #1)
> Nikita, could have have a look?

Is there a copy of software that I can just run to reproduce this?

It doesn't look like a SWT bug to me. More like the launcher bug or some unexpected launcher/application interaction.
Comment 3 Johannes Beichter CLA 2021-08-12 14:50:20 EDT
I can reproduce the exception with these steps:

- Create plug-in project, RCP yes, Eclipse RCP application
- Check sample content (otherwise no exception!), finish
- product file -> Configuration -> Start Levels -> Add Recommended -> Save
- product file -> Overview -> Launch
=> no such exception in console
- copy splash.bmp into plug-in root
- product file -> Overview -> Launch
=> exception in console
- delete splash.bmp
- product file -> Overview -> Launch
=> again no exception

no need to add splash.bmp to product file (or build.properties)
Comment 4 Johannes Beichter CLA 2021-09-17 14:55:52 EDT
Comparing the projects with and without sample content, I found that if you remove the "Part Stack" from the Application.e4xmi in the project with sample content, the exception disappears.

Looking at the stacktrace I could imagine that PartRenderingEngine is triggering the _takedown_splash function only if the "Part Stack" is there, and else it is triggered differently. And that the classpath is different in both cases, maybe related to OSGI. Maybe it's just an error in the MANIFEST.MF of a Linux-related bundle then.
Comment 5 Johannes Beichter CLA 2021-09-18 11:19:31 EDT
I put a breakpoint in JNIBridge.takeDownSplash:173 (where the native method is called) and compared both cases. There is no difference in the stack traces, so my guess from the previous comment was wrong.

Another thing I found is that the problem was introduced with Photon/4.8.
Comment 6 Johannes Beichter CLA 2022-01-23 12:32:32 EST
I had this exception for my simple example on Ubuntu 20.04, but not on 20.10 or Fedora 34, when using the same Eclipse and workspace (copied) and OpenJDK 11.0.13.
Comment 7 Andrey Loskutov CLA 2022-02-14 12:08:02 EST
*** Bug 563392 has been marked as a duplicate of this bug. ***