X
58 Rate this article:
No rating

INTERNAL IDL 8.2 Service Pack 3 Release Notes

Zachary Norman

IDL 8.2 Service Pack 3 Release Notes

New Features in IDL 8.2.3

For additional information on new features in the IDL 8.2.3 release, see the "What's New" topic in IDL Help.

  • New Routine: The BUBBLEPLOT function creates a bubble chart that displays three dimensions of data in a two-dimensional Cartesian coordinate system.
  • New Routines: READ_VIDEO, WRITE_VIDEO, and QUERY_VIDEO allow you manipulate video, audio, and/or data from video files in a variety of formats.
  • New Routine: The VOLUME function displays a visual representation of a three-dimensional array of data.
  • New Routines: The FILE_GZIP and FILE_GUNZIP routines allow you to compress and uncompress files using the GZIP file format. 
  • New Routines: The FILE_TAR and FILE_UNTAR routines allow you to archive and unarchive directories and files using the TAR file format. 
  • New Routines: The FILE_ZIP and FILE_UNZIP routines allow you to archive and unarchive directories and files using the ZIP file format.
  • New Routines: The ZLIB_COMPRESS and ZLIB_UNCOMPRESS routines allow you to compress and uncompress IDL numeric arrays using the DEFLATE compression algorithm. 
  • New Routine: The TERMINAL_SIZE function allows you to  set and retrieve the column width and number of lines that are used for IDL output to the console.
  • New Class: The IDLffVideoRead class can be used to open video files in a variety of formats and read out frames of video, samples of audio, and packets of data.
  • Update:Both IDLgrAxis and the AXIS graphics function have a new SUBGRIDSTYLE property. This property lets you control the linestyle for the minor tick marks on an axis.
  • Update: IDL now supports automatic gridding of data for the IMAGE, CONTOUR, and SURFACE functions.
  • Update: The IDL graphics functions now support output to Scalable Vector Graphics (SVG) files.
  • Update: The TEXT graphics function has a new \overline{ } symbol, which draws a line above the enclosed characters.
  • Update: The LIST::ToArray method now has a DIMENSION keyword. If the DIMENSION keyword is specified, then the result is an array where the list elements are concatenated along that dimension.
  • Update: In the INTERPOLATE function, you can now set the DOUBLE keyword to 1 to use double precision for the grid locations.
  • Update: The !CONST system variable now has a new field, "i", which contains the value dcomplex(0,1). Using !CONST.I, you can now easily convert real values to complex numbers, and perform complex arithmetic.

Backward-Compatibility Issues in IDL 8.2.3

Change request ID numbers are included where applicable.

All Platforms

ID Description
n/a IDL8.2 Code SAVE Files Are Not Compatible with Previous IDL Versions
The IDL Save file revision level was increased from 10 to 11 because of a bug fix (CR 62744). Save files that contain IDL code and that were created with IDL 8.2 cannot be restored in previous versions of IDL. If you want to distribute a Save file to other users who may only have IDL 8.0 or IDL 8.1, create your Save file using one of these earlier IDL versions.
Note:This change does not affect older Code SAVE files or Save files that contain data. These files can still be restored in IDL 8.2.
n/a IDL Workspace Migration
IDL does not automatically update the IDL workspace between releases. After upgrading to a new IDL version, you have the following options:
  1. Create a new workspace to use with the new IDL version. You will need to reset any IDL Workbench preferences you may have set in the old version.
  2. Continue using the old workspace without modification. New views may not be available.
  3. Use the Window > Show View > Other menu option to update the workspace to specify the views you want to display.
n/a IDL Core Preference Migration
IDL does not automatically migrate IDL core preferences between releases. After upgrading IDL to anew version, you should:
Reset any IDL core preferences you want to use with the new IDL version by using the Preferences dialog or the PREF_SET routine.
n/a New Process for Debugging Shared Library Code
To debug your shared library code, you need to attach your debugger (gdb, VisualStudio, etc.) to the appropriate process. On 32-bitWindows, use Visual Studio to select Attach to Process and choose the idl_ipserver.exeprocess. On 64-bit Windows, use Visual Studio and attach to the idlde process. On Unix, use gdb or dbx,along with the ps command to retrieve the ID of the idlde process, then attach your debugger to that process ID.If you are not using the IDL Workbench, continue to connect to the idl process.
n/a Additional Documentation is Provided In Acrobat (PDF) Documents
The IDL 8.2online help contains all the routines and functions in the IDL language, including the new Graphics routines and examples. Documentation that does not exist in the online help is provided in fully searchable PDF format as part of the IDL installation, located in idl82\help\pdf.

Windows

ID Description
IDL-65808 TABLE WIDGET ALL_EVENTS Keyword Change for Windows
On Windows platforms, the ALL_EVENTS keyword now works as it does in UNIX platforms, returning cell events with keyboard arrow navigation.

