Keyword Inheritance Causes IDL to Crash

Name: Robert D. Preece
E-mail Address: Rob.Preece@nsstc.nasa.gov
IDL version: 5.5
Platform and OS: All

Description of Behavior: Using a _Ref_Extra keyword inheritance mechanism to pass
a keyword name without a value causes IDL to crash.

Example Code:

   PRO test1, _REF_EXTRA = extra
   testStuff = ['TITLE','XTITLE','YTITLE']
   test2, INDGEN (10), _EXTRA = [testStuff, 'XRANGE']
   END

   PRO test2, plotStuff, _EXTRA = extra
   PLOT, plotStuff, plotStuff, _EXTRA = extra
   END

Compile and execute:

   IDL> test1, XRANGE = [-1, 10]
Known Workarounds or Fixes: Always pass keyword value. RSI Technical Support Response: Apparently, this is a known bug. Here is their response.
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."

[Return to Table of Contents]

Last Updated 20 April 2002