Re: Array has a corrupted descriptor [message #25230 is a reply to message #25154] |
Mon, 04 June 2001 10:34  |
R.Bauer
Messages: 1424 Registered: November 1998
|
Senior Member |
|
|
Reimar Bauer wrote:
>
> Stein Vidar Hagfors Haugan wrote:
>>
>> Reimar Bauer <r.bauer@fz-juelich.de> writes:
>>
>>> William Thompson wrote:
>>>>
>>>> Reimar Bauer <r.bauer@fz-juelich.de> writes:
>> [...]
>>>> >The error text is:
>>>> >% Array has a corrupted descriptor: VAR
>> [...]
>>
>>>> I suspect that the function is calling external code via something like
>>>> CALL_EXTERNAL or LINKIMAGE. I've gotten error messages like that in
>>>> the past
>>>> when mixing IDL with external code.
>>
>>>
>>> In some of the functions is EXECUTE used (it's not easy to change them
>>> to
>>> call_function at them moement). CALL_EXTERNAL or LINKIMAGE isn't used.
>>> Do you believe EXECUTE will be give this error too ?
>>
>> I seem to remember that there was a bug in HISTOGRAM that could
>> occasionally give such error messages.. Don't remember which IDL
>> version (nor in what version the problem was fixed).
>>
>> Are you able to pin down a repeatable case that will trigger the
>> error?
>
> I hope I am able to build a smaller example, the one I have at the
> moment
> uses a lot of routines.
>
>> Does your routine call other routines that have
>> call_external/linkimage/dlm code?
>
> If it's possible to exclude dlms by storing only data to sav files
> I have excluded already the ncdf dlm.
>
> I am not able to remove the execute on the third or fourth level
> routines at the moment. This is planned.
>
> regards
>
> Reimar
>
>>
>> --
Ok, I have a solution for my problem but it sounds a bit stupid.
The original code was:
.
.
.
temp = CREATE_STRUCT(temp, 'FLAG', '')
temp = CREATE_STRUCT(temp, temp.prog_params)
temp = delete_tag(temp $
, ['TIME','CALLING_SEQUENCE','INFO_STRUCT', 'PROG_PARAMS',
'MISSING_VALUE'])
.
.
.
ERROR: ARRAY HAS A CORRUPTED DESCRIPTOR
CHANGED TO:
.
.
.
prog_params=temp.prog_params
temp = delete_tag(temp $
, ['TIME','CALLING_SEQUENCE','INFO_STRUCT', 'PROG_PARAMS',
'MISSING_VALUE'])
temp = CREATE_STRUCT(temp, 'FLAG', '')
temp = CREATE_STRUCT(temp, prog_params)
.
.
.
I have tried to separate the failure into a small routine without
success. All smaller routines
based on data stored to sav files are good. In one of the child routines
is execute used so I believe
this is making trouble on AIX.
The same progam runs good on Linux and Win NT.
Reimar
--
Reimar Bauer
Institut fuer Stratosphaerische Chemie (ICG-1)
Forschungszentrum Juelich
email: R.Bauer@fz-juelich.de
http://www.fz-juelich.de/icg/icg1/
============================================================ ======
a IDL library at ForschungsZentrum Juelich
http://www.fz-juelich.de/icg/icg1/idl_icglib/idl_lib_intro.h tml
http://www.fz-juelich.de/zb/text/publikation/juel3786.html
============================================================ ======
read something about linux / windows
http://www.suse.de/de/news/hotnews/MS.html
|
|
|