Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 359918 - Persistent saving of framework state appears to be disabled if an exception occurs at the wrong time
Summary: Persistent saving of framework state appears to be disabled if an exception o...
Status: RESOLVED WORKSFORME
Alias: None
Product: Equinox
Classification: Eclipse Project
Component: Framework (show other bugs)
Version: unspecified   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: Kepler   Edit
Assignee: Thomas Watson CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-10-04 16:41 EDT by Erin Schnabel CLA
Modified: 2013-02-11 13:53 EST (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Erin Schnabel CLA 2011-10-04 16:41:40 EDT
Build Identifier: 

if something happens like bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=359294 then the persistent saving of framework state seems to be disabled.

This leads to very strange behavior: bundles that were supposedly uninstalled are actually still alive and in the framework after restart, despite being uninstalled. (i.e. no apparent failure indicating that uninstall failed.. )

This is based on a post-mortem with Tom... 

Reproducible: Didn't try
Comment 1 Thomas Watson CLA 2011-10-04 17:03:11 EDT
We should be more protective in the state saver thread to make sure that all state saving is disabled on runtime exception during one save.
Comment 2 Thomas Watson CLA 2012-03-05 16:24:18 EST
Upon further review I am not sure what improvements we need to make here.  Erin, I assume you always ensure the framework is shutdown?  That should force the .bundledata to be written with the very latest information even if an exception is thrown while writing the .state .lazy.  So far I have not figured out how to reproduce the strange behavior you describe.
Comment 3 Thomas Watson CLA 2013-02-11 13:53:51 EST
Returning as works for me.  I was unable to reproduce the issue.