Known Bugs in fv

Despite programmers' best efforts, software releases usually contain some bugs. Regretfully, fv is no exception. Here are the bugs we are aware of, along with how to avoid or fix them.

NOTE: When referring to a file, we will use <fv> to mean the path to the top of your fv source tree, which contains subdirectories such as pow and fitsTcl (or under Windows: bin and lib; or under Mac OS: fv Sources and pow Sources). If you are using the standalone fv package, this will be one level below where you untarred the package. If you are using the FTOOLS 4.1 (or later) package, <fv> will be <ftools>/src/tcltk2, where now <ftools> refers to the top of your FTOOLS source tree.

ALSO, we will assume that you have already successfully built the software and have the environment variable FV (or FTOOLS, as appropriate) set as described in the INSTALL instructions. If you have not already built the software, simply make the changes described below and then follow the INSTALL instructions normally; DO NOT execute any of the 'make' commands described here if this is the case.

Don't see your problem here? Send us a bug report via the FTOOLS help desk. If possible, include the information reported by the "Stack Dump" button in the error dialog. Not all errors cause this dialog to appear.

The Windows and Mac OS versions contain a number of "peculiarities" which are either due to limitations/bugs in the tcl/tk language or the Windows/Mac operating system. Read the windows or macintosh README file for a list of these before reporting a bug.

Bugs in v3.2

  • 24-bit displays: When run on some architectures supporting TrueColor mode, fv fails to identify that fact and enters the wrong video mode, giving an error message similar to:

        X Error of failed request: BadMatch (invalid parameter)
        Major opcode of failed request:  (X_CreateWindow)
        Serial number of failed request: nnn
        no display name and no $DISPLAY environment variable
    The solution is to force fv into true color mode by running fv with a "-cmap 2" option (ie, type 'fv -cmap 2 file.fits').

