
(Runtime) Vanishing Problem
We had the meltdown problem in our shop, and IBM said that there was a
problem with the garbage collection trying to clean up objects that were
no longer there. This happens when you save the image when a database
connection is still up. If you are doing a database connection, you can
see if it's up from the Organizer (Options, Database Connections). At
first, your development environment will not show any problems, but each
time you restart VisualAge, the meltdown will happen sooner and sooner,
until it dies at the first garbage collection cycle.
This problem will be exported into your runtime, which will melt down as
well.
The fix for us was to change, in AbtIbmSqlda,
allocateMemoryForRow:copyData:
comment out both places where you see abtAddToBeFinalized
and in AbtRecordStructureBaseApp, in OSObject, within the category
AbtRec-API, the method
abtMoveToOSMemory
comment out abtAddToBeFinalized.
Of course, if you're already getting the meltdown, then your development
image is already corrupted. Before making these changes, get a fresh
image.
Under OS2, this meltdown shows as a SYS3175, but under Windows NT or
Windows 95, it just disappears.
--
The condition upon which God hath given liberty
to man is eternal vigilance;
which condition if he break,
servitude is at once the consequence of his crime,
and the punishment of his guilt.
John Philpot Curran (1750-1817)
Irish lawyer, politician.
"The Right of Election of the Lord Mayor of Dublin,"
speech, 10 July 1790, Dublin.