|
Re: what does this error mean [message #20324 is a reply to message #20230] |
Thu, 01 June 2000 00:00  |
Nando Iavarone
Messages: 48 Registered: December 1998
|
Member |
|
|
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
David Fanning wrote:
<blockquote TYPE=CITE>Brad Gom (b_gom@hotmail.com) writes:
<p>> What does this message mean:
<br>>
<br>> % Temporary variables are still checked out - cleaning up...
<p>I usually see this when a student (not me, I've learned how
<br>to type RETALL!) crashes a widget program. I can't reproduce
<br>the error here, but I have the general impression that the
<br>problem occurs somehow in XManager,</blockquote>
<pre>I think the 'problem' is more general and depends on how IDL handles the memory usage</pre>
<pre>(see 'IDL internal' section of the EDG).</pre>
<pre>let's see if I understand how IDL works ;o)</pre>
<pre>since the user can create/modify run-time a variable - all the memory allocations ara dynamic - there must be a mechanism to prevent the lost of memory etc (typical problem of a C-coder).</pre>
<pre>when your message appears, IDL is checking for not delivered memory and try to free it (but why more that one time? I obtain it at each executed line. Maybe the check is done at each interpreted line?).</pre>
<pre>the message appears until IDL exits from the procedure/function at which the 'memory problem' appears. In fact, going up to the caller/main, all the memory used by the 'called' is automatically delivered.</pre>
<pre>I have your message when I use DLM, and I forget to free memory or if I have a temporary variable to be passed back to IDL.</pre>
<pre>What does RSINC tell about it?</pre>
<pre></pre>
<pre>bye.</pre>
<pre>--
Nando Iavarone
Advanced Computer System - SPACE DIVISION
via Lazzaro Belli, 23
00040 Frascati - RM
Tel: +39-6-944091 (switchboard)
9440968 (direct)
E-mail:
f.iavarone@acsys.it
FrdndVrn@altavista.net</pre>
</html>
|
|
|
Re: what does this error mean [message #20325 is a reply to message #20230] |
Thu, 01 June 2000 00:00  |
Nigel Wade
Messages: 286 Registered: March 1998
|
Senior Member |
|
|
Brad Gom wrote:
>
> What does this message mean:
>
> % Temporary variables are still checked out - cleaning up...
>
> ie. what general type of problem causes this, so I can get an idea where
> to start looking?
>
> thanks
Generally it means that a system routine (either an internal IDL one, or
a user added one) has aborted before it returned all its temporary
variables
back to the pool.
System routines can allocate temporary variables for internal use. These
temporaries should either be returned back to the pool before the
routine
returns, or passed back as the return value of a function. When control
passes back to the interpreter it cleans up any temporaries which are
still
in use and issues this message.
It's not really anything you should worry about, unless the system
routine
which is not returning the temporaries is one you have written.
If you want to learn more about temporaries there is a section about
them
in the External Development Guide (look for "temporary variables" in the
index).
--
-----------------------------------------------------------
Nigel Wade, System Administrator, Space Plasma Physics Group,
University of Leicester, Leicester, LE1 7RH, UK
E-mail : nmw@ion.le.ac.uk
Phone : +44 (0)116 2523568, Fax : +44 (0)116 2523555
|
|
|