Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 319810

Summary: eclipse disappeared while index->update with modified file
Product: [Tools] CDT Reporter: Yevgeny Shifrin <yevshif>
Component: cdt-indexerAssignee: Project Inbox <cdt-indexer-inbox>
Status: RESOLVED FIXED QA Contact: Markus Schorn <mschorn.eclipse>
Severity: critical    
Priority: P3 CC: aleherb+eclipse, jamesblackburn+eclipse
Version: 7.0   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard:

Description Yevgeny Shifrin CLA 2010-07-14 02:44:23 EDT
Build Identifier: 20100617-1415

Hi,

I've been using eclipse 3.6 with CDT 7.0 for ~3 weeks now. I don't use automatic indexing, from time to time I invoke "Index->Update with Modified Files". Yesterday when doing this action eclipse "disappeared". I invoked it and got the following exception:
!ENTRY org.eclipse.core.resources 2 10035 2010-07-13 16:29:30.577
!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.

I tried to repeat "update with modified files" action but it did not do anything. I closed the c++ project and got the following exception:
!ENTRY org.eclipse.cdt.core 4 0 2010-07-13 16:33:48.270
!MESSAGE Error: attempt to set description for a project which does not exist or not open
!STACK 1
org.eclipse.core.runtime.CoreException: attempt to set description for a project which does not exist or not open
	at org.eclipse.cdt.internal.core.settings.model.xml.XmlProjectDescriptionStorage.setCurrentDescription(XmlProjectDescriptionStorage.java:370)
	at org.eclipse.cdt.internal.core.settings.model.xml.XmlProjectDescriptionStorage.setLoaddedDescriptionOnLoad(XmlProjectDescriptionStorage.java:348)
	at org.eclipse.cdt.internal.core.settings.model.xml.XmlProjectDescriptionStorage.getProjectDescription(XmlProjectDescriptionStorage.java:247)
	at org.eclipse.cdt.internal.core.settings.model.CProjectDescriptionManager.getProjectDescriptionInternal(CProjectDescriptionManager.java:416)
	at org.eclipse.cdt.internal.core.settings.model.CProjectDescriptionManager.getProjectDescription(CProjectDescriptionManager.java:398)
	at org.eclipse.cdt.internal.core.settings.model.CProjectDescriptionManager.getProjectDescription(CProjectDescriptionManager.java:393)
	at org.eclipse.cdt.internal.core.settings.model.CProjectDescriptionManager.getProjectDescription(CProjectDescriptionManager.java:386)
	at org.eclipse.cdt.internal.core.model.CContainerInfo.getNonCResources(CContainerInfo.java:66)
	at org.eclipse.cdt.internal.core.model.CContainer.getNonCResources(CContainer.java:202)
	at org.eclipse.cdt.internal.ui.BaseCElementContentProvider.getCResources(BaseCElementContentProvider.java:573)
	at org.eclipse.cdt.internal.ui.BaseCElementContentProvider.getChildren(BaseCElementContentProvider.java:220)
	at org.eclipse.cdt.internal.ui.cview.CViewContentProvider.getChildren(CViewContentProvider.java:89)
	at org.eclipse.cdt.internal.ui.navigator.CNavigatorContentProvider.getChildren(CNavigatorContentProvider.java:263)
	at org.eclipse.ui.internal.navigator.extensions.SafeDelegateTreeContentProvider.getChildren(SafeDelegateTreeContentProvider.java:96)
	at org.eclipse.ui.internal.navigator.extensions.SafeDelegateTreeContentProvider.getChildren(SafeDelegateTreeContentProvider.java:275)
	at org.eclipse.ui.internal.navigator.extensions.SafeDelegateTreeContentProvider.getChildren(SafeDelegateTreeContentProvider.java:94)
	at org.eclipse.ui.internal.navigator.NavigatorContentServiceContentProvider$1.run(NavigatorContentServiceContentProvider.java:150)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.ui.internal.navigator.NavigatorContentServiceContentProvider.internalGetChildren(NavigatorContentServiceContentProvider.java:137)
	at org.eclipse.ui.internal.navigator.NavigatorContentServiceContentProvider.getChildren(NavigatorContentServiceContentProvider.java:123)
	at org.eclipse.jface.viewers.AbstractTreeViewer.getRawChildren(AbstractTreeViewer.java:1348)
	at org.eclipse.jface.viewers.TreeViewer.getRawChildren(TreeViewer.java:391)
	at org.eclipse.jface.viewers.StructuredViewer.getFilteredChildren(StructuredViewer.java:896)
	at org.eclipse.jface.viewers.AbstractTreeViewer.getSortedChildren(AbstractTreeViewer.java:601)
	at org.eclipse.jface.viewers.AbstractTreeViewer.updateChildren(AbstractTreeViewer.java:2579)
	at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefreshStruct(AbstractTreeViewer.java:1867)
	at org.eclipse.jface.viewers.TreeViewer.internalRefreshStruct(TreeViewer.java:721)
	at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:1842)
	at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:1799)
	at org.eclipse.ui.navigator.CommonViewer.internalRefresh(CommonViewer.java:561)
	at org.eclipse.jface.viewers.StructuredViewer$8.run(StructuredViewer.java:1514)
	at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1422)
	at org.eclipse.jface.viewers.TreeViewer.preservingSelection(TreeViewer.java:403)
	at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1383)
	at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1512)
	at org.eclipse.jface.viewers.ColumnViewer.refresh(ColumnViewer.java:548)
	at org.eclipse.ui.navigator.CommonViewer.refresh(CommonViewer.java:350)
	at org.eclipse.ui.navigator.CommonViewer.refresh(CommonViewer.java:510)
	at org.eclipse.cdt.ui.CElementContentProvider$RefreshElement.refresh(CElementContentProvider.java:366)
	at org.eclipse.cdt.ui.CElementContentProvider$1.run(CElementContentProvider.java:443)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3527)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3174)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2629)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2593)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2427)
	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:670)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:663)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:616)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1407)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1383)
