Chandra X-Ray Observatory
	(CXC)
Skip to the navigation links
Last modified: 7 December 2017

URL: http://cxc.harvard.edu/ciao/bugs/smoke.html

Bugs: Installation & Smoke Tests

The following is a list of known issues that may be seen when installing CIAO. If you encounter a problem that is not listed here, contact CXC Helpdesk for assistance.


Table of Contents

ciao-install

ObsVis

Running Remotely

Upgrading?

ChIPS

Sherpa

Prism

ds9


Bugs

ciao-install

    error: xp_import_surface returned: 2
    xp_destroy_surface: assertion failed: s != NULL
    xp_destroy_surface error: 3
    xp_import_surface: assertion failed: s == NULL
    

    [Updated] (6 Dec 2017) An update to the macos Sierra operating system has caused a problem with chips. The third smoke test now fails with messages that look like:

    error: xp_import_surface returned: 2
    xp_destroy_surface: assertion failed: s != NULL
    xp_destroy_surface error: 3
    xp_import_surface: assertion failed: s == NULL
    

    The problem has been isolated to actions involving deleting a window: using the clear() command, delete_window() command, or clicking on the close button on the title bar. Those actions will succeed however, it will result in the background chips server crashing on any command which subsequently creates a new window.

    As a work around, users can repeat the same command. Repeating the same command will recognize that the chips server is gone and will restart it automatically.

    Running ciao-install fails with:

    ERROR: Unable to retrieve ftp://cxc.harvard.edu/pub/ciao/all/ciao-control
    ERROR: Unable to download ciao-control
    ERROR: Bad Download. Please try again. If the problem continues Please
    contact the CfA helpdesk.

    or

    Resolving cxc.harvard.edu... 131.142.185.90
    Connecting to cxc.harvard.edu|131.142.185.90|:21... connected.
    Logging in as guest ...
    Error in server response, closing control connection.

    or

    ciao-install hangs when trying to retrieve the ciao-control file

    These messages indicate a conflict in FTP configurations between the user's computer or network and the CXC. This is often seen with home internet providers such as a cable company and academic organizations that require the use of proxy servers. If you have access to another computer and/or IP address, e.g. in a university office, you can run ciao-install with the --download-only flag to download the tarfiles and then transfer them to the desired machine and use the --install-only option.

    Users may find the output from wget --debug --verbose useful when trying to diagnose these problems. Below is an example of what the output should look like with a couple of important sections annotated.

    unix% wget --debug --verbose ftp://cxc.harvard.edu/pub/ciao4.8/ciao-control
    Setting --verbose (verbose) to 1
    DEBUG output created by Wget 1.12 on linux-gnu.
    
    --2015-12-14 10:36:25--  ftp://cxc.harvard.edu/pub/ciao4.8/ciao-control
               => `ciao-control'
    Resolving cxc.harvard.edu... 131.142.198.51
    Caching cxc.harvard.edu => 131.142.198.51
    Connecting to cxc.harvard.edu|131.142.198.51|:21... connected.
    

    If users are behind a firewall or require a proxy server, often the above lines will point to a local server instead cxc.harvard.edu. Users will need to work with their local IT staff to provide a direct FTP connection to the CXC site.

    Created socket 3.
    Releasing 0x000000000259cb80 (new refcount 1).
    Logging in as anonymous ... 220 ProFTPD 1.3.2 Server (Chandra FTP Service) [131.142.198.41]
    
    --> USER anonymous
    
    331 Anonymous login ok, send your complete email address as your password
    
    --> PASS -wget@
    
    230 Anonymous access granted, restrictions apply
    Logged in!
    ==> SYST ... 
    --> SYST
    
    215 UNIX Type: L8
    done.    ==> PWD ... 
    --> PWD
    
    257 "/" is the current directory
    done.
    ==> TYPE I ... 
    --> TYPE I
    
    200 Type set to I
    done.  changing working directory
    Prepended initial PWD to relative path:
       pwd: '/'
       old: 'pub/ciao4.8'
      new: '/pub/ciao4.8'
    ==> CWD (1) /pub/ciao4.8 ... 
    --> CWD /pub/ciao4.8
    
    250 CWD command successful
    done.
    ==> SIZE ciao-control ... 
    --> SIZE ciao-control
    
    213 4576
    4576
    conaddr is: 131.142.198.51
    ==> PASV ... 
    --> PASV
    
    227 Entering Passive Mode (131,142,198,51,194,250).
    trying to connect to 131.142.198.51 port 49914
    Created socket 4.
    

    If there is a problem with the users FTP client not supporting passive FTP then it may hang at this step.

    done.    ==> RETR ciao-control ... 
    --> RETR ciao-control
    
    150 Opening BINARY mode data connection for ciao-control (4576 bytes)
    done.
    Length: 4576 (4.5K) (unauthoritative)
    
    100%[==============================================================================================================================>] 4,576       --.-K/s   in 0.01s   
    
    Closed fd 4
    226 Transfer complete
    Closed fd 3
    2015-12-14 10:36:25 (323 KB/s) - `ciao-control' saved [4576]
    

    If wget succeeds then users may have limited connectivity and should try to use ciao-install again.

    ERROR: Unable to retrieve ftp://cda.harvard.edu/pub/arcftp/caldb_4/caldb_4.7.0_main.tar.gz
    ERROR: Unable to download caldb_4.7.0_main.tar.gz
    ERROR: Bad Download. Please try again. If the problem continues Please contact the CfA helpdesk. 
    

    Some users are unable to download the CALDB via ciao-install.

    This is because the user's FTP has defaulted to extended passive mode for the file transfer. Extended passive mode is not supported for the Archive web server, which hosts the CALDB tarfiles.

    The workaround is for users to create a $HOME/.netrc file containing the following:

    default
    macdef init
    epsv4 off
    
    

    Note that there is a blank line after the "epsv4 off" entry.

    Some Mac users have reported than an additional "passive off" line may be necessary, so that the .netrc file appears as:

    default
    macdef init
    epsv4 off
    passive off
    
    

    The re-run ciao-install to download the missing files.