Bugs in v3.0

  • SkyView: After submitting a skyview or catalog database request, fv will freeze and/or report an error. Fv is attempting to connect to a computer visible only within Goddard. The solution is to modify lines 350 and 636 of the file <fv>/lib/fv/class/FVSkyview.tcl to read:

        set token [::http::geturl "" \
    changing the string skys2 to skyview. The fv3.0 release was updated for this change on November 22, 2000. (11/22/2000)

Bugs in v2.6.1

  • Table Column Selection: With v2.6, fv displays all columns of a table by default when the Table button in the summary window is pressed. Previous versions brought up a column selection dialog box. To get this dialog box in fv 2.6.x, right-click the Table button instead. Under Mac OS a command-click was also supposed to be available but this was not implemented. The solution is to insert the following lines at line 1109 of "<fv>:fv Sources:class:FitsFile.tcl":

        bind $$i  { tkButtonDown %W }
        bind $$i  \
              "[code $this setNewTable 1]; tkButtonUp %W"
    Or, if you don't have text-editor with line counts available, search for "tkButtonUp" and insert the above text on the line following it. (7/19/2000)

  • XPA access: Use of fv's XPA scripting feature requires one to build XPA's tcl library and put it where fv can find it. This can be done by using the following commands in XPA's source directory to configure/build XPA after having installed fv...

       ./configure --prefix=$FV --with-tcl=$FV/lib
       make install
    This will build the tcl library -- -- and the standalone executables and install them in fv's directories. One can install the XPA tools/libraries elsewhere with a different --prefix path (say, in /usr/local), but then one will need to change the LD_LIBRARY_PATH environment variable to point to the location of (eg, /usr/local/lib). (6/30/2000)

  • 24-bit displays: When run on some architectures supporting TrueColor mode, fv fails to identify that fact and enters the wrong video mode, giving an X Error: BadMatch message. The solution is to force fv into true color mode by running fv with a "-cmap 2" option (ie, type 'fv -cmap 2 file.fits').

Bugs in v2.6

  • RA/Dec Labels: Shortly after the release of fv 2.6, a bug was found in which all column-column plots would have RA/Dec axis labels. A bug fix release (v2.6.1) was made available late on February 11, 2000. For those who already downloaded and installed 2.6, the solution is to edit the file <fv>/fv/class/Table.tcl. Before line 784 (reading, } else { ) insert the lines

             } elseif { [lindex $wcsinfo 7] == "none" } {
                set powWCS($graphHandle) ""
    Now unix users need to go to the <fv> directory and type
        make fv1

Bugs in v2.5

  • Paths with spaces: After opening a file with a path which contains spaces, fv will report an error like Called openFitsKwds with too many arguments when trying to view an extension. The solution is to either move the file to a directory without spaces, or upgrade to the latest version of fv.

  • RedHat 6.x: The version 6 releases of RedHat Linux are incompatible with the original fv2.5 release dated April 30, 1999. An updated tar file, dated July 12, 1999, has been placed on the FTP site, fixing the incompatibility. For those who have already downloaded the file, the solution is the edit the file <fv>/tcl8.0.4/generic/tclPosixStr.c. Change lines 339 and 786 from

      #ifdef EOPNOTSUPP
      #if defined(EOPNOTSUPP) && (!defined(ENOTSUP) || (EOPNOTSUPP != ENOTSUP))
    and rebuild fv.

  • 24-bit displays: When run on some architectures supporting TrueColor mode, fv fails to identify that fact and enters the wrong video mode, giving an X Error: BadMatch message. The solution is to force fv into true color mode by running fv with a "-cmap 2" option (ie, type 'fv -cmap 2 file.fits').

Bugs in v2.4 (aka FTOOLS 4.2)

  • Windows Environment Space: Running fv requires the creation of several environment variables at startup. On some systems (Windows only), this fills up the environment space, causing an error like "couldn't read file \fedit" when trying to run fv. The solution is to tell Windows to allocate more space. To do this, edit your system file C:\CONFIG.SYS and add the following line at the end of the file:

        SHELL=C:\COMMAND.COM /E:4096 /P
    You need to reboot your computer to have this take effect.

  • missing USERNAME: Some Windows systems do not define the environment variable USERNAME which fv uses to write a History keyword to fits files when they are modified, so one encounters the error "can't read "env(USERNAME)": no such element in array". The solution is to either (1) turn off the "Write History Keyword" option in the Option menu of the file summary window; or (2) replace line 558 of <fv>\lib\fv\class\FitsHeader.tcl and line 2567 of <fv>\lib\fv\class\Table.tcl (both of which read "set uname $env(USERNAME)") with the following lines:

            if { [info exists env(USERNAME)] } {
                set uname $env(USERNAME)
            } else {
                set uname "???"

    This does not affect any system other than Windows-based PCs.

  • Undefined symbol: When starting fv under SunOS 4, you will likely encounter the error Undefined symbol: _Itcl_ReleaseData. Although we do not know why this occurs (something to do with the old Sun linker, maybe), we do have a simple fix. The solution is to edit two files in the <fv>/fv directory. First, edit fv (ie, <fv>/fv/fv). The last line begins with $FV/bin/wish8.0. Change this to $FV/bin/itkwish3.0. Second, edit fedit. Delete lines 15-18 which contain package and namespace commands. Finally, go to the <fv> directory and type

        make fv1

  • Copy Table to ASCII file (part 1): When selecting this File menu item from the FITS table window, you will encounter the error message "invalid command 'feedback'". The solution is to edit the file <fv>/fv/class/Table.tcl and modify line 2443 to read:

        iwidgets::feedback ${fileWin}.f.fb -labeltext "Saved"
    You are inserting the text "iwidgets::" at the start of the line. Go to the <fv> directory and type
        make fv1

  • Copy Table to ASCII file (part 2): After fixing the preceding bug, this command will execute but it will only copy (repeatedly) the first 1000 lines of the table to the ASCII file. The solution is to edit the file <fv>/fitsTcl/fitsUtils.c and replace all instances of the line

    This will be at lines 5061, 5081, 5108, 5125, 5147, 5169, 5191, 5217, 5245, 5267, and 5289. Provided you include a space before the m, a global search-and-replace of ' m+1' with ' m+fRow' will work. Now go to the <fv> directory and type
        make fitstcl1 install-fitstcl

  • Startup error: The original unix standalone distribution of fv 2.4 contains an error in the startup script. It incorrectly uses the FTOOLS variable instead of the FV variable when setting the necessary paths to the fv binaries and libraries. The solution is to edit the file <fv>/fv/fv and change all references to FTOOLS with FV. Then, in the <fv> directory, type the following command:

        make fv1
    One could also edit the $FV/bin/fv file directly. This error has been fixed in a new fv tar file placed online at 12:22pm, November 30, 1998.

    Note: This only affects the standalone version of fv. The version contained within the FTOOLS themselves, either built using the source distribution or the binary plus GUI distribution, should be using the FTOOLS variable in the <fv>/fv/fv file.

  • Printing Images (windows): It is not possible to print (either to a printer or a file) images from POW under windows. This is due to a limitation in the TK software from which POW is built. It is still possible to print graphs containing line plots. Any images will simply be ignored. Unfortunately, there is no solution to this problem.

  • Printing (all): When printing POW graphs, only the visible part of the window gets printed, so if part of a graph falls outside the window, it will get clipped. To avoid this, either (1) make sure the entire graph (or graphs) are visible before printing, or (2) replace lines 781-792 of file <fv>/pow/pow.tcl with the following lines:

    proc powPrint { type name orient } {
        set bbox [.pow.pow bbox all]
        set width  [expr [lindex $bbox 2]-[lindex $bbox 0]]
        set height [expr [lindex $bbox 3]-[lindex $bbox 1]]
        if [string match "Print*" $type] {
    	set fnam "[pid]"
    	.pow.pow postscript -colormode color -rotate $orient -file $fnam \
    		-width $width -height $height \
    		-x [lindex $bbox 0] -y [lindex $bbox 1]
    	set comm "cat $fnam | $name"
    	exec /bin/sh -c $comm
    	catch {exec rm $fnam}
        } elseif [string match "File*" $type] {
    	.pow.pow postscript -colormode color -rotate $orient -file $name \
    		-width $width -height $height \
    		-x [lindex $bbox 0] -y [lindex $bbox 1]
        powShowHandles 1
    You now need to reinstall this part of fv. Go to your <fv> directory and type the following command:
         make install-pow

Pages maintained by Bryan Irby
Send bug reports or feature requests via the FTOOLS help desk.

HEASARC Home | Observatories | Archive | Calibration | Software | Tools | Students/Teachers/Public

Last modified: Tuesday, 10-Feb-2004 09:43:54 EST