| Summary: | [target] Target editor claims file is not current but was created seconds before | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | [Eclipse Project] PDE | Reporter: | Nick Boldt <nboldt> | ||||||
| Component: | UI | Assignee: | PDE-UI-Inbox <pde-ui-inbox> | ||||||
| Status: | VERIFIED WORKSFORME | QA Contact: | |||||||
| Severity: | normal | ||||||||
| Priority: | P3 | CC: | ankur_sharma, caniszczyk, curtis.windatt.public, darin.eclipse, felix.riegger, jeffmcaffer | ||||||
| Version: | 3.6 | ||||||||
| Target Milestone: | 3.7 M5 | ||||||||
| Hardware: | PC | ||||||||
| OS: | Linux | ||||||||
| Whiteboard: | |||||||||
| Attachments: |
|
||||||||
Actual target file is here, fwiw: http://anonsvn.jboss.org/repos/jbosstools/trunk/build/target-platform/e36-wtp32.target Was there any error log entry/stack trace associated with this error? I was no able to reproduce with a different target file (that used the latest 3.7 build from a p2 repo). Same issue here. Log entry contained the following stack trace: java.lang.IllegalStateException: Profile TARGET_DEFINITION:resource:/target_platform/abc.target is not current. Expected timestamp 1287999978443 but was 1287999974909. at org.eclipse.equinox.internal.p2.engine.SimpleProfileRegistry.lockProfile(SimpleProfileRegistry.java:742) at org.eclipse.equinox.internal.p2.engine.Engine.perform(Engine.java:65) at org.eclipse.equinox.internal.p2.engine.Engine.perform(Engine.java:44) at org.eclipse.pde.internal.core.target.IUBundleContainer.resolveWithPlanner(IUBundleContainer.java:268) at org.eclipse.pde.internal.core.target.IUBundleContainer.resolveBundles(IUBundleContainer.java:195) at org.eclipse.pde.internal.core.target.AbstractBundleContainer.resolve(AbstractBundleContainer.java:97) at org.eclipse.pde.internal.core.target.TargetDefinition.resolve(TargetDefinition.java:239) at org.eclipse.pde.internal.core.target.provisional.LoadTargetDefinitionJob.handleReload(LoadTargetDefinitionJob.java:362) at org.eclipse.pde.internal.core.target.provisional.LoadTargetDefinitionJob.loadPlugins(LoadTargetDefinitionJob.java:284) at org.eclipse.pde.internal.core.target.provisional.LoadTargetDefinitionJob.runInWorkspace(LoadTargetDefinitionJob.java:141) at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) Alternative steps to reproduce: 1. Close project containing target file (target file is removed from possible target platforms list) 2. Reopen project 3. Open target file in target platform editor 4. Click Set as Target Platform PDE Version 3.6.1 In fact the error occurs only if the following steps are performed: 1. Open the target file with the target platform editor 2. While it's still stating: "Resolving Target Definition" click on Set as Target Platform -> while loading the target platform the error occurs It seems to be a concurrency issue. Created attachment 181932 [details]
Proposed patch for the described issue
The described issue is caused by a conflict between the resolving of the target platform and the setting of the target platform in the target editor. The attached patch introduces some changes to the TargetEditor class. The change makes sure that the job triggered by "Set target platform" is only executed after the "Resolving target platform" job has finished.
With the fix for bug 331068, I haven't seen any more of these. Can you please try to reproduce with 3.7 M4 when it comes out? Not reproducible anymore with 3.7M4 I20101208-1300. Closing as WORKFORME. If anyone sees the issue using 3.7 M4 or later, please reopen. Verified in I20110124-1800. It hasn't regressed in M5. |
Created attachment 177350 [details] screenshot: TP editor claims file is not current, but was created seconds before Steps to reproduce: 1.) select a .target file. copy it. open it with target platform editor 2.) mumble annoyed rantings at self because editor it too wide for editor area 3.) scroll right and click Set as Target Platform 4.) wait for it... 5.) see screenshot: An internal error occurred during: "Load Target Platform". Profile TARGET_DEFINITION:resource:/target-platform/Copy%20(2)%20of%20e36-wtp32.target is not current. Expected timestamp 1282670872534 but was 1282670658475.