Search code examples
javaeclipseeclipse-kepler

Eclipse (Kepler) Workspace acting weird (type hierarchy, searching for references not working)


Using Eclipse Kepler Running on Windows 7 (64-Bit), my workspace is acting weird.

The following is not working (workspace wide):

  • Type hierarchy of a class / method is showing up empty
  • searching for references

Have tried to

  • Rebuilding / Cleaning / Closing & Opening Projects
  • Restart Eclipse
  • Reboot
  • Boot Eclipse in Clean mode (-clean)
  • Clear out indexes manually

The only thing that has worked so far is switching to a new workspace and checking out one of my projects there. However, this is very suboptimal, since I have a certain amount of projects and settings in my current workspace.

EDIT - Stack Trace

I'm getting the following stack trace when I specifically "Focus On" in Type Hierarchy view:

!ENTRY org.eclipse.core.jobs 4 2 2013-12-19 15:08:39.156
!MESSAGE An internal error occurred during: "Computing type hierarchy of 'String - java.lang'...".
!STACK 0
java.lang.NullPointerException
    at org.eclipse.core.runtime.Path.<init>(Path.java:183)
    at org.eclipse.core.internal.resources.WorkspaceRoot.getProject(WorkspaceRoot.java:182)
    at org.eclipse.jdt.internal.core.JavaModel.getJavaProject(JavaModel.java:189)
    at org.eclipse.jdt.internal.core.search.IndexSelector.getJavaProject(IndexSelector.java:286)
    at org.eclipse.jdt.internal.core.search.IndexSelector.initializeIndexLocations(IndexSelector.java:217)
    at org.eclipse.jdt.internal.core.search.IndexSelector.getIndexLocations(IndexSelector.java:276)
    at org.eclipse.jdt.internal.core.search.JavaSearchParticipant.selectIndexURLs(JavaSearchParticipant.java:121)
    at org.eclipse.jdt.internal.core.search.PatternSearchJob.getIndexes(PatternSearchJob.java:84)
    at org.eclipse.jdt.internal.core.search.SubTypeSearchJob.getIndexes(SubTypeSearchJob.java:33)
    at org.eclipse.jdt.internal.core.search.PatternSearchJob.ensureReadyToRun(PatternSearchJob.java:52)
    at org.eclipse.jdt.internal.core.search.processing.JobManager.performConcurrentJob(JobManager.java:174)
    at org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.searchAllPossibleSubTypes(IndexBasedHierarchyBuilder.java:523)
    at org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.determinePossibleSubTypes(IndexBasedHierarchyBuilder.java:406)
    at org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.build(IndexBasedHierarchyBuilder.java:120)
    at org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.compute(TypeHierarchy.java:300)
    at org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.refresh(TypeHierarchy.java:1267)
    at org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation.executeOperation(CreateTypeHierarchyOperation.java:90)
    at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)
    at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:788)
    at org.eclipse.jdt.internal.core.BinaryType.newTypeHierarchy(BinaryType.java:918)
    at org.eclipse.jdt.internal.core.BinaryType.newTypeHierarchy(BinaryType.java:876)
    at org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyLifeCycle.createTypeHierarchy(TypeHierarchyLifeCycle.java:299)
    at org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyLifeCycle.doHierarchyRefresh(TypeHierarchyLifeCycle.java:330)
    at org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyLifeCycle.doHierarchyRefreshBackground(TypeHierarchyLifeCycle.java:271)
    at org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyLifeCycle$2.run(TypeHierarchyLifeCycle.java:224)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)

Anyone?


Solution

  • Found the problem.

    For some reason, I had a corrupt resource on one of my projects. It didn't show up in the package tree, but it did show in the error log in Eclipse as

    Error while creating a link for external folder X:\somefolder

    After checking every project (because the error didn't point to one), I indeed found this resource in one of the build paths (in Configure Build Path menu it did show an error icon!) and deleted it.

    Now, everything works again!

    Thanks everyone for replying / commenting. Posting this for future developers experiencing the same problem.

    Lesson learned: do (extensively) check your Eclipse error log!