Bug 1479088

Summary: cdtdebug cannot start: java.lang.ClassNotFoundException: org.eclipse.core.runtime.adaptor.EclipseStarter
Product: [Fedora] Fedora Reporter: Christian Stadelmann <fedora>
Component: eclipse-cdtAssignee: Mat Booth <mat.booth>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 26CC: akurtako, eclipse-sig, fedora, jjohnstn, krzysztof.daniel, rgrunber, TicoTimo
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: eclipse-cdt-9.3.1-1.fc27 eclipse-cdt-9.3.1-1.fc26 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-08-14 21:51:55 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
The log file requested in comment #3 none

Description Christian Stadelmann 2017-08-07 22:43:18 UTC
Description of problem:
I cannot start cdtdebug at all.

Version-Release number of selected component (if applicable):
eclipse-swt-4.7.0-2.fc26.x86_64
eclipse-cdt-9.3.0-0.3.gitbfe45e8.fc26.x86_64
gtk3-3.22.17-2.fc26.x86_64
glib2-2.52.3-1.fc26.x86_64
java-1.8.0-openjdk-1.8.0.141-1.b16.fc26.x86_64
gdb-8.0-20.fc26.x86_64

How reproducible:
always

Steps to Reproduce:
1. Start cdtdebug (by command line or from its menu entry)

Actual results:
Does not start. Instead I get an error message dialog:
> Eclipse
> An error has occurred. See the log file
> …

The log file contains nothing but these lines:

> !SESSION [Date] [Time] [Timezone] 2017 -----------------------------------------
> !ENTRY org.eclipse.equinox.launcher 4 0 [Date-Time]
> !MESSAGE Exception launching the Eclipse Platform:
> !STACK
> java.lang.ClassNotFoundException: org.eclipse.core.runtime.adaptor.EclipseStarter
> 	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
> 	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
> 	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
> 	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:650)
> 	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:590)
> 	at org.eclipse.equinox.launcher.Main.run(Main.java:1499)
> 	at org.eclipse.equinox.launcher.Main.main(Main.java:1472)

Expected results:
Start fine.

Additional info:
Starting with the "-clean" command line option does not work around this bug, nor does deleting the ~/fctdebugger folder or the ~/.eclipse or ~/.swt or ~/.cache/eclipse folder.

Comment 1 Mat Booth 2017-08-09 16:12:06 UTC
Hmm, I cannot reproduce this on my F26 machine.

What if you tried a fresh workspace? For example:

$ cdtdebug -data workspace-$(date -u +%Y%m%d%H%M%S)

What other eclipse packages do you have installed? Maybe I need to replicate your install more precisely.

