Unrecognized line in skymap.table file in `w_2018_08` Docker image

I get the following error when setting up lsst_distrib in Docker image w_2018_08.

[serenity ~] docker run -ti lsstsqre/centos:7-stack-lsst_distrib-w_2018_08
[lsst@ca02cdb7e3d5 stack]$ . loadLSST.bash
[lsst@ca02cdb7e3d5 stack]$ setup lsst_distrib
Unrecognized line:  at /opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/skymap/14.0-4-g3609236+2/ups/skymap.table:1 

When I look in more detail in the files in the skymap ups/ directory, they are all binary files. Other packages, e.g., pipe_tasks, are text files as expected.

I can not reproduce the error message. There is a “smoke test” that installs the binary packages and runs some tests before they are published as well. I’d guess that either the docker layers on disk are corrupted or the local tag has been modified.

$ docker run -ti lsstsqre/centos:7-stack-lsst_distrib-w_2018_08
[lsst@b13da8e77607 stack]$ . /opt/lsst/software/stack/loadLSST.bash
[lsst@b13da8e77607 stack]$ setup lsst_distrib
[lsst@b13da8e77607 stack]$ cat /opt/lsst/software/stack/stack/miniconda3-4.3.21-10a4fa6/Linux64/skymap/14.0-4-g3609236+2/ups/skymap.table
if (type == exact) {
   setupRequired(numpy           -j 1.13.1)
   setupRequired(python          -j 0.0.7)
   setupRequired(afw             -j 14.0-50-gd3fc20b3e)
   setupRequired(daf_base        -j 14.0-5-g744ff5f+3)
   setupRequired(utils           -j 14.0-9-g11010eb+1)
   setupRequired(base            -j 14.0-8-g7f6dd6b+6)
   setupRequired(sconsUtils      -j 14.0-15-g79b7e05)
   setupRequired(scons           -j 3.0.0.lsst1+1)
   setupRequired(python_future   -j 0.16.0+1)
   setupRequired(pytest          -j 3.2.0.lsst2)
   setupRequired(pytest_flake8   -j 0.9.1+2)
   setupRequired(flake8          -j 3.5.0+2)
   setupRequired(python_mccabe   -j 0.6.1+3)
   setupRequired(pycodestyle     -j 2.3.1+1)
   setupRequired(pyflakes        -j 1.6.0)
   setupRequired(pep8_naming     -j 0.4.1+1)
   setupRequired(pytest_xdist    -j 1.20.1.lsst2)
   setupRequired(pytest_forked   -j 0.2.lsst2)
   setupRequired(python_execnet  -j 1.4.1.lsst2)
   setupRequired(pytest_session2file -j 0.1.9+3)
   setupOptional(doxygen         -j 1.8.13.lsst1)
   setupRequired(pybind11        -j 2.1.1)
   setupRequired(pex_exceptions  -j 14.0-1-g13ef843+10)
   setupRequired(boost           -j 1.66.0)
   setupRequired(python_psutil   -j 5.4.3)
   setupRequired(daf_persistence -j 14.0-14-g87d16e8+11)
   setupRequired(log             -j 14.0-2-ga5af9b6+11)
   setupRequired(log4cxx         -j 0.10.0.lsst7)
   setupRequired(apr             -j 1.5.2)
   setupRequired(apr_util        -j 1.5.4)
   setupRequired(mariadbclient   -j 10.1.21.lsst2)
   setupRequired(pex_policy      -j 14.0-1-g4b114ac+15)
   setupRequired(astropy         -j 2.0.1)
   setupRequired(pyyaml          -j 3.11.lsst2)
   setupRequired(libyaml         -j 0.1.7)
   setupRequired(pex_config      -j 14.0-2-g319577b+12)
   setupRequired(ndarray         -j 1.3.3.lsst2)
   setupRequired(eigen           -j 3.2.5.lsst3)
   setupRequired(fftw            -j 3.3.4.lsst2)
   setupRequired(cfitsio         -j 3360.lsst5)
   setupRequired(minuit2         -j 5.34.14)
   setupRequired(gsl             -j 2.4)
   setupRequired(astshim         -j 14.0-15-g77b58a8+1)
   setupRequired(starlink_ast    -j lsst-dev-gc8b18833b2)
   setupOptional(matplotlib      -j 2.0.2)
   setupOptional(healpy          -j 1.10.3.lsst1+4)
   setupRequired(pykg_config     -j 1.3.0+2)
} else {
   setupRequired(numpy 1.13.1 [>= 1.13.1])
   setupRequired(afw 14.0-50-gd3fc20b3e [>= 14.0-50-gd3fc20b3e])
   setupOptional(healpy 1.10.3.lsst1+4 [>= 1.10.3.lsst1+4])
}
envPrepend(LD_LIBRARY_PATH, ${PRODUCT_DIR}/lib)
envPrepend(DYLD_LIBRARY_PATH, ${PRODUCT_DIR}/lib)
envPrepend(LSST_LIBRARY_PATH, ${PRODUCT_DIR}/lib)

envPrepend(PYTHONPATH, ${PRODUCT_DIR}/python)

docker doesn’t have an easy way to force a checksum verification but I found this trick on reddit.

docker save lsstsqre/centos:7-stack-lsst_distrib-w_2018_08 > /dev/null && echo 'OK' || echo 'Corrupted'

I can’t reproduce. What version of docker is this?

A screenshot of my session:

I’m relatively certain this is a corruption in my docker image. See related ticket for my continuing issues. Repeated trouble download Docker image