spring-attic / spring-ide

Spring Development Environment for Eclipse
299 stars 126 forks source link

STS 3.9.8 on Eclipse 4.11 (Open Call Hierarchy fails to find callers) #372

Closed LEON8686 closed 5 years ago

LEON8686 commented 5 years ago

I've tried opening eclipse with -clean -refresh, opening and closing eclipse and the project, updating the project

martinlippert commented 5 years ago

Is there an error showing up in the Error Log view that could be related to this? Does this happen with every project? Or can you point us at a sample project that reproduces the issue?

LEON8686 commented 5 years ago

For the simple java project, it works. I found in error log this :

eclipse.buildId=3.9.8.201903260800-RELEASE-e411 java.version=11.0.1 java.vendor=Oracle Corporation BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US Framework arguments: -product org.springsource.sts.ide Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.springsource.sts.ide

Error occured while running bean post processors

java.lang.IllegalStateException: Error processing condition on org.springframework.boot.actuate.autoconfigure.audit.AuditAutoConfiguration$AuditEventRepositoryConfiguration at org.springframework.boot.autoconfigure.condition.SpringBootCondition.matches(SpringBootCondition.java:64) at org.springframework.context.annotation.ConditionEvaluator.shouldSkip(ConditionEvaluator.java:102) at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader$TrackedConditionEvaluator.shouldSkip(ConfigurationClassBeanDefinitionReader.java:444) at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:127) at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:116) at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:320) at org.springframework.ide.eclipse.metadata.process.JdtConfigurationClassPostProcessor.postProcess(JdtConfigurationClassPostProcessor.java:88) at org.springframework.ide.eclipse.beans.core.internal.model.BeansJavaConfig$3.run(BeansJavaConfig.java:332) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45) at org.springframework.ide.eclipse.beans.core.internal.model.BeansJavaConfig.executePostProcessor(BeansJavaConfig.java:321) at org.springframework.ide.eclipse.beans.core.internal.model.BeansJavaConfig.access$5(BeansJavaConfig.java:319) at org.springframework.ide.eclipse.beans.core.internal.model.BeansJavaConfig$2.call(BeansJavaConfig.java:233) at org.springframework.ide.eclipse.beans.core.internal.model.BeansJavaConfig$2.call(BeansJavaConfig.java:1) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:834) Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.boot.autoconfigure.condition.BeanTypeRegistry': Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.boot.autoconfigure.condition.BeanTypeRegistry]: No default constructor found; nested exception is java.lang.NoSuchMethodException: org.springframework.boot.autoconfigure.condition.BeanTypeRegistry.() at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1159) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1103) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:511) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:481) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:312) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:308) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) at org.springframework.boot.autoconfigure.condition.BeanTypeRegistry.get(BeanTypeRegistry.java:369) at org.springframework.boot.autoconfigure.condition.OnBeanCondition.collectBeanNamesForType(OnBeanCondition.java:297) at org.springframework.boot.autoconfigure.condition.OnBeanCondition.getBeanNamesForType(OnBeanCondition.java:289) at org.springframework.boot.autoconfigure.condition.OnBeanCondition.getBeanNamesForType(OnBeanCondition.java:278) at org.springframework.boot.autoconfigure.condition.OnBeanCondition.getMatchingBeans(OnBeanCondition.java:189) at org.springframework.boot.autoconfigure.condition.OnBeanCondition.getMatchOutcome(OnBeanCondition.java:160) at org.springframework.boot.autoconfigure.condition.SpringBootCondition.matches(SpringBootCondition.java:47) ... 18 more Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.boot.autoconfigure.condition.BeanTypeRegistry]: No default constructor found; nested exception is java.lang.NoSuchMethodException: org.springframework.boot.autoconfigure.condition.BeanTypeRegistry.() at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:85) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1151) ... 32 more Caused by: java.lang.NoSuchMethodException: org.springframework.boot.autoconfigure.condition.BeanTypeRegistry.() at java.base/java.lang.Class.getConstructor0(Class.java:3350) at java.base/java.lang.Class.getDeclaredConstructor(Class.java:2554) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:80) ... 33 more