Known Problems in IDL 8.2 and 8.2 Service Pack 3

Change request ID numbers are included where applicable.

All Platforms

ID Description
IDL-42545 WIDGET_TREE Drop Event Can Cause IDL to Crash if an Error Exists in the DRAG_NOTIFY Callback Routine
If there is an error (such as an undefined variable) in the custom DRAG_NOTIFY callback routine, IDL may freeze or crash since the error halts execution in the child routine and IDL cannot return to the calling function.
Workaround
: Handle potential problems in the callback routine by including CATCH statements in your code. See the documentation topic "Responding to Drag Notifications (Callbacks)" for more information.
IDL-55393 Break points in Files Opened via Links, Shortcuts, or Alternate Paths
To improve performance, IDL always compiles the first version of a file it finds in its path. If you open a file in the editor and set a breakpoint,then compile from a version of the same file with a different path, IDL will not assume that the two files are the same. As a result, IDL will not stop at the breakpoint set in the second file.Alternate paths to the same file can be constructed via UNIX links, Windows shortcuts,mapped drives, or UNC paths.
Workaround:Make sure that the full path to the file in which you set the breakpoint is the same as the full path to the compiled file. If you use the IDL Workbench, compiling using the Workbench menus or toolbars will ensure that the same path is used for compilation and debugging.
IDL-49236 Deleting a Project or a Directory Within a Project While the Project Is Open Causes Exceptions when the Workbench Exits
When a project file or a directory within a project is deleted from outside the Workbench (for example, from Windows Project Explorer) while the project is open, a warning message may be issued while the Workbench is still running. An exception may occur on exiting the Workbench.
IDL-51318
IDL-51320
IDL-51322
Formatter Preferences for Keywords, System Variables, and Structure and Class Names are Ignored by the Source > Format Command
The keyword,system variable, and structure and class name formatting preferences set on the IDL >Formatter preference page are not applied when the code is highlighted and the Source > Format command is selected.
IDL-58532 DefaultUTF-8 Encoding is Corrupting .pro Files with Non-English Characters
Non-English characters are converted to symbols when imported into the IDL Workbench. Importing a .profile containing non-English characters in IDL permanently corrupts the file with bad characters. Workaround: Before opening a file or before saving an open file, change the file encoding to ISO-8859-1 for Spanish or German, or to Shift-J IS for Japanese.

To change the encoding for an individual file, open the file in an IDL editor, then select File> Properties.In the Resources dialog box, change the 6Text file encoding preference.

To change the default encoding preference for IDL,select Window >Preferences.In the Preferences dialog box, choose General> Workspace. Change the Text file encoding preference.

IDL-57214
IDL-58285
IDL-58839
IDL Crashes on Macintosh and UNIX When Performing Graphics Operations Where GL Drivers are Present
Possible workaround:Rename the gl_driver.sofile (located in bin\bin.<platform>)to gl_driver.ba.
IDL-60473 Accessing Preferences while IDL is Busy May Hang Workbench
Trying to change Preferences while IDL is busy (for example, when a lengthy command is being executed) may cause the Workbench to hang.
IDL-60525 Help May Not Display In Viewer
In rare cases,the online help may not display correctly in the IDL Help viewer. Workaround:Open a browser and navigate to IDL82\help\online_help\IDL\idl.htmlin your IDL installation.
IDL-61842 IDL on Windows 7 May Have Unpredictable Behavior When Using Graphics
The cause may be graphics cards that are unsupported in Windows 7. Please see a list of supported graphics cards on the Microsoft.com website. You may want to upgrade your graphic driver or switch the IDL Graphics preference to use software rendering.
IDL-62566 GRIB_OPEN Fails with "~" tilde Character in File Path

Workaround:Usefully qualified path.
IDL-63902
IDL-52705
Using the IDL_Java Bridge Causes the Workbench to Ignore the Curren tDirectory in CLASSPATH

Workaround:Copy the.class file to any other directory explicitly listed in CLASSPATH.
IDL-64864 On Windows and Solaris, Some OPeNDAP Functionality Does Not Work with NetCDF
Windows and Solaris users cannot take advantage of OPeNDAP functionality when using NetCDF.

MacintoshPlatforms

ID Description
IDL-60599 On Macintosh OS, Only One Workbench Instance Can Run at a Time
Even if the preference "Prompt for workspace on startup" is set and multiple workspaces are available, only one instance will run.
Workaround: Run the Workbench from the init script located in the idlde.darwin.x86_64.app/Contents/MacOS directory of your IDL installation.
IDL-63368 Time Machine Errors Can Freeze the IDL Workbench

Workaround:Restart Time Machine. For additional information, see http://www.exelisvis.com/Support/HelpArticleDetail/ArticleId/5251/IDL-8-2-Time-Machine-Error-Messages-in-IDL.aspx
IDL-64149 Widget Interface Loses Focus When Selection is Made in a Drop-down List

