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

Bug 181567

Summary: DBCS3.3: FileNotFoundException when reading the cached state
Product: [Eclipse Project] Equinox Reporter: Karim Hamzaoui <karim>
Component: FrameworkAssignee: equinox.framework-inbox <equinox.framework-inbox>
Status: CLOSED DUPLICATE QA Contact:
Severity: blocker    
Priority: P3 CC: apnan, camle, kitlo, paulslau, steven.wasleski, tjwatson, wassim.melhem
Version: 3.3   
Target Milestone: ---   
Hardware: Sun   
OS: Solaris-GTK   
Whiteboard:

Description Karim Hamzaoui CLA 2007-04-09 04:31:00 EDT
Description: 
Cannot create a TPTP JUnit Test, since Eclipse freezes after clicking "Next" on the "New Test Element" Wizard.

 Build date: I20070406-1600
 OS: Solaris 10 11/06 (Sparc GTK )   

Steps to recreate problem:

1. Create a new Java project
2. Switch to Test perspective: Window > Open Perspective > Other…, select Test
3. In the Test Navigator view, right click on the Java Project you created, New > Test Element… The New Test Element Wizard comes up.
4. Choose TPTP JUnit Test and click Next.

 Expected output:
Eclipse not being able to find a .state file under org.eclipse.pde.core and freezes throwing the following error:

java.io.FileNotFoundException: /path_To_workspace/.metadata/.plugins/org.eclipse.pde.core/-130580594205.target/.state (No such file or directory)
        at java.io.FileInputStream.open(Native Method)
        at java.io.FileInputStream.<init>(FileInputStream.java:106)
        at org.eclipse.osgi.framework.util.SecureAction.getFileInputStream(SecureAction.java:124)
        at org.eclipse.osgi.internal.resolver.StateReader.readState(StateReader.java:76)
        at org.eclipse.osgi.internal.resolver.StateReader.loadState(StateReader.java:532)
        at org.eclipse.osgi.internal.resolver.StateObjectFactoryImpl.internalReadState(StateObjectFactoryImpl.java:313)
        at org.eclipse.osgi.internal.resolver.StateObjectFactoryImpl.readState(StateObjectFactoryImpl.java:283)
        at org.eclipse.pde.internal.core.PDEState.readStateCache(PDEState.java:196)
        at org.eclipse.pde.internal.core.PDEState.readTargetState(PDEState.java:101)
        at org.eclipse.pde.internal.core.PDEState.<init>(PDEState.java:81)
        at org.eclipse.pde.internal.core.PluginModelManager.initializeTable(PluginModelManager.java:324)
        at org.eclipse.pde.internal.core.PluginModelManager.getEntryTable(PluginModelManager.java:303)
        at org.eclipse.pde.internal.core.PluginModelManager.getActiveModels(PluginModelManager.java:647)
        at org.eclipse.pde.core.plugin.PluginRegistry.getActiveModels(PluginRegistry.java:124)
        at org.eclipse.pde.core.plugin.PluginRegistry.getActiveModels(PluginRegistry.java:104)
        at org.eclipse.hyades.test.tools.core.internal.common.codegen.JavaProjectDependencyUpdater$ProjectClasspathChange.computePath(JavaProjectDependencyUpdater.java:125)
        at org.eclipse.hyades.test.tools.core.internal.common.codegen.JavaProjectDependencyUpdater$ProjectClasspathChange.getPreview(JavaProjectDependencyUpdater.java:105)
        at org.eclipse.hyades.test.tools.core.internal.common.codegen.JavaProjectDependencyUpdater.previewAdjustProject(JavaProjectDependencyUpdater.java:392)
        at org.eclipse.hyades.test.tools.core.internal.common.codegen.AutomaticDependencyUpdater.previewAdjustProject(AutomaticDependencyUpdater.java:86)
        at org.eclipse.hyades.test.tools.core.internal.common.codegen.DelegateProjectDependencyUpdater.previewAdjustProject(DelegateProjectDependencyUpdater.java:49)
        at org.eclipse.hyades.test.tools.ui.java.internal.junit.wizard.SourcePage.validateProjectClasspath(SourcePage.java:310)
        at org.eclipse.hyades.test.tools.ui.java.internal.junit.wizard.SourcePage.containerChanged(SourcePage.java:287)
        at org.eclipse.jdt.ui.wizards.NewContainerWizardPage.containerDialogFieldChanged(NewContainerWizardPage.java:300)
        at org.eclipse.jdt.ui.wizards.NewContainerWizardPage.access$1(NewContainerWizardPage.java:298)
        at org.eclipse.jdt.ui.wizards.NewContainerWizardPage$ContainerFieldAdapter.dialogFieldChanged(NewContainerWizardPage.java:286)
        at org.eclipse.jdt.internal.ui.wizards.dialogfields.DialogField.dialogFieldChanged(DialogField.java:71)
        at org.eclipse.jdt.internal.ui.wizards.dialogfields.StringDialogField.setText(StringDialogField.java:162)
        at org.eclipse.jdt.ui.wizards.NewContainerWizardPage.setPackageFragmentRoot(NewContainerWizardPage.java:448)
        at org.eclipse.jdt.ui.wizards.NewContainerWizardPage.initContainerPage(NewContainerWizardPage.java:159)
        at org.eclipse.hyades.test.tools.ui.java.internal.junit.wizard.SourcePage.init(SourcePage.java:102)
        at org.eclipse.hyades.test.tools.ui.java.internal.junit.wizard.JUnitTestSuiteNewWizard.initSourcePage(JUnitTestSuiteNewWizard.java:169)
        at org.eclipse.hyades.test.tools.ui.java.internal.junit.wizard.JUnitTestSuiteNewWizard.initPages(JUnitTestSuiteNewWizard.java:95)
        at org.eclipse.hyades.ui.internal.wizard.HyadesWizard.init(HyadesWizard.java:80)
        at org.eclipse.ui.internal.dialogs.WorkbenchWizardNode.getWizard(WorkbenchWizardNode.java:175)
        at org.eclipse.jface.wizard.WizardSelectionPage.getNextPage(WizardSelectionPage.java:104)
        at org.eclipse.ui.internal.dialogs.WorkbenchWizardSelectionPage.getNextPage(WorkbenchWizardSelectionPage.java:100)
        at org.eclipse.jface.wizard.WizardDialog.nextPressed(WizardDialog.java:761)
        at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:358)
        at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:616)
        at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:227)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1097)
        at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3256)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2923)
        at org.eclipse.jface.window.Window.runEventLoop(Window.java:820)
        at org.eclipse.jface.window.Window.open(Window.java:796)
        at org.eclipse.ui.actions.NewWizardAction.run(NewWizardAction.java:182)
        at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
        at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:545)
        at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:490)
        at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:402)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1097)
        at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3256)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2923)
        at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2337)
        at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2301)
        at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2176)
        at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:463)
        at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)
        at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:458)
        at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
        at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:101)
        at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:146)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:356)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:171)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:476)
        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:416)
        at org.eclipse.equinox.launcher.Main.run(Main.java:1141)