martinlippert commented 5 years ago

The stack trace that you posted seems to be from a different error, this should not be related to opening the call hierarchy. Can you share a sample project and a few steps how to reproduce? I tried to open the call hierarchy via the usual keyboard shortcut, showing the call hierarchy in the call hierarchy view and that seems to work for the cases that I tried...

imod commented 5 years ago

@martinlippert I have the exact same issue, but with:

Spring Tool Suite 4 
Version: 4.2.0.RELEASE
Build Id: 201903290612

where would I find the logs you are interested in? ...although I'm not sure how long I will keep this version installed, It's pretty unusable without this feature... :(

btw. where can I find older versions of STS, there seems to be not reference on https://spring.io/tools

martinlippert commented 5 years ago

@imod There is a view called Error Log, that might reveal more details. What exactly happens? The call hierarchy view opens, but doesn't show any callers? This is usually nothing that the Spring tooling interferes with (usually). Can you try this with a plain Eclipse 2019-03 install to see if this is a problem down in the platform or the Java tooling of Eclipse? I am using this version myself and the call hierarchy works just fine, therefore more details how to reproduce would also be great (sample projects, steps from a vanilla STS 4.2.0 or Eclipse 2019-03 install).

martinlippert commented 5 years ago

@imod In case this is an issue with the underlying Eclipse version, you could also give this a try:

But take care to disable the update mechanism, otherwise this would update itself to the latest Eclipse 2019-03 pretty soon.

imod commented 5 years ago

thanks, I now tried with https://download.springsource.com/release/STS4/4.2.0.RELEASE/dist/e4.10/spring-tool-suite-4-4.2.0.RELEASE-e4.10.0-macosx.cocoa.x86_64.dmg and with this on it works just fine.

I then switched back to the one I mentioned above (Spring Tool Suite 4, Version: 4.2.0.RELEASE, Build Id: 201903290612 on Mac) with the same workspace and it stopped working again.

martinlippert commented 5 years ago

Great that you tried this and good to hear that the Eclipse 4.10-based version of STS 4.2.0 works for you. That means you can at least work with the latest Spring Tools... :-)

Anyhow, we should try to find the underlying problem in the Eclipse platform for that and file at bug at https://bugs.eclipse.org for it. Do you have any chance to create a sample project that triggers this issue on an vanilla Eclipse 2019-03 install? Maybe it is related to https://bugs.eclipse.org/bugs/show_bug.cgi?id=545628 ?!? Would be good to double check the Error Log view again for that described NPE.

imod commented 5 years ago

here is the full log... eclipse.log

I was not able to find anything related to https://bugs.eclipse.org/bugs/show_bug.cgi?id=545628 , but please have a look and if you can't find it, I will try to create a project to reproduce it.

imod commented 5 years ago

