Memory and Crash
To all the experts out there:
I have two problems I would like to discuss here. They
might be related to each other or not.
Memory:
I have written a program in LV2.2 that is highly user-
interactive. The programs runs on a MACIIci, System 7.01,
20MB, has a total of about 85VIs; 10MB of RAM are allocated
to LV, virtual memory is off, 32bit on.
Depending on user-action 12 different Front Panels of
SubVIs can be presented to the User. I realized, that it
might take quiet different time to open and display those
Front Panel. Sometimes, judging by hard-disk activity, it
seems, that the front panel first have to loaded from the
hard disk. The loading-first activity might not be
restricted to SubVis, whose Front Panel needs to be
displayed, but also to other SubVIs, especially when called
for the first time.
Therefore, I would like to know, which segments of the
program are really resident in the RAM. As far as I
understand the manual, the code should be always resident,
and the Front Panel, if needed.
I tried to make Front Panels resident by setting "Stop on
Range Error" of Boolean control, but I don't feel that this
approach is working.
Is there a tool that allows me to see which parts of the
large program are in the RAM at a given time and is there a
way to really control what LV loads and keeps in the RAM?
To make things a little bit more complex, the program
compacts the heap after lengthy data acquisition and
display by calling the "Growth Zone VI" downloaded in
January from the NI ftp site. Now, all my data space are
well cleaned up, but judged on excessive hard disk
activity, some of the code or whatever else need to be
reloaded from the hard disk. Does anybody know, how this VI
really affects memory management?
Crash:
Running the program continuously for the last four weeks
(about 50% of the time the program is just idle), we
experiences three crashes "Application unknown has quit".
They all occur at about a time when "GrowthZone" is called
and significant hard disk activity is going on. More
precisely, the program as gone about 300 times through this
point and crashed only :-) three times.
For the last crash I have a MacsBug log showing:
Bus Error at 4080DBD4 _StripAddress+0464 while reading byte
from ADE07B14 in Supervisor data space.
I feel quite knowledgeable in LV, but do not know how to
interpret MacsBugs infos. Is there anybody who has a good
suggestion about the next step to localize the problem?
More data from the MacsBug Log are available is necessary.
Thanks a lot
Ralf Schoepfer, bsa999@cvx12.inet.dkfz-heidelberg.de