Comment 1 Kent D Siefkes CLA 2007-04-09 10:13:47 EDT
Solaris is not a supported workbench platform for TPTP (only Windows & Linux).  We do support remote test execution on Solaris, but as I read this defect it is a workbench defect.
Comment 2 Cam-Thu Le CLA 2007-04-09 12:36:23 EDT
Enablement Test is supported on Solaris/GTK for eclipse 3.3. 
Comment 3 Karim Hamzaoui CLA 2007-04-09 12:42:26 EDT
Yes it is supported on Solaris/GTK.
Reopening the bug.
Comment 4 Karim Hamzaoui CLA 2007-04-09 13:04:04 EDT
I just noticed that the problem does occur only with builds newer than I20070330. I only tested from I20070402, so the change could have happened in between.
Comment 5 Kit Lo CLA 2007-04-09 13:07:16 EDT
PDE core cannot find the .state file. Can the PDE team take a look at this?
Comment 6 Kent D Siefkes CLA 2007-04-09 13:19:54 EDT
Valentina, there seems to be some misunderstanding about TPTP support of
Solaris/GTK as a workbench platform in 4.4.  I'm re-assigning this to you -
feel free to re-triage to a different platform component as appropriate.  When we get the basic platform support definitely answered, then we can revisit the defect.

Also, after checking with Harm, he corrected my statement below regarding
remote execution support.  I was answering in terms of past releases, but new
as of 4.4, Solaris is no longer supported as a remote platform (RAC) either. 
This is true as well for AIX, z/OS, and the other non-wintel/lintel platforms
for which the new AC hasn't yet been ported to.
Comment 7 Valentina Popescu CLA 2007-04-09 13:50:46 EDT
update component
Comment 8 Valentina Popescu CLA 2007-04-09 13:51:38 EDT
Paul, please reassign as appropriate
Comment 9 Paul Slauenwhite CLA 2007-04-10 07:40:12 EDT
Although this is blocking TVTing on Solaris, Solais is not a supported platform for the TPTP 4.4 workbench (or TPTP 4.4 Agent Controller).  We will clarify the TPTP 4.4 supported (local and remote) platforms with the consuming products, including the TVT Team.

Assigning to Jerome for assessment.

Jerome, this appears to be an issue in:

org.eclipse.hyades.test.tools.core.internal.common.codegen.JavaProjectDependencyUpdater$ProjectClasspathChange.computePath(JavaProjectDependencyUpdater.java:125)
Comment 10 Valentina Popescu CLA 2007-04-10 10:20:01 EDT
Starting with TPTP 4.4 Solaris is no longer a supported platform for test execution, local or remote. So unless a pre 4.4 runtime is available on a target host, TPTP test execution is no longer available on Solaris ( in 4.4 we no longer provide the runtime bundles for running a test )
From the defect description I understand that this has been opened against TPTP 4.4 which make me question the validity of the test run. 

Since TPTP 4.4 doen't provide Solaris runtime bundles, the only way to run this is by using a 4.3 or older test runtime. 

Having the updated support statement for 4.4, this defect will have a P3 priority for 4.4. TPTP may consider patching a 4.3 driver with this fix, assuming the consuming product is asking for a patch on a pre 4.4 release.
Comment 11 Paul Slauenwhite CLA 2007-04-10 16:21:35 EDT
(In reply to comment #10)

Adjusting priority and target according.
Comment 12 Paul Slauenwhite CLA 2007-04-13 11:59:33 EDT
The TPTP code causing this exception is calling the PluginRegistry.getActiveModels() API which cannot find the <workspace directory>/.metadata/.plugins/org.eclipse.pde.core/-130580594205.target/.state file.  As such, transferring to the PDE Team for triage.
Comment 13 Wassim Melhem CLA 2007-04-13 18:08:54 EDT

*** This bug has been marked as a duplicate of bug 181327 ***
Comment 14 Karim Hamzaoui CLA 2007-04-20 06:40:28 EDT
Verified in IBuild 20070419-1600. I am closing it.