!SUBENTRY 1 org.eclipse.cdt.core 4 -1 2010-07-13 16:33:48.271
!MESSAGE attempt to set description for a project which does not exist or not open

After reopening c++ project it started to reindex the project from scratch. 

I will be more than happy to provide any additional information that could help understand / solving this issue.

Thanks a lot,
Yevgeny

Reproducible: Couldn't Reproduce

Steps to Reproduce:
Happened once, cannot reproduce it again.
Comment 1 James Blackburn CLA 2010-07-14 05:49:43 EDT
The 'disappearing' is your JVM crashing. Which JVM version is it? Is there an error log?

The exception is logged when an attempt to set the project description on a project which isn't accessible -- this isn't a fatal error in any way.
Comment 2 Yevgeny Shifrin CLA 2010-07-14 06:37:39 EDT
Hi,

yevgenys@yevgenys-lnx:~$java -version
java version "1.6.0_18"
OpenJDK Runtime Environment (IcedTea6 1.8) (6b18-1.8-0ubuntu1)
OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode)

Any ideas where I can find JVM crash log (I am running on linux Ubuntu)?

Thanks,
Yevgeny
Comment 3 James Blackburn CLA 2010-07-14 06:58:39 EDT
Not sure I'm afraid.
Try `ulimit -c unlimited` before starting eclipse to generate a core file on crash.

Most Eclipse users use either a Sun VM or an IBM VM:
http://www.eclipse.org/projects/project-plan.php?planurl=http://www.eclipse.org/eclipse/development/plans/eclipse_project_plan_3_6.xml#target_environments

A JVM crash is not eclipse unless it's in one of our shared objects; feel free to re-open if you can pin this down to eclipse.
Comment 4 Yevgeny Shifrin CLA 2010-07-14 13:40:06 EDT
(In reply to comment #3)
> Not sure I'm afraid.
> Try `ulimit -c unlimited` before starting eclipse to generate a core file on
> crash.
> 
> Most Eclipse users use either a Sun VM or an IBM VM:
> http://www.eclipse.org/projects/project-plan.php?planurl=http://www.eclipse.org/eclipse/development/plans/eclipse_project_plan_3_6.xml#target_environments
> 
> A JVM crash is not eclipse unless it's in one of our shared objects; feel free
> to re-open if you can pin this down to eclipse.

Hi,

Thanks for the quick reply. I'll try switching to SUN JDK. Unfortunately this issue happened again today, I am still not able to locate any log / core file.

Best regards,
Yevgeny