Inadvertent freed storage recovery
First Claim
1. A method for recovering from an abnormal termination error condition, the method comprising:
- detecting when an abnormal termination error condition has occurred;
determining whether the abnormal termination error condition was due to a program referencing storage that has not been obtained;
determining whether the storage that has not been obtained was recently freed storage; and
,reobtaining the recently freed storage when the storage that has not been obtained is recently freed storage; and
whereinthe determining whether the storage that has not been obtained was recently freed comprises scanning a history of storage freeing operations; and
,the abnormal termination error comprises a page translation exception event.
1 Assignment
0 Petitions
Accused Products
Abstract
An abnormal termination recovery is performed where storage is referenced shortly after the storage has been freed. More specifically, when storage is freed, and that storage is accessed, an abnormal termination error (e.g., a page translation exception event) occurs due to referencing storage that has not been obtained. When the abnormal termination error occurs, an abnormal termination recovery operation is accessed. The abnormal termination recovery operation scans a history of storage freeing operations (e.g., FREEMAIN operations) to determine whether the storage location accessed by the storage access that caused the abnormal termination error was recently freed from within the same address space. If the storage location was recently freed, then the abnormal termination recovery operation reverses the storage freeing operation by issuing a storage obtaining operation (e.g., a GETMAIN operation) to re-obtain the storage.
-
Citations
18 Claims
-
1. A method for recovering from an abnormal termination error condition, the method comprising:
-
detecting when an abnormal termination error condition has occurred; determining whether the abnormal termination error condition was due to a program referencing storage that has not been obtained; determining whether the storage that has not been obtained was recently freed storage; and
,reobtaining the recently freed storage when the storage that has not been obtained is recently freed storage; and
whereinthe determining whether the storage that has not been obtained was recently freed comprises scanning a history of storage freeing operations; and
,the abnormal termination error comprises a page translation exception event. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system comprising:
-
a processor; a data bus coupled to the processor; and a computer-usable medium embodying computer program code, the computer-usable medium being coupled to the data bus, the computer program code comprising instructions executable by the processor and configured for; detecting when an abnormal termination error condition has occurred; determining whether the abnormal termination error condition was due to a program referencing storage that has not been obtained; determining whether the storage that has not been obtained was recently freed storage; and
,reobtaining the recently freed storage when the storage that has not been obtained is recently freed storage; and
whereinthe determining whether the storage that has not been obtained was recently freed comprises scanning a history of storage freeing operations; and
,the abnormal termination error comprises a page translation exception event. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A non-transitory computer-usable medium embodying computer program code, the computer program code comprising computer executable instructions configured for:
-
detecting when an abnormal termination error condition has occurred; determining whether the abnormal termination error condition was due to a program referencing storage that has not been obtained; determining whether the storage that has not been obtained was recently freed storage; and
,reobtaining the recently freed storage when the storage that has not been obtained is recently freed storage; and
whereinthe determining whether the storage that has not been obtained was recently freed comprises scanning a history of storage freeing operations; and
,the abnormal termination error comprises a page translation exception event. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification