Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Linux Tools Project » Valgrind on Eclipse 4.9 Error(Unable to profile with Valgrind due to missing jface framework class)
Valgrind on Eclipse 4.9 Error [message #1820878] Fri, 31 January 2020 00:31 Go to next message
Jared McKneely is currently offline Jared McKneelyFriend
Messages: 1
Registered: January 2020
Junior Member
I'm attempting to create a profile with LinuxTools Valgrind on 64-bit Eclipse 4.9 C/C++ for Windows 10. I right-clicked on a source code file -> Profiling Tools -> Profiling Tools Configurations. Then, I right-click on "Profile with Valgrind" -> New Configuration, and an error window pops up with the following description:

An error has occurred. See error log for more details.
org/eclipse/jface/resource/ResourceLocator

I read eclipse_workspace\.metadata\.log and found the following:

!ENTRY org.eclipse.jface 4 2 2020-01-30 17:06:17.789
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jface".
!STACK 0
java.lang.NoClassDefFoundError: org/eclipse/jface/resource/ResourceLocator
at org.eclipse.linuxtools.internal.valgrind.launch.ValgrindOptionsTab.getImage(ValgrindOptionsTab.java:491)
at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupViewer.showInstanceTabsFor(LaunchConfigurationTabGroupViewer.java:922)
at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupViewer.displayInstanceTabs(LaunchConfigurationTabGroupViewer.java:853)
at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupViewer.lambda$4(LaunchConfigurationTabGroupViewer.java:736)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:72)
at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupViewer.inputChanged(LaunchConfigurationTabGroupViewer.java:751)
at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupViewer.setInput0(LaunchConfigurationTabGroupViewer.java:683)
at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupViewer.setInput(LaunchConfigurationTabGroupViewer.java:663)
at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog.handleLaunchConfigurationSelectionChanged(LaunchConfigurationsDialog.java:1050)
at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog$4.selectionChanged(LaunchConfigurationsDialog.java:617)
at org.eclipse.jface.viewers.StructuredViewer$3.run(StructuredViewer.java:874)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
at org.eclipse.ui.internal.JFaceUtil.lambda$0(JFaceUtil.java:47)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:176)
at org.eclipse.jface.viewers.StructuredViewer.firePostSelectionChanged(StructuredViewer.java:871)
at org.eclipse.jface.viewers.StructuredViewer.setSelection(StructuredViewer.java:1720)
at org.eclipse.jface.viewers.TreeViewer.setSelection(TreeViewer.java:1084)
at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationView.handleConfigurationAdded(LaunchConfigurationView.java:332)
at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationView.lambda$0(LaunchConfigurationView.java:307)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:185)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3933)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3564)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:821)
at org.eclipse.jface.window.Window.open(Window.java:797)
at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog.open(LaunchConfigurationsDialog.java:1239)
at org.eclipse.debug.ui.DebugUITools.lambda$1(DebugUITools.java:630)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:72)
at org.eclipse.debug.ui.DebugUITools.openLaunchConfigurationDialogOnGroup(DebugUITools.java:636)
at org.eclipse.debug.ui.DebugUITools.openLaunchConfigurationDialogOnGroup(DebugUITools.java:574)
at org.eclipse.debug.ui.actions.OpenLaunchDialogAction.run(OpenLaunchDialogAction.java:85)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:476)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:568)
at org.eclipse.jface.action.ActionContributionItem.lambda$4(ActionContributionItem.java:400)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4145)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1055)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1079)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1064)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:778)
at org.eclipse.jface.action.ActionContributionItem.lambda$8(ActionContributionItem.java:1260)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4145)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1055)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3958)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3561)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1173)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1062)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:628)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:563)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:151)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:155)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:199)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:391)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:246)
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:659)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:595)
at org.eclipse.equinox.launcher.Main.run(Main.java:1501)
Caused by: java.lang.ClassNotFoundException: org.eclipse.jface.resource.ResourceLocator cannot be found by org.eclipse.linuxtools.valgrind.launch_3.0.0.202001142113
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:511)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:422)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:414)
at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:153)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 67 more

In other words, I'm missing a jface framework class called "ResourceLocator" that is not included with the Eclipse 4.9 R package. I checked org.eclipse.jface_3.14.100.v20180828-0836.jar\org\eclipse\jface\resource\ with 7-zip , and sure enough, it does not contain a "ResourceLocator.class". According to Eclipse's documentation, this class should have been included with every version of Eclipse back to 3.17.

Is there any way to get a version of this .jar file that includes ResourceLocator? Or, is there something deeper that is causing me to be unable to create a Valgrind profile?
Re: Valgrind on Eclipse 4.9 Error [message #1821047 is a reply to message #1820878] Tue, 04 February 2020 20:04 Go to previous message
Jeff Johnston is currently offline Jeff JohnstonFriend
Messages: 211
Registered: July 2009
Senior Member
Hi Jared,

The problem is that the version of Linux Tools Valgrind you have installed is not compatible with Eclipse 4.9. Valgrind was modified in 2019-12 to use the ResourceLocator. Eclipse 4.9 corresponds with Eclipse 2018-09.

You need to either uninstall Valgrind and get a prior version (Linux Tools 7.0.2) or update your Eclipse base to 2019-12. You can get 7.0.2 Linux tools from the following site:

https://download.eclipse.org/linuxtools/update-7.0.2

Regards,

-- Jeff Johnston
Previous Topic:gmon.out generated on target board is failing due to EOF Exception while visualizing in Eclipse GPRO
Next Topic:Java App in Container
Goto Forum:
  


Current Time: Fri Oct 23 01:05:30 GMT 2020

Powered by FUDForum. Page generated in 0.01887 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top