Community
Participate
Working Groups
After I installed the com.example.root feature and restart the workbench, the startup sequence loops infinitely.
The test update site is: http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-update- home/optionalSite/ It appears that on every restart the application to run is the reconciler and this is caused by changes in the feature timestamps: PlatformConfiguration.getApplicationIdentifier() line 1111
The platform startup has some fairly intricate paths, and this could also be related to bug 47458
I think I tracked down the problem to the ConfiguratorAdaptor, and I have probably uncovered a bug in the update code as well: - after we install a new feature, a new metadata file is saved in the platform.cfg.metadata folder. - At the same time, the timestamps on the PlatformConfiguration are invalidated (a refresh() is called at some point) - it looks like update mgr writes the platform.cfg but before doing the above timestamp invalidation, so old timestamps are used - so far, I think this is a bug in the old code as well, because we should probably rewrite the platform.cfg correctly - now, what is missing, compared to pre-equinox is: we used to call PlatformConfiguration.shutdown, but this code is now moved to ConfiguratorAdaptor. - however, the code in the configurator adaptor that calls PlatformConfig.shutdown is never called. Pascal/Jeff, do you have a better understanding of why the shutdown is now called ?
Last sentence should read "not called?" Basically, the PlatformConfiguration.shutdown code ensure the platform.cfg file is written with correct timestamps and the code is not called now.
It is probably a mistake on our side.
Pascal, I added the code to call PlatformConfiguration.shutdown() at the begining of ConfiguratorAdaptor.stop() method. This seems to fix the problem. I tested a couple of simple scenarios and things look fine, so I released the code in HEAD.
I am not saying that this is a valid scenario, but one way to make this happen is to delete the platform.cfg file (but not the platform.cfg.metadata directory). Next time you start, a directory (!) called platform.cfg is created in the .config directory, and it keeps restarting forever. I would guess that mkdirs() is being called on the platform.cfg location file object. When we restart, we still don't have a file platform.cfg, then we restart again, and so on... I am not familiar with that code, so this is just a wild guess.
Rafael, with the latest fix (comment #6) you can remove platform.cfg and restart, things should work fine. Try tonight's build and see if this is still a problem.
The bug is still in N20031208. Dorian, is your fix still in?
Pascal, it works for me. Can you provide the steps to the problem you are seeing?
Never mind, I was using the wrong drop :-( Sorry for the confusion. It works for me too.