Comment 2 Christian Stadelmann 2017-08-09 22:01:29 UTC
(In reply to Mat Booth from comment #1)
> Hmm, I cannot reproduce this on my F26 machine.
> 
> What if you tried a fresh workspace? For example:
> 
> $ cdtdebug -data workspace-$(date -u +%Y%m%d%H%M%S)

Bug is still present. Command line output:

$ LC_ALL=C cdtdebug -data workspace-$(date -u +%Y%m%d%H%M%S)
find: '/usr/local/bin/plugins': No such file or directory
CompilerOracle: exclude org/eclipse/core/internal/dtree/DataTreeNode.forwardDeltaWith
CompilerOracle: exclude org/eclipse/jdt/internal/compiler/lookup/ParameterizedMethodBinding.<init>
CompilerOracle: exclude org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPTemplates.instantiateTemplate
CompilerOracle: exclude org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPLinkage.addBinding
CompilerOracle: exclude org/python/pydev/editor/codecompletion/revisited/PythonPathHelper.isValidSourceFile
CompilerOracle: exclude org/eclipse/tycho/core/osgitools/EquinoxResolver.newState
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.


> What other eclipse packages do you have installed? Maybe I need to replicate
> your install more precisely.

$ rpm -qa | grep eclipse
eclipse-linuxtools-libhover-6.1.0-1.fc26.noarch
eclipse-platform-4.7.0-2.fc26.x86_64
eclipse-tm-terminal-4.3.0-0.2.gitfa298da.fc26.noarch
eclipse-rse-3.7.3-1.fc26.noarch
eclipse-epp-logging-2.0.5-1.fc26.noarch
eclipse-tm-terminal-connectors-4.3.0-0.2.gitfa298da.fc26.noarch
eclipse-linuxtools-6.1.0-1.fc26.noarch
eclipse-egit-4.8.0-2.fc26.noarch
eclipse-mpc-1.6.0-0.3.gitfce01a1.fc26.noarch
eclipse-jgit-4.8.0-2.fc26.noarch
eclipse-launchbar-2.1.1-0.2.gitff9289d.fc26.noarch
eclipse-egit-github-4.8.0-2.fc26.noarch
eclipse-ecf-core-3.13.7-3.fc26.noarch
eclipse-emf-runtime-2.13.0-2.fc26.noarch
eclipse-linuxtools-valgrind-6.1.0-1.fc26.noarch
eclipse-cdt-native-9.3.0-0.3.gitbfe45e8.fc26.x86_64
eclipse-equinox-osgi-4.7.0-2.fc26.x86_64
eclipse-jdt-4.7.0-2.fc26.noarch
eclipse-mylyn-tasks-bugzilla-3.23.0-3.fc26.noarch
eclipse-remote-3.0.0-0.1.git96f33c6.fc26.noarch
eclipse-e4-importer-0.2.0-0.4.gitb50f851.fc26.noarch
eclipse-pde-4.7.0-2.fc26.x86_64
eclipse-p2-discovery-4.7.0-2.fc26.noarch
eclipse-filesystem-1.0-9.fc26.noarch
eclipse-cdt-9.3.0-0.3.gitbfe45e8.fc26.x86_64
eclipse-emf-core-2.13.0-2.fc26.noarch
eclipse-abrt-0.0.3-2.fc26.noarch
eclipse-usage-4.4.4-1.fc26.noarch
eclipse-mylyn-3.23.0-3.fc26.noarch
eclipse-pydev-5.8.0-1.fc26.x86_64
eclipse-swt-4.7.0-2.fc26.x86_64


$ rpmorphan -all | grep eclipse
eclipse-abrt
eclipse-e4-importer
eclipse-egit-github
eclipse-linuxtools-libhover
eclipse-linuxtools-valgrind
eclipse-mpc
eclipse-pydev
eclipse-usage

Comment 3 Mat Booth 2017-08-09 22:08:58 UTC
(In reply to Christian Stadelmann from comment #2)
> find: '/usr/local/bin/plugins': No such file or directory

Oh, that's interesting. Maybe the launch script is doing something wonky. Can you please try invoking like this and attaching the stderr output, e.g.:

$ bash -x /usr/bin/cdtdebug 2> logfile

Comment 4 Christian Stadelmann 2017-08-09 22:18:02 UTC
Created attachment 1311416 [details]
The log file requested in comment #3

(In reply to Mat Booth from comment #3)
> (In reply to Christian Stadelmann from comment #2)
> > find: '/usr/local/bin/plugins': No such file or directory
> 
> Oh, that's interesting. Maybe the launch script is doing something wonky.
> Can you please try invoking like this and attaching the stderr output, e.g.:
> 
> $ bash -x /usr/bin/cdtdebug 2> logfile

$ LC_ALL=C bash -x /usr/bin/cdtdebug 2> logfile
CompilerOracle: exclude org/eclipse/core/internal/dtree/DataTreeNode.forwardDeltaWith
CompilerOracle: exclude org/eclipse/jdt/internal/compiler/lookup/ParameterizedMethodBinding.<init>
CompilerOracle: exclude org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPTemplates.instantiateTemplate
CompilerOracle: exclude org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPLinkage.addBinding
CompilerOracle: exclude org/python/pydev/editor/codecompletion/revisited/PythonPathHelper.isValidSourceFile
CompilerOracle: exclude org/eclipse/tycho/core/osgitools/EquinoxResolver.newState


It looks like this problem is related to the fact that I have an executable file at /usr/local/bin/eclipse with this content (not quoted, of course):

> #!/bin/sh
> export GTK_THEME=Adwaita:light
> /usr/bin/eclipse $@

Comment 5 Christian Stadelmann 2017-08-09 22:23:17 UTC
After removing /usr/local/bin/eclipse, running

$ LC_ALL=C bash -x /usr/bin/cdtdebug 2> logfile2

works fine. The other command

$ LC_ALL=C cdtdebug -data workspace-$(date -u +%Y%m%d%H%M%S)

also works fine after cd'ing to a folder I can write to.

Comment 6 Mat Booth 2017-08-09 22:47:26 UTC
Yep, your script causes the output of "which eclipse" to be something that cdtdebug does not expect.

I suppose it is safe these days for cdtdebug to always assume that the eclipse executable lives in /usr/lib/eclipse

Comment 7 Fedora Update System 2017-08-10 15:25:27 UTC
eclipse-linuxtools-6.1.0-2.fc26 eclipse-cdt-9.3.1-1.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-5780018d4d

Comment 8 Fedora Update System 2017-08-13 04:04:59 UTC
eclipse-cdt-9.3.1-1.fc26, eclipse-linuxtools-6.1.0-2.fc26 has been pushed to the Fedora 26 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-5780018d4d

Comment 9 Fedora Update System 2017-08-14 21:51:55 UTC
eclipse-cdt-9.3.1-1.fc26, eclipse-linuxtools-6.1.0-2.fc26 has been pushed to the Fedora 26 stable repository. If problems still persist, please make note of it in this bug report.