ObsVis

    Fontconfig error: Cannot load default config file

    This message may appear during the obsvis smoke test. It is benign.

    OBSVIS Error: Retrieving calibration updates from server produced the following error: 'Network timeout'

    Occasionally the connection to the server times out during the smoke test before ObsVis can get the data it needs. Try running the GUI from the command line:

    unix% obsvis

    If the problem persists, contact CXC Helpdesk.

Running Remotely

    If the DISPLAY environment variable is not set, the smoke test may appear to hang at prism-smoke001

    CIAO has several graphical applications that require the user have an active DISPLAY. If no X11 display is available then the applications will re-try for several minutes until their timeout has exceeded.

    Problems running ChIPS when using remote desktop viewers: for example VNC or NX.

    ChIPS requires a display device that support OpenGL. When the display is being viewed remotely through for example VNC or NX, both the host machine and the software rendering the display must support OpenGL.

    Useres may see one of the following messages

    error: xp_attach_gl_context returned: 2
    
      - or -
      
    X Error of failed request: 0
    Major opcode of failed request: 148 (GLX)
    Minor opcode of failed request: 26 (X_GLXMakeContextCurrent)
    Serial number of failed request: 26
    Current serial number in output stream: 26
    
    
    

    Users should verify that they can run the OpenGL utility

    unix% glxgears 
    

    The result will be a new window with 3 rotating gears and the number of frames per seconds (fps) will be displayed in the terminal. If glxgears is not working then users can try to set:

    bash:   export LIBGL_ALWAYS_INDIRECT=1
    tcsh:   setenv LIBGL_ALWAYS_INDIRECT 1
    

    If that does not solve the problems users will need to contact their systems group for additional help.