Workaround:In X11 Preferences, enable "Click-through Inactive Windows"
IDL-67319
IDL-67320
Graphics Rendering Causes Memory and Device Errors
XQuartz version 2.7.2 causes these error messages when creating IDL Graphics. When IDL is installed, the Macintosh operating system may direct you to install the most recent version of XQuartz.
Workaround: Use XQuartz version 2.7.1 or 2.7.3 instead of version 2.7.2.


Windows Platforms

ID Description
IDL-27165 Using DIALOG_PICKFILE with the MULTIPLE Keyword Limits the Maximum nFiles or Maximum nBytes for a File Array
When attempting to open multiple files using DIALOG_PICKFILE, the operating system has a maximum buffer of 32767 bytes.
IDL-46816 Installation Program Failures: Error 1719
On some systems,the IDL installation program may exit with"Error 1719. Windows Installer service could not be accessed. Contact your support personnel to verify that it is properly registered and enabled."
Workaround:
Restart the IDL installer. If installation still fails, reboot the computer and restart the installer.

Background: This error occurs when the Microsoft installer engine is older than the version required by the IDL installation package. In this situation, the IDL installer updates the installer engine. In some cases, the installation procedure may proceed; in others, you may need to restart the installer or the operating system.
IDL-47445 Export Bridge Instantiation Object Creation Failure with Embedded License
Attempting to create an export object with an embedded license fails when no printer is set up.Workaround: Install and set up a printer before running IDL.
IDL-48454 WIDGET_TIMER Can Cause Applications To Freeze Until An Event Is Sent To The Application
WIDGET_TIMER events fail after 10 events. This problem happens in the following cases:
  • Timer events are chained together by setting the next timer within the handling of the current timer and before the "work" section of the event handler is performed.
  • The next timer goes off during the current timer event processing (for example, during a lengthy calculation).
Workaround: Chain timer events by setting the next timer after any computations are completed. For smoother performance, set the next timer based on how long the computations execute, which accounts for variances in machine speed. For example, to fire the timer once every second, set the next timer to 1.0 - (time to perform computation)
IDL-49641 Updating Edited Variable Values is Slow While IDL is Busy or Blocking
If you edit a variable value using the IDL Workbench Variables view while IDL is busy(for example, when a lengthy command is being executed, or when a widget application is blocking), it may appear that the variable is not being updated. The new variable value is displayed when IDL is no longer busy. (Related to ID 49604.)
IDL-65745 Windows May Stop Displaying IDL Help

Workaround:On Windows 7, if IDL Help does not display correctly, upgrade your IE version. On XP systems, try restarting the IDL Help.
IDL-66357 Installing into a Directory Named with Multibyte  Characters May Cause the IDL Workbench to Not Launch
If you are installing IDL into a directory that contains multibyte characters, path names in the idlde.ini file may be truncated. 
Workaround for32-bit systems:
In the  <install_dir>\IDL82\bin\bin.x86\idlde.inifile, edit the following lines:
Line 2 should read: <install_dir>\IDL82\bin\bin.x86\jre\bin
Line 14 should read: Dosgi.shared Configuration.area=<install_dir>\IDL82\bin\bin.x86\configuration
Workaround for64-bit systems:
In the  <install_dir>\IDL82\bin\bin.x86_64\idlde.inifile, edit the following lines:
Line 2 should read: <install_dir>\IDL82\bin\bin.x86_64\jre\bin
Line 14 should read: Dosgi.shared Configuration.area=<install_dir>\IDL82\bin\bin.x86_64\configuration
IDL-66363 Executable for a C++ Project that Uses COM_idl_connect.tlb Needs to be in\bin directory to Run
If you create a C++ project that uses COM_idl_connect.tlb,the .exe must be installed in install_dir\bin\bin.x86or install_dir\bin\bin.x86_64 to run.Alternatively, you can add the install path to the PATH environment variable.


UNIX Platforms

ID Description
IDL-14221
IDL-30564
DIALOG_PRINTERSETUP Causes IDL to Hang When Called from a Modal Widget
This is a known problem with no known workarounds except to use DIALOG_PRINTERSETUP with a non-modal widget.
IDL-41964 IDL Does Not Run in Security Enhanced Linux
Some recent versions of Linux implement mandatory access control in the Linux kernel using the Linux Security Modules framework. IDL will not run in such an environment without a modification to the security context for the IDL binaries.Workaround: Either disable SE Linux or modify the default security context for IDL. See HelpArticle 3092 for details.
IDL-43301 Upper Left Corner of Tree Widget is Never a Valid Drop Zone
When the ability to drag and drop tree widget nodes has been enabled, the UNIX tree widget does not recognize the upper left corner of the widget as a valid drop zone. This area typically extends over the icons of the first two nodes (but not the labels). This is a vendor issue. You can drop items onto the first two nodes by moving the cursor over the labels instead of the icons.
IDL-55427 IDL Dataminer Requires libstdc++5.0
Third-party libraries used by the IDL Dataminer module require a library that may not be available by default on some newer Linux systems.Attempting to run the IDL Dataminer may cause IDL to issue an error similar to the following:

% DLM_LOAD: Error loading sharable executable.
Symbol:IDL_Load, File =/rsi/qa/unix/idl71/bin/bin.linux.x86_64/idl_dataminer.so
libstdc++.so.5:cannot open shared object file: No such file or directory

You will need to install the appropriate libstdc++compatible library for your platform.
IDL-55537 IDLnetURLObjects with ENCODE Property Fails on Linux 32-Bit
Using IDLnetURLwith the ENCODE property set to a value other than 0 fails on 32-bitLinux systems.
IDL-57381 Missing64-bit Library
IDL requires a 64-bit version of libXp. Red Hat-based Linux distributions such as RHEL and Fedora may not install this library by default. On Red Hat you can obtain this library using the following command:

yum install libXp.x86_64
IDL-58106 DIALOG_PRINTERSETUP Crashes on Linux 64-bit running in the Workbench

Calling DIALOG_PRINTERSETUP from the Workbench causes 64-bit IDL to crash. Workaround: To set up a printer, launch IDL in command line mode and run DIALOG_PRINTERSETUP. Once you have set up a printer, the information is cached in your home directory. Then printed IDL programs will go to the appropriate printer regardless of whether you are running the Workbench or command line IDL.

IDL-58460 IDL Graphics Cause Crash in Ubuntu Versions of UNIX
Recent versions of Ubuntu and other Debian-based Linux distributions may not ship with the libstdc++.so.6library, which is required by Xerces. You will need to download this library and install it in the /bin/bin.linux.x86directory of your IDL installation. (On 64-bit installations, this directory is /bin/bin.linux.x86_64.)
IDL-59497 IDL Graphics Fail with Software Rendering on Linux
IDL graphics in the Workbench in software rendering mode may fail on Linux machines if the display is local and Xinerama is not enabled. Workaround:Configure Xinerama on the system or run from the IDL command line.
IDL-62902 Changes in Fedora 15 and Redhat 6.1 and Later Cause Licensing Issues
According to http://fedoraproject.org/wiki/Features/ConsistentNetworkDeviceNaming:"Ethernet NICs embedded on the motherboard will be named em[1234]rather than ethX.PCI add-in card NICs will be named p<slot>p<port>_<vf>.Linux guests running under virtualization platforms such as KVM, Xen, VMware Workstation or ESX, or Microsoft Hyper-V will not have their devices renamed."
A possible workaround is to rename NICs using the"em" convention.
IDL-68647 IDL crashes upon exit or when issuing the command p=PLOT(/TEST)
This problem occurs on Linux Red Hat 6 platforms with CPUs that support Advanced Vector Extensions (AVX). To find out if your CPU supports AVX, issue the following command:

cat /proc/cpuinfo


Look for an avx string in the flags field of the output.

Workaround: Update your glibc libraries to Red Hat version 6.3 or 6.4, or install the patch described at http://rhn.redhat.com/errata/RHBA-2013-0279.html.  For more information about the issue see: https://bugzilla.redhat.com/show_bug.cgi?id=752122.

ProblemsFixed in IDL 8.2Service Pack 3




IDL-48550
IDL-60996
TheSTATUS Keyword forEXIT Now Works as Designed in IDL Workbench, returning the correct EXIT status code.
IDL-48917

Addressed performance issues when launching iTools from Workbench vs. the IDL command line.
IDL-66004
IDL-68582
X graphics dependencies have been removed for /BUFFER.
IDL-66935 Subversion (SVN) plugin installation now completes successfully on Macintosh and Linux.
IDL-67564 Top level base widget remains intact after deleting a WIDGET_WINDOW.
IDL-68079 ErrorBar cap sizes remain constant regardless of zoom factor on graphic.
IDL-68168 Added SUBGRIDSTYLE property to IDLgrAxis and New Graphics so that minor and major tickmarks can have different styles.
IDL-68330 Automatic Gridding of Data in CONTOUR() on MAP() resolves issue of jagged contours in New Graphics.
IDL-68351 BOX_AXES keyword in MAP function now rendering correctly for polar stereo projections.
IDL-68424 HASH function now allows for [*] and [0:-1] indexing in overloadBracketsLeftSide.
IDL-68461 Longitude and Latitude labels now rendering correctly in the MAP function.
IDL-68586
SetData now allows for the updating of a single point in PLOT3D.
IDL-68553
MAP_PROJ_FORWARD now rendering polygons correctly when they are >= 180 east of the center of the map.