1. A method of fixing an error in a software application, said method comprising: receiving in said software application, data indicating a set of tasks to be performed for fixing said error; determining, in said software application, a first subset of tasks requiring termination of execution of said software application and a second subset of tasks which are to be performed during execution of said software application, wherein each of said first subset of tasks and said second subset of tasks is contained in said set of tasks; performing, in said software application, said second subset of tasks during execution of said software application, wherein said receiving and determining are also performed during execution of said software application; and initiating, from said software application, execution of a new process after performing said second subset of tasks, wherein said new process, upon execution, terminates said software application, performs said first subset of tasks during said non-execution state of said software application and restarts execution of said software application after performing said first subset of tasks, wherein said first subset of tasks are performed during the non-execution state of said software in response to said initiating and wherein both of said first subset of tasks and said second subset of tasks are performed to fix said error.