This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CCS/CCSTUDIO: Ubuntu 18.04 Resource Explorer Error

Part Number: CCSTUDIO

Tool/software: Code Composer Studio

Hi,

I've installed CCS 10.0.0.00010 within Ubuntu 18.04 following the linux host support instructions provided.

Whenever I attempt to open resource explorer (either online or offline) I get the error message `Failed to create the part's controls` with the details suggesting a `java.lang.RuntimeException: Unsupported API`. The full details for this error are included below.

In my attempts to resolve this I have tried the steps given in this similar forum post including:

  • Clearing the ccs browser cache from the workspace directory.
  • Launching CCD from a terminal after running the command `export SWT_GTK3=0`.
  • Looking for missing dependencies in the directory `<ccs_install_dir>/ccs/eclipse/configuration/.jxbrowser-chromium-lib` with the command `ldd *`. This found all dependencies expect `libbrowsercore64.so` (present in the local directory) and `libjawt.so` (found at `<ccs_install_dir>/ccs/eclipse/jre/lib/amd64/libjawt.so` via the `locate libjawt.so`command).
  • Deleting `<ccs_install_dir>/ccs/eclipse/configuration/.jxbrowser-chromium-lib`
  • Re-launching CCS within a fresh workspace.

These steps, however, have not solved the issue.

It may not be related, but I found that the Getting Statred page would not load beyond a blank screen unless `Window > Preferences > Code Composer Studio > Available Browser` was change from the default `Chromium` and set to `Internal Browser`. Attempting to set this to other option of `javaFX webkit` causes CCS to fail silently on startup.

Thanks for any further suggestions,

Robert.

Full Error Message Details:

java.lang.RuntimeException: Unsupported API
	at com.ti.browser.contribution.AbstractBrowser.setData(AbstractBrowser.java:25)
	at com.ti.browser.internal.TIBrowser.setData(TIBrowser.java:438)
	at com.ti.rex.ccsplugin.editors.ResourceExplorerPage.createBrowser(ResourceExplorerPage.java:215)
	at com.ti.rex.ccsplugin.editors.ResourceExplorerPage.createFormContent(ResourceExplorerPage.java:147)
	at org.eclipse.ui.forms.editor.FormPage.lambda$0(FormPage.java:166)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:72)
	at org.eclipse.ui.forms.editor.FormPage.createPartControl(FormPage.java:166)
	at org.eclipse.ui.forms.editor.FormEditor.pageChange(FormEditor.java:483)
	at org.eclipse.ui.part.MultiPageEditorPart.setActivePage(MultiPageEditorPart.java:1034)
	at org.eclipse.ui.forms.editor.FormEditor.setActivePage(FormEditor.java:617)
	at org.eclipse.ui.part.MultiPageEditorPart.createPartControl(MultiPageEditorPart.java:337)
	at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.createPartControl(CompatibilityPart.java:154)
	at org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor.createPartControl(CompatibilityEditor.java:96)
	at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.create(CompatibilityPart.java:361)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58)
	at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:1002)
	at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:967)
	at org.eclipse.e4.core.internal.di.InjectorImpl.internalInject(InjectorImpl.java:139)
	at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:408)
	at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:331)
	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:1002)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:662)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:768)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$0(PartRenderingEngine.java:739)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:733)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:717)
	at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer.showTab(StackRenderer.java:1297)
	at org.eclipse.e4.ui.workbench.renderers.swt.LazyStackRenderer.lambda$0(LazyStackRenderer.java:75)
	at org.eclipse.e4.ui.services.internal.events.UIEventHandler.lambda$0(UIEventHandler.java:38)
	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:236)
	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:146)
	at org.eclipse.swt.widgets.Display.syncExec(Display.java:5786)
	at org.eclipse.e4.ui.internal.workbench.swt.E4Application$1.syncExec(E4Application.java:219)
	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:132)
	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:661)
	at org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.bringToTop(ModelServiceImpl.java:625)
	at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.delegateBringToTop(PartServiceImpl.java:790)
	at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.showPart(PartServiceImpl.java:1236)
	at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:3207)
	at org.eclipse.ui.internal.WorkbenchPage.lambda$9(WorkbenchPage.java:3112)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:72)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3110)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3080)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3063)
	at com.ti.rex.ccsplugin.ResourceExplorerOpener.openEditor(ResourceExplorerOpener.java:51)
	at com.ti.rex.ccsplugin.OpenExplorerHandler.execute(OpenExplorerHandler.java:105)
	at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:283)
	at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:97)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58)
	at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:318)
	at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:252)
	at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:173)
	at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:156)
	at org.eclipse.core.commands.Command.executeWithChecks(Command.java:488)
	at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:487)
	at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:213)
	at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.executeItem(HandledContributionItem.java:438)
	at org.eclipse.e4.ui.workbench.renderers.swt.AbstractContributionItem.handleWidgetSelection(AbstractContributionItem.java:449)
	at org.eclipse.e4.ui.workbench.renderers.swt.AbstractContributionItem.lambda$2(AbstractContributionItem.java:475)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5676)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1423)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4935)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4429)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1160)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1049)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:660)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:559)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:154)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:150)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
	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:401)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:657)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:594)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1465)

  • Hi Robert,

    Robert Watson3 said:
    Whenever I attempt to open resource explorer (either online or offline) I get the error message `Failed to create the part's controls` with the details suggesting a `java.lang.RuntimeException: Unsupported API`.

    I assume this started to happen when you did the below:

    Robert Watson3 said:
    `Window > Preferences > Code Composer Studio > Available Browser` was change from the default `Chromium` and set to `Internal Browser`.

    You must use the default CCS chromium browser with Resource Explorer. Otherwise the the "Unsupported API" error will occur. Please switch back to the default and see if that error goes away.

    Robert Watson3 said:
    It may not be related, but I found that the Getting Statred page would not load beyond a blank screen

    We will need to investigate this one separately. But first, make sure that going back to the default browser resolves the Resource Explorer issue.

    Thanks

    ki

  • Hi Ki,

    Thanks for looking into this.

    Yes, the `java.lang.RuntimeException: Unsupported API` error appeared only after switching to the `internal browser`.

    When running the default `Chromium` option both the `Getting Started` and `Resource Explorer` pages appeared blank but reported no error messages (see screenshot). I found the `internal browser` was able to display the `Getting Stated` page, but encountered the `java.lang.RuntimeException: Unsupported API` error when attempting to open `Resource Explorer`.

    After my original post I tracked down the cause of this problem. It seems to be related to my desktop environment, as I am running a Vanilla GNOME desktop rather than the stock version shipped with Ubuntu 18.04. I believe certain aspects of CCS (or its dependencies) are not compatible with the Wayland based environment used in Vanilla GNOME.

    I was able to bypass these problems by reverting to the `Chromium` browser option and switching my desktop session from `GNOME` to `GNOME with Xorg`, via the user login screen settings after a reboot. Reverting to a stock Ubuntu 18.04 session also works.

    This by-passed the issues I had encountered above and allowed CCS to function normally, resolving my issues.

    Thanks,

    Robert.

  • Hi Robert,

    Thanks for the update. Glad to hear it is working now.

    Robert Watson3 said:
    I believe certain aspects of CCS (or its dependencies) are not compatible with the Wayland based environment used in Vanilla GNOME.

    Yes you are likely correct. I have heard similar reports from other CCS users on a Wayland based environment.

    ki