Re: _EXTRA inheritance crashing IDL [message #30254 is a reply to message #30208] |
Fri, 12 April 2002 08:20   |
Rob.Preece
Messages: 8 Registered: December 1999
|
Junior Member |
|
|
In article <a950i2$6j6$1@newsreader.mailgate.org>, "Mark Hadfield"
<m.hadfield@niwa.co.nz> wrote:
>
> Yes it's a bug. Report it to IDL.
>
I did, and found that it is a known issue, to be fixed in version 5.6.
David asked for RSI's response to be posted, so here goes:
------------------
RE: Incident #: 120580 Tech Support Submission
I believe in your case, however, that you are actually
experiencing the symptoms of a known bug that appeared first in IDL 5.5, and
has already been identified and recoded for subsequent release in IDL 5.6.
Here is the bug report:
"Title: "Passing _REF_EXTRA keyword name without specifying keyword crashes
IDL"
Description:
Compile the following procedures in IDL:
pro test2, junk=junk
print, 'hi'
end
pro test, _REF_EXTRA=_extra
test2, _Extra='junk'
end
Calling "test" without passing the JUNK keyword causes a SegFault on Solaris
and dereference error (at 0xfffffffc) on Windows, and crashes IDL.
Resolution:
This is an internal logic error, in which IDL was looking for _REF_EXTRA
variables to pass on even though the current frame has no such variables."
James Jay Jones
Technical Support Engineer
RSI Incorporated
Tel: +1 (303) 413-3920
Email: support@rsinc.com
-------------------
Note: I have snipped out some comments and suggestions that James made, as
they were not appropos to my problem; see below.
> Re the need to do it this way, if you're passing specific keywords
> then you don't *need* to use inheritance. Eg this...
>
<snip>
OK. My example code simply illustrated the crash, it does not show the
rationale behind it. Suffice it to say that I hit upon this method by
reading the documentation, and it solved much head-banging that had been
going on. The short answer as to why I do it this way is that I have a
quite generic plotting method that can be called under many circumstances;
some keywords must not be passed on, while an unknown number (and
unknowable, except at runtime) of others can. It was a perfect match for
the _REF_EXTRA mechanism...
>
> Warning: if you use this last technique with IDL 5.4 you must use
> inheritance by value not reference because there was a bug in 5.4.
>
> Of course with the different bugs in different versions you may well
> decide to leave your code as it is and stick with 5.4!
>
Ack! This is what I will do. Thanks all!
==================================================
+ Robert D. Preece Rob.Preece@nsstc.nasa.gov
+ Dept. of Physics, Univ. of Alabama in Huntsville
+ Phone: (256) 961-7654 FAX: (256) 961-7215
+ SD50, National Space Science & Technology Center
+ 320 Sparkman Drive, Huntsville, AL 35805
==================================================
|
|
|