Mail Archives: djgpp/1995/02/06/17:01:30
A program I am developing crashes (locks up) only when profiled,
i.e. compiled and linked with the -pg option. After running for
several minutes I get a "Not ready writing drive C" error. The
computer does not respond to the keyboard and I have to reboot. This
crash only occurs when the program uses paged memory; when run with
small data sets that don't require paged memory the program executes
normally.
The largest unknown is that I don't know whether I am using the correct
lipc_p.a file. For some reason I didn't have this library, so I just
downloaded it. There are two on SIMTEL, one in djdev112.zip and one
in dj112m.zip. The dates and sizes are slightly different. I took the
one from dj112m.zip.
Here are the specifics for a run with one data set (info collected
with go32=topline):
Compiled without -pg, the program uses 2372K physical memory and
508K paged memory. The numbers increment linearly and smoothly through
the execution of the program.
Compiled/linked with -pg, the progam uses 2372K physical memory,
uses 404K paged memory, then freezes for about 2 minutes (normal
execution time for this problem is 57 sec). Given the nature of the
algorithm, memory should be allocated continuously throughout execution,
so I assume the program is frozen or in la-la land at this point.
Then the go32 data at the top of the screen disappears and I get
the message:
Not ready writing drive C
Abort, Retry, Ignore, Fail?
It does not respond to the keyboard (not even ctrl-alt-delete), and
I have to reset the machine.
I am running version 2.63, go32 1.1.2.maint2, have 2064Kb of VCPI
available and 20060Kb of swap space available. I am running MSDOS.
BTW, I am running with so little RAM specifically to test the performance
of my algorithms in paged memory, so "buy more memory" is not a solution
here.
Roger Labbe
- Raw text -