|
Background Information
Sometimes, a problem only occurs when running on a certain machine, operating system, or graphics device. For these reasons, we need to know the following facts when you report a problem:
- Your installation/license ID number.
- The version of IDL or ENVI you are running.
- The type of machine it is running on.
- The operating system version it is running under.
- The type and version of your windowing system if you are on UNIX.
- The graphics device, if the problem involves graphics and you know what graphics device is on your system.
The installation number is assigned by us when you purchase IDL or ENVI and is included in the license information that we send you. The product version, site number, and type of machine are printed when IDL is started. For example, the following startup announcement appears indicating you are running IDL version 6.4 under Sun Solaris on an 64-bit Sparc workstation at installation number xxxxx-x, under a floating license located on a particular license manager.
IDL Version 6.4, Solaris (sunos sparc m64). (c) 2007, ITT Visual Information Solutions Installation number: xxxxx-x. Licensed for use by: ITTVIS IDL floating licenses Under UNIX, the version of the operating system can usually be found by running the command: uname -a Alternatively, you might also find this OS information in the file /etc/motd. It is also printed when the machine boots. In any event, your system administrator should know this information.
Under Windows, select About from the Help menu in the Windows Explorer.
On the Macintosh, select About this Macintosh from the apple menu.
Double Check
Before reporting a problem double check with the manual or a local expert, if one is available. Sometimes, it is a simple matter of misinterpreting what is supposed to happen.
If you cannot determine what should happen in a given situation by consulting the reference manual, the manual may need improvement on that topic. Please let us know if you feel that the manual was vague or unclear on a subject.
Another question to ask is whether the problem lies within IDL, or with the system running IDL. Is your system properly configured with enough virtual memory and sufficient operating system quotas? Does the system seem stable and is everything else working normally?
Describing The Problem
When describing the problem, it is important to use precise language. Terms like crashes, blows up, and fails are vague and open to interpretation. Does it really crash IDL and leave you looking at an operating system prompt? This is how ITT technical support personnel interpret a problem report of a crash. If the behavior being reported refers to an unexpected error message being issued before returning another prompt, then describing it as a crash becomes misleading.
It is also important to separate concrete facts from conjecture about underlying causes. For example, a statement such as "IDL dumps core when allocating dynamic memory" is not nearly as useful as this statement, "IDL dumps core when I execute the following statements... ".
Reproducibility
Intermittent problems are by far the hardest kind to fix. In general, if we can't make it happen on our machine, we can't fix it. It is far more likely that we can help you if you can tell us a sequence of IDL statements that cause the problem to happen. Naturally, there are degrees of reproducibility. Situations where a certain sequence of statements causes the problem 1 time in 3 tries are fairly likely to be fixable. Situations where the problem happens once every few months and no one is sure what triggered it are nearly impossible to identify and correct.
Simplify the Problem
In accordance with ITT Visual Information Solutions Technical Support policy, when reporting a problem, it is important to give us the shortest possible series of IDL statements that cause it. Here are some suggestions for simplifying your problem:
- Copy the procedure and function files that are involved to a scratch second copy. Never modify your only copy!
- Eliminate everything not involved in demonstrating the problem. Don't do this all at once. Instead, do it in a series of slow careful steps. Between each step, stop and run IDL on the result to ensure that the problem still appears.
- If a simplification causes the problem to disappear, then slowly restore the statements involved until you can identify the source of the problem. The end result of such simplification should be a small number of IDL statements that demonstrate the problem.
- If the problem does not involve file Input/Output, strive to eliminate all file I/O statements. Use IDL routines to generate a dummy data set, rather than including your own data if at all possible. If your problem report does not involve your data, it will be much easier for us to reproduce.
On the other hand, if the problem involves file Input/Output, and the problem only happens with a certain data file or type of data, we will need to look at your data or a sample of your data.
If it is necessary to send us your data there are two preferred methods. First, if it is a small data set, please send it as an attachment in your email to us: techsupport@ittvis.com. Second, if it is a large data set, please place it on our FTP site at: ftp.ittvis.com/incoming. Then send us the commands that reproduce your problem along with the name of the data set that you placed on our FTP site.
Problems with Dynamic Loading
Under some operating systems, the CALL_EXTERNAL and LINKIMAGE system routines allow you to dynamically load routines written in other languages into IDL. This is a very powerful technique for extending IDL, but it is considerably more difficult than simply writing IDL statements. At this level, the programmer is outside the user level shell of IDL and is not protected from programming errors. These errors could give incorrect results or crash IDL. In such situations, the burden of proving that a problem is within IDL and not the dynamically loaded code is entirely the programmer's.
Although it is certainly true that a problem in this situation can be within IDL, it is very important that you exhaust all other possibilities before reporting the problem. If you decide that you need to report the problem, the comments above on simplifying things are even more important than usual. If you send us a small example that exhibits the problem, we may be able to respond with a correction or advice.
Contact Us
To report a problem to ITT Technical Support in the U.S., contact us through the following information. Or locate the ITT international office or distributor office for your region.
- Telephone/FAX
(303) 413-3920 (Technical Support direct line) (303) 786-9909 (Fax)
- Mail
ITT Visual Information Solutions 4990 Pearl East Circle Boulder, CO 80301 USA
|