I am not sure what started this problem. I submitted it as a bug to Eclipse but they closed it, stating it is a JBoss extension problem. However, this problem doesn't occur in my other workspace (both utilize the JBoss tools).
It occurs every time I hit Ctrl+Shift+T to open a new type. It only reports the "Cache Refresh" error. Then when I type in a search string and hit OK, it pops up both the "Cache Refresh" error and a "Items filtering" error. Both of these report NPEs.
I inspected the logs but don't see anything jboss-specific in the stacks.
Cache refresh:
!ENTRY org.eclipse.core.jobs 4 2 2011-04-19 11:55:05.983
!MESSAGE An internal error occurred during: "Cache refresh".
!STACK 0
java.lang.NullPointerException
at org.jboss.ide.eclipse.as.classpath.core.ejb3.EJB3ClasspathContainer.getClasspathEntries(EJB3ClasspathContainer.java:106)
at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:2656)
at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:2788)
at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:1920)
at org.eclipse.jdt.internal.core.search.JavaWorkspaceScope.enclosingProjectsAndJars(JavaWorkspaceScope.java:84)
at org.eclipse.jdt.internal.core.search.IndexSelector.initializeIndexLocations(IndexSelector.java:181)
at org.eclipse.jdt.internal.core.search.IndexSelector.getIndexLocations(IndexSelector.java:276)
at org.eclipse.jdt.internal.core.search.JavaSearchParticipant.selectIndexes(JavaSearchParticipant.java:107)
at org.eclipse.jdt.internal.core.search.PatternSearchJob.getIndexes(PatternSearchJob.java:79)
at org.eclipse.jdt.internal.core.search.PatternSearchJob.ensureReadyToRun(PatternSearchJob.java:50)
at org.eclipse.jdt.internal.core.search.processing.JobManager.performConcurrentJob(JobManager.java:174)
at org.eclipse.jdt.internal.core.search.BasicSearchEngine.searchAllTypeNames(BasicSearchEngine.java:1135)
at org.eclipse.jdt.core.search.SearchEngine.searchAllTypeNames(SearchEngine.java:744)
at org.eclipse.jdt.internal.ui.dialogs.FilteredTypesSelectionDialog$ConsistencyRunnable.refreshSearchIndices(FilteredTypesSelectionDialog.java:654)
at org.eclipse.jdt.internal.ui.dialogs.FilteredTypesSelectionDialog$ConsistencyRunnable.run(FilteredTypesSelectionDialog.java:637)
at org.eclipse.jdt.internal.ui.dialogs.FilteredTypesSelectionDialog.reloadCache(FilteredTypesSelectionDialog.java:680)
at org.eclipse.ui.dialogs.FilteredItemsSelectionDialog$RefreshCacheJob.run(FilteredItemsSelectionDialog.java:1508)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Items Filtering:
java.lang.NullPointerException
at org.jboss.ide.eclipse.as.classpath.core.ejb3.EJB3ClasspathContainer.getClasspathEntries(EJB3ClasspathContainer.java:106)
at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:2656)
at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:2788)
at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:1920)
at org.eclipse.jdt.internal.core.search.JavaWorkspaceScope.enclosingProjectsAndJars(JavaWorkspaceScope.java:84)
at org.eclipse.jdt.internal.core.search.IndexSelector.initializeIndexLocations(IndexSelector.java:181)
at org.eclipse.jdt.internal.core.search.IndexSelector.getIndexLocations(IndexSelector.java:276)
at org.eclipse.jdt.internal.core.search.JavaSearchParticipant.selectIndexes(JavaSearchParticipant.java:107)
at org.eclipse.jdt.internal.core.search.PatternSearchJob.getIndexes(PatternSearchJob.java:79)
at org.eclipse.jdt.internal.core.search.PatternSearchJob.ensureReadyToRun(PatternSearchJob.java:50)
at org.eclipse.jdt.internal.core.search.processing.JobManager.performConcurrentJob(JobManager.java:174)
at org.eclipse.jdt.internal.core.search.BasicSearchEngine.searchAllTypeNames(BasicSearchEngine.java:1135)
at org.eclipse.jdt.core.search.SearchEngine.searchAllTypeNames(SearchEngine.java:846)
at org.eclipse.jdt.internal.ui.dialogs.FilteredTypesSelectionDialog.fillContentProvider(FilteredTypesSelectionDialog.java:557)
at org.eclipse.ui.dialogs.FilteredItemsSelectionDialog$FilterJob.filterContent(FilteredItemsSelectionDialog.java:2188)
at org.eclipse.ui.dialogs.FilteredItemsSelectionDialog$FilterJob.internalRun(FilteredItemsSelectionDialog.java:2130)
at org.eclipse.ui.dialogs.FilteredItemsSelectionDialog$FilterJob.doRun(FilteredItemsSelectionDialog.java:2102)
at org.eclipse.ui.dialogs.FilteredItemsSelectionDialog$FilterJob.run(FilteredItemsSelectionDialog.java:2089)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
I had to reinstall Helios (SR2) to make these errors go away.