OpenLiberty / open-liberty-tools

Open Liberty Tools are lightweight tools for developing, assembling, and deploying apps to Open Liberty.
http://openliberty.io
Eclipse Public License 1.0
51 stars 41 forks source link

Eclipse takes a very long time to initialize (seems to hang on startup) loading feature metadata for Liberty Server(s). #493

Closed scottkurz closed 4 months ago

scottkurz commented 9 months ago

With Eclipse + LDT versions:

In a previous session, I had previously created a couple of Runtime Environments / Servers.

Later, Eclipse seemed to hang on startup. This happened with both a Semeru Open J9 and Hotspot-based Java 17 JDK.

I took a java dump (for Semeru) (sorry, IBM-internal link here).

It's not actually "hung" or deadlocked in a strict sense at this point but it is in a loop that is going to take a long time to finish...

So we're looping through and doing this for each feature in the runtime... and waiting 6 minutes for each.

FeatureListCoreMetadata(Metadata<PayloadType>).getGeneratedInfo(IMetadataGenerator) line: 124   
FeatureListCoreMetadata(AbstractFeatureListMetadata).getFeatureListMaps(IMetadataGenerator) line: 39    
FeatureList.getFeatureMap(WebSphereRuntime) line: 303   
FeatureList.getFeature(String, WebSphereRuntime) line: 327  
FeatureList.getFeatureAPIJars(String, WebSphereRuntime) line: 230   
WebSphereRuntimeClasspathHelper.findFeaturesPerJar() line: 74   

It seems like the reason it's not exiting out of the loop is that the com.ibm.ws.st.core.internal.generation.GeneratorJob.run(IProgressMonitor) gets scheduled through this call hierarchy, but it never actually gets to run

(Here's a Call Hierarchy screenshot).

image

pnickoll commented 6 months ago

Think fix #500 should fix this

mattcolegate commented 4 months ago

Tested yesterday with latest build and was not able to recreate - I believe this issue has been resolved by the fix mentioned, so I'm closing the issue. Please feel free to re-open if you stll have this issue using latest development build.