@martinlippert I tried to create a project structure (multiple module maven project) to reproduce the issue, but I was not able to do so :(

Maybe it is related to workspace migration? Unfortunate I can not recall which exact version of STS I had installed before installing the newest...

martinlippert commented 5 years ago

@imod The log file indeed doesn't reveal anything interesting... :-( So I am running out of ideas how to get to the bottom of this. Due to the double check with the different Eclipse versions, it looks clearly like a platform issue, but without a reproducible sample, it is hard to debug.

What happens if you start STS 4.2.0 on Eclipse 4.11 (2019-03) with a clean workspace and re-import the projects as existing Maven projects?

I am sorry for asking for so many different (and probably time consuming) things, just trying to find the root cause of this somehow...

xadalun commented 5 years ago

I have the same issue with command 'Open Call Hierarchy' in JDT. I am using a vanilla version, that is no STS add-on except the plugin from STS called 'Quick Search', version Eclipse IDE for Enterprise Java Developers. Eclipse IDE 2019-03 R. Un-installing that plug-in did not help. No errors show in the view 'Error Log'

martinlippert commented 5 years ago

@xadalun Can you take a look at the Error Log view to see if there is anything related showing up?

@imod @xadalun I would suggest to comment on the above mentioned Eclipse bug and join the discussion over there. Maybe you can provide more insights and maybe even a sample project that helps the JDT folks to reproduce the issue.

xadalun commented 5 years ago

@martinlippert The Error Log shows no output what so ever when I trigger the Open Call Hierarchy command.

martinlippert commented 5 years ago

@xadalun :-( But can you reproduce this issue with a vanilla Eclipse 2019-03 install and a sample project that you could attach to that Eclipse bug? I think that would be extremely valuable.

xadalun commented 5 years ago

@martinlippert I'll give it a try!

imod commented 5 years ago

unfortunate this is still an issue with

Version: 4.2.2.RELEASE Build Id: 201905232009

Even recreating the workspace from scratch does not solve the issue :(

but unfortunate, I'm not able to reproduce in anyway I could better feedback :(

imod commented 5 years ago

@martinlippert is there anything I can do to debug this? I would very much like to help to solve this issue, as I currently also face issues with the maven import in:

Spring Tool Suite 4 
Version: 4.2.0.RELEASE
Build Id: 201903290550

...is there any logging or debugging I could enable to help with this?

kdvolder commented 5 years ago

@imod So far the evidence is pointing towards this being a issue with the Eclipse platform not STS itself. I.e. you said this:

thanks, I now tried with https://download.springsource.com/release/STS4/4.2.0.RELEASE/dist/e4.10/spring-tool-suite-4-4.2.0.RELEASE-e4.10.0-macosx.cocoa.x86_64.dmg and with this on it works just fine.

The difference between e4.10 and e4.11 based builds is the Eclipse platform it is based on.

I think the best way forward towards resolving and fixing this issue is to:

a) try a 'vanilla' Eclipse 4.11 to reproduce the problem with b) document the way to reproduce this and file this as a bug against Eclipse bugzilla tracker at bugs.eclipse.org

martinlippert commented 5 years ago

@imod It would also be useful to try this with a latest vanilla Eclipse 2019-06 RC1 build to see if this can somehow be reproduced. It really sounds like multiple users are facing this issue, so we need to get to the bottom of this somehow.

imod commented 5 years ago

@martinlippert I just downloaded 'Eclipse 2019-06 RC1', opened my existing workspace and the call hierarchy is working!

During startup, it migrated the workspace from my current STS version to the new Eclipse version.

My current STS version is:

Spring Tool Suite 4 
Version: 4.2.0.RELEASE
Build Id: 201903290550

...can't wait for a new STS version based on the new eclipse version :)

kdvolder commented 5 years ago

can't wait for a new STS version based on the new eclipse version :)

Well, you can try a nightly build based on latest Eclipse milestone already. Download it from the nightly / snapshot builds page: http://dist.springsource.com/snapshot/STS4/nightly-distributions.html

If you do try it, let us know if it indeed solves the issue for you so we can close this ticket.

imod commented 5 years ago

thanks @kdvolder I installed a nightly build:

Spring Tool Suite 4 
Version: 4.3.0.CI-B1882
Build Id: 201906140946

and from what I can say, this issues is resolved (at least for me - :) )

xadalun commented 5 years ago

I just tried it out using eclipse-jee-2019-06-RC1-win32-x86_64 and can confirm that Ctrl-Alt-H is now working as excepcted with a project that did not work with the 2019-03 release! Good job!

martinlippert commented 5 years ago

Thanks @imod and @xadalun for the feedback and great to hear that it is working again using the latest CI builds. We plan to ship the next release of STS4 based on the new Eclipse version by the end of this week.