Upgrading?

    Customized resource, $HOME/.*.rc, may cause conflicts

    Several CIAO applications make use of resource files in the users home directory. These typically contain global application preferences. The list of resource files, or .rc files, is shown below.

    • .chips.rc
    • .ciaoinstall.rc
    • .ciaorc
    • .obsvisrc
    • .pegrc
    • .prismrc
    • .sherpa.rc

    If users have made customizations to these file it may cause the CIAO smoke tests to fail. This has been seen several times with sherpa users who have setup to use pyfits and/or matplotlib and are upgrading to the lastest version of CIAO.

    Users should move their customized version of these files to another directory and re-try the smoke tests. The files will get re-created and the customizations can be re-introduced in the new version of these files.

    Customized $HOME/.ipython-ciao settings

    Users who have made customizations to their $HOME/.ipython-ciao setup files will need to check their customizations after CIAO is installed.

    Users working with the Python 3.5 installation may need to make additional changes due to the syntax changes in Python.

    ds9 asking to update preferences

    If the user has ds9 and saved any preferences, it will stop during the smoke tests asking to upgrade the preference file. Usually this occurs during the obsvis tests if the all CIAO packages were installed.

    Users should simply select "Yes" when asked. If users select "No", they will be prompted with the same message every time ds9 starts -- it is run several times during the CIAO smoke tests.

ChIPS

    (ChipsServer:8980): Gtk-CRITICAL **: IA__gtk_text_buffer_insert_pixbuf: assertion `GDK_IS_PIXBUF (pixbuf)' failed
    ChipsServer:8980): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed
    (ChipsServer:9481): Gtk-CRITICAL **: IA__gtk_text_buffer_insert_pixbuf: assertion `GDK_IS_PIXBUF (pixbuf)' failed
    (ChipsServer:9481): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_file: assertion `error == NULL || *error == NULL' failed
    ChipsServer:9481): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed
    ChipsServer:9980): Gtk-CRITICAL **: IA__gtk_text_buffer_insert_pixbuf: assertion `GDK_IS_PIXBUF (pixbuf)' failed 
    

    Workaround:

    While the above warnings and errors do not cause a problem with CIAO, users can suppress them by clearing out the mime.cache file.

    unix% /bin/rm $HOME/.local/share/mime/mime.cache 
    

    ChIPS freezes

    A few Linux users have reported a problem where the smoke tests freeze at the first chips test. The plot window may remain and have to be killed by the window manager and/or the chipsServer process may run-away and start to consume 100% of a CPU.

    If this happens, you should first check that you have the latest version of the display driver available for your distribution and hardware.

    Runtime Error: Chips Error: Unable to connect to server

    If the X server takes too long to initialize, the ChIPS smoke tests will fail with this message. Run the smoke tests a second time and the errors should go away.

    This message may also be reported if the necessary X11 and/or OpenGL libraries are missing.

    Gtk-Message: Failed to load module "gnomebreakpad": libgnomebreakpad.so:
    cannot open shared object file: No such file or directory
    OR
    Gtk-Message: Failed to load module "canberra-gtk-module": libcanberra-gtk-module.so:
    cannot open shared object file: no such file or directory
    OR
    Gtk-WARNING **: Unable to locate theme engine in module_path: "clearlooks"

    The warning is cosmetic and doesn't impact how ChIPS works.

       [6/42] Running test chips-smoke001 .Gtk-Message: Failed to load module "canberra-gtk-module"
    .. PASS
    

    As long at the test reports PASS, the warning can be ignored. If the test fails, users need to examine the log file to diagnose the problem.

    Workaround:

    The gnome session sets GTK_MODULES to load some debugging tools. If the user simply unsets the GTK_MODULES environment variable, then the warning messages will disappear:

    unsetenv GTK_MODULES
    

    *** Cannot find the double-buffered visual.
    *** Trying single-buffered visual.
    *** No appropriate OpenGL-capable visual found.

    The messages may be accompanied by a traceback error:

    Traceback (most recent call last):
      File "/tmp/smoke.al/chips-smoke001/chips-smoke001.py", line 2, in <module>
        strip_chart(3)
      File "/usr/ciao-4.4/lib/python2.7/site-packages/pychips/extensions.py", line 3436, in strip_chart
        __pychips_base__.grid_objects(1, entries,0, gaps,1)
      File "/usr/ciao-4.4/lib/python2.7/site-packages/pychips/pychips_base.py", line 935, in grid_objects
        return _pychips.ChipsRemoteMod_grid_objects(*args)
    RuntimeError: chips ERROR: No current window to perform operation on
    

    Workaround:

    • This error may indicate that the necessary graphics drivers are not installed on the machine running CIAO.

    • If you have SSH-ed into another machine to run CIAO, be sure that the -X or -Y (or both: "ssh -XY") options were used to enable X11 forwarding. If that doesn't resolve the issue, set

      setenv LIBGL_ALWAYS_INDIRECT 1
      

      This should happen by default when logging into a remote machine, but occasionally the system needs it set explicitly.

    libGL warning: 3D driver claims to not support visual 0x4b

    All chips smoke tests may fail due to this warning produced by some ATI graphics cards. The warning is benign and can be ignored.

    Xlib: extension "RANDR" missing on display /tmp/...

    The chips smoke tests may report this warning. The warning is benign and can be ignored.

    CIAO is installed as root and the Chips/GUI smoke tests fail

    The ChIPS and the GUI applications, such as prism and obsvis, open windows as part of running the smoke tests. Often the root account is not allowed to open a window on the machine, which causes these tests to fail.

    The path to diff.log indicates this test was run as the root user:

    /tmp/smoke.root/prism-smoke001/diff.log 
    

    It is is strongly suggested that CIAO be installed as a non-privileged user and not as the root user. If CIAO must be installed in a directory owned by root and you are following the manual process, then

    1. unpack CIAO as root (so creating the ciao-<ver>/ directory);
    2. use the chown utility to change ownership of this directory to the installer's username.

    ChIPS smoke test comparison fails due to comma in place of decimal point

    Some system languages (e.g. Italian) use a comma in place of decimal point by default. This will cause the ChIPS smoke test comparison to fail, because the reference file packaged with CIAO uses decimal points:

    unix% cat /tmp/smoke.user/chips-smoke001/diff.log
    5c5
    <     Plot [plot1]   (0,15,0,65)  .. (0,90,0,90)
    ---
    >     Plot [plot1]   (0.15,0.65)  .. (0.90,0.90)
    11c11
    <     Plot [plot2]   (0,15,0,40)  .. (0,90,0,65)
    ---
    >     Plot [plot2]   (0.15,0.40)  .. (0.90,0.65)
    20c20
    <     Plot [plot3]   (0,15,0,15)  .. (0,90,0,40)
    ---
    >     Plot [plot3]   (0.15,0.15)  .. (0.90,0.40)
    

    If the decimal point/comma difference is the only thing recorded in the log file, ChIPS is fine to use.

Sherpa

    Sherpa: "ERROR: test_image (sherpa.image.tests.test_image.test_image)"

    The Sherpa smoke test fails and the log contains these errors:

    ERROR: test_image (sherpa.image.tests.test_image.test_image)
    ----------------------------------------------------------------------
    Traceback (most recent call last):
    ValueError: total size of new array must be unchanged
    

    This is an intermittent error in the code that Sherpa uses to talk with DS9 via XPA. Run the smoke tests a second time and the errors should go away. If they do not, contact CXC Helpdesk for further assistance.

    sherpa-smoke001 fails with in test_xspec_models
    (Linux 64-bit, OSX 10.9)

    .........................................ERROR: XSXSabsori model evaluation failed
    F.................................................................................
    .........................................................
    ======================================================================
    FAIL: test_xspec_models (sherpa.astro.tests.test_xspec.test_xspec)
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "/astro/ciao-4.4/lib/python2.7/site-packages/sherpa/astro/xspec/tests/test_xspec.py", line 80, in test_xspec_models
        not numpy.isinf(vals).any() )
    AssertionError
    
    ----------------------------------------------------------------------
    Ran 180 tests in 24.795s
    
    FAILED (failures=1)
    

    Running the smoke tests again often reports a success for this test; the instructions for running smoke tests are in the Installing CIAO thread.

    This failure has been seen with different XSPEC models including XSXSsirf and possibly others.

Prism

    (prism:2236): Gtk-WARNING **: GModule (/usr/lib64/gtk-2.0/2.10.0/engines/libclearlooks.so)
    initialization check failed: Gtk+ version too old (micro mismatch)

    This warning messages may be generated when prism is run during smoke testing or run from the command line. The warnings are harmless, but annoying.

    Workaround:

    Remove or rename the $HOME/.gtkrc-2.0 and/or $HOME/.gtkrc-2.0-kde4 file to eliminate the warnings.

    Segmentation fault

    The prism smoke tests will segmentation fault if there are incompatible .fontconfig files cached on the user's system. Remove the .fontconfig cache:

    unix% rm ~/.fontconfig/*
    

    If this does not fix the prism problem, contact CXC Helpdesk.

    CIAO is installed as root and the Chips/GUI smoke tests fail

    The ChIPS and the GUI applications, such as prism and obsvis, open windows as part of running the smoke tests. Often the root account is not allowed to open a window on the machine, which causes these tests to fail.

    The path to diff.log indicates this test was run as the root user:

    /tmp/smoke.root/prism-smoke001/diff.log 
    

    It is is strongly suggested that CIAO be installed as a non-privileged user and not as the root user. If CIAO must be installed in a directory owned by root and you are following the manual process, then

    1. unpack CIAO as root (so creating the ciao-<ver>/ directory);
    2. use the chown utility to change ownership of this directory to the installer's username.

ds9

    The ds9 smoke test results may differ in the least significant figure.

    A sample diff log from test ds9-smoke001:

    13c13
    <  1.73363528e+02 2.58432381e+01 
    ---
    >  1.73363528e+02 2.58432382e+01 
    22c22
    <  1.73357457e+02 2.58464050e+01 
    ---
    >  1.73357457e+02 2.58464051e+01 
    75c75
    <  1.73322543e+02 2.58736917e+01 
    ---
    >  1.73322543e+02 2.58736916e+01 
    99c99
    <  1.73310395e+02 2.58821467e+01 
    ---
    >  1.73310395e+02 2.58821466e+01 
    

Bugs fixed in CIAO 4.8

The following is a list of bugs that were fixed in the CIAO 4.8 software release.

OSX X11 libfontconfig compatibility problems

Some OSX users may see the following error during the smoke tests or when running CIAO:

dyld: Library not loaded: /opt/X11/lib/libfreetype.6.dylib
Referenced from: /Applications/ciao/ciao-4.7/binexe/chipsServer
Reason: Incompatible library version: chipsServer requires version 18.0.0 or later, but libfreetype.6.dylib provides version 17.0.0

Workaround:

First, make sure that you have updated your version of XQuartz to at least version 2.7.11.

To work around the issue, users need to remove the libfreetype and libfontconfig libraries that CIAO provides and link them to the system libraries.

% sudo ln -s /opt/X11 /usr/X11
% rm $ASCDS_INSTALL/ots/lib/libfreetype.6.dylib
% rm $ASCDS_INSTALL/ots/lib/libfontconfig.1.dylib
% ln -s /opt/X11/lib/libfreetype.6.dylib $ASCDS_INSTALL/ots/lib/libfreetype.6.dylib
% ln -s /opt/X11/lib/libfontconfig.1.dylib $ASCDS_INSTALL/ots/lib/libfontconfig.1.dylib

$ASCDS_INSTALL is set by the CIAO setup scripts.


Last modified: 7 December 2017
Smithsonian Institute Smithsonian Institute

The Chandra X-Ray Center (CXC) is operated for NASA by the Smithsonian Astrophysical Observatory. 60 Garden Street, Cambridge, MA 02138 USA.   Email:   cxchelp@head.cfa.harvard.edu Smithsonian Institution, Copyright © 1998-2017. All rights reserved.