astropy: Buffer overflow in astropy.wcs on Linux

On Linux with Astropy 3.0.2, the following code leads to a buffer overflow and fatal error for Python:

import faulthandler
faulthandler.enable()
from astropy.io import fits
header = fits.Header()
header['SIMPLE'] = 'T'
header['BITPIX'] = -32
header['NAXIS'] = 2
header['NAXIS1'] = 256
header['NAXIS2'] = 256
header['OBSGEO-X'] = 12.2124214124
from astropy.wcs import WCS
wcs = WCS(header)
wcs.to_header()

The error is:

# python test.py
*** buffer overflow detected ***: python terminated
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x70bfb)[0x7f1ffd9d6bfb]
/lib/x86_64-linux-gnu/libc.so.6(__fortify_fail+0x37)[0x7f1ffda5f1f7]
/lib/x86_64-linux-gnu/libc.so.6(+0xf7330)[0x7f1ffda5d330]
/lib/x86_64-linux-gnu/libc.so.6(+0xf68e9)[0x7f1ffda5c8e9]
/lib/x86_64-linux-gnu/libc.so.6(_IO_default_xsputn+0xac)[0x7f1ffd9dac0c]
/lib/x86_64-linux-gnu/libc.so.6(+0x4620a)[0x7f1ffd9ac20a]
/lib/x86_64-linux-gnu/libc.so.6(_IO_vfprintf+0x48f)[0x7f1ffd9ad1bf]
/lib/x86_64-linux-gnu/libc.so.6(__vsprintf_chk+0x8c)[0x7f1ffda5c97c]
/lib/x86_64-linux-gnu/libc.so.6(__sprintf_chk+0x7d)[0x7f1ffda5c8cd]
/opt/conda/envs/test/lib/python3.6/site-packages/astropy/wcs/_wcs.cpython-36m-x86_64-linux-gnu.so(+0x66605)[0x7f1ff0a15605]
/opt/conda/envs/test/lib/python3.6/site-packages/astropy/wcs/_wcs.cpython-36m-x86_64-linux-gnu.so(wcshdo+0x1957)[0x7f1ff0a18057]
/opt/conda/envs/test/lib/python3.6/site-packages/astropy/wcs/_wcs.cpython-36m-x86_64-linux-gnu.so(+0x75ca6)[0x7f1ff0a24ca6]
python(_PyCFunction_FastCallDict+0x154)[0x55ad5f0a0504]
python(+0x19c22c)[0x55ad5f12d22c]
python(_PyEval_EvalFrameDefault+0x30a)[0x55ad5f1519da]
python(+0x195714)[0x55ad5f126714]
python(+0x1965c1)[0x55ad5f1275c1]
python(+0x19c305)[0x55ad5f12d305]
python(_PyEval_EvalFrameDefault+0x30a)[0x55ad5f1519da]
python(PyEval_EvalCodeEx+0x329)[0x55ad5f1280d9]
python(PyEval_EvalCode+0x1c)[0x55ad5f128e6c]
python(+0x2146f4)[0x55ad5f1a56f4]
python(PyRun_FileExFlags+0xa1)[0x55ad5f1a5af1]
python(PyRun_SimpleFileExFlags+0x1c4)[0x55ad5f1a5cf4]
python(Py_Main+0x63f)[0x55ad5f1a97ef]
python(main+0xee)[0x55ad5f071dfe]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf1)[0x7f1ffd9862e1]
python(+0x1c743b)[0x55ad5f15843b]
======= Memory map: ========
55ad5ef91000-55ad5f250000 r-xp 00000000 08:01 1055990                    /opt/conda/envs/test/bin/python3.6
55ad5f44f000-55ad5f452000 r--p 002be000 08:01 1055990                    /opt/conda/envs/test/bin/python3.6
55ad5f452000-55ad5f4b5000 rw-p 002c1000 08:01 1055990                    /opt/conda/envs/test/bin/python3.6
55ad5f4b5000-55ad5f4e6000 rw-p 00000000 00:00 0 
55ad60795000-55ad60f76000 rw-p 00000000 00:00 0                          [heap]
7f1ff096f000-7f1ff09af000 rw-p 00000000 00:00 0 
7f1ff09af000-7f1ff0aea000 r-xp 00000000 08:01 1314707                    /opt/conda/envs/test/lib/python3.6/site-packages/astropy/wcs/_wcs.cpython-36m-x86_64-linux-gnu.so
7f1ff0aea000-7f1ff0ce9000 ---p 0013b000 08:01 1314707                    /opt/conda/envs/test/lib/python3.6/site-packages/astropy/wcs/_wcs.cpython-36m-x86_64-linux-gnu.so
7f1ff0ce9000-7f1ff0ceb000 r--p 0013a000 08:01 1314707                    /opt/conda/envs/test/lib/python3.6/site-packages/astropy/wcs/_wcs.cpython-36m-x86_64-linux-gnu.so
7f1ff0ceb000-7f1ff0cfd000 rw-p 0013c000 08:01 1314707                    /opt/conda/envs/test/lib/python3.6/site-packages/astropy/wcs/_wcs.cpython-36m-x86_64-linux-gnu.so
7f1ff0cfd000-7f1ff10bd000 rw-p 00000000 00:00 0 
7f1ff10bd000-7f1ff11fc000 r-xp 00000000 08:01 1314706                    /opt/conda/envs/test/lib/python3.6/site-packages/astropy/io/fits/compression.cpython-36m-x86_64-linux-gnu.so
7f1ff11fc000-7f1ff13fb000 ---p 0013f000 08:01 1314706                    /opt/conda/envs/test/lib/python3.6/site-packages/astropy/io/fits/compression.cpython-36m-x86_64-linux-gnu.so
7f1ff13fb000-7f1ff13fe000 r--p 0013e000 08:01 1314706                    /opt/conda/envs/test/lib/python3.6/site-packages/astropy/io/fits/compression.cpython-36m-x86_64-linux-gnu.so
7f1ff13fe000-7f1ff1400000 rw-p 00141000 08:01 1314706                    /opt/conda/envs/test/lib/python3.6/site-packages/astropy/io/fits/compression.cpython-36m-x86_64-linux-gnu.so
7f1ff1400000-7f1ff1470000 rw-p 00000000 00:00 0 
7f1ff1470000-7f1ff1477000 r-xp 00000000 08:01 1312696                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_csv.cpython-36m-x86_64-linux-gnu.so
7f1ff1477000-7f1ff1677000 ---p 00007000 08:01 1312696                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_csv.cpython-36m-x86_64-linux-gnu.so
7f1ff1677000-7f1ff1678000 r--p 00007000 08:01 1312696                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_csv.cpython-36m-x86_64-linux-gnu.so
7f1ff1678000-7f1ff167a000 rw-p 00008000 08:01 1312696                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_csv.cpython-36m-x86_64-linux-gnu.so
7f1ff167a000-7f1ff173a000 rw-p 00000000 00:00 0 
7f1ff173a000-7f1ff1740000 r-xp 00000000 08:01 1312638                    /opt/conda/envs/test/lib/python3.6/lib-dynload/mmap.cpython-36m-x86_64-linux-gnu.so
7f1ff1740000-7f1ff193f000 ---p 00006000 08:01 1312638                    /opt/conda/envs/test/lib/python3.6/lib-dynload/mmap.cpython-36m-x86_64-linux-gnu.so
7f1ff193f000-7f1ff1940000 r--p 00005000 08:01 1312638                    /opt/conda/envs/test/lib/python3.6/lib-dynload/mmap.cpython-36m-x86_64-linux-gnu.so
7f1ff1940000-7f1ff1941000 rw-p 00006000 08:01 1312638                    /opt/conda/envs/test/lib/python3.6/lib-dynload/mmap.cpython-36m-x86_64-linux-gnu.so
7f1ff1941000-7f1ff1981000 rw-p 00000000 00:00 0 
7f1ff1981000-7f1ff1982000 r-xp 00000000 08:01 1314034                    /opt/conda/envs/test/lib/python3.6/site-packages/astropy/utils/_compiler.cpython-36m-x86_64-linux-gnu.so
7f1ff1982000-7f1ff1b81000 ---p 00001000 08:01 1314034                    /opt/conda/envs/test/lib/python3.6/site-packages/astropy/utils/_compiler.cpython-36m-x86_64-linux-gnu.so
7f1ff1b81000-7f1ff1b82000 r--p 00000000 08:01 1314034                    /opt/conda/envs/test/lib/python3.6/site-packages/astropy/utils/_compiler.cpython-36m-x86_64-linux-gnu.so
7f1ff1b82000-7f1ff1b83000 rw-p 00001000 08:01 1314034                    /opt/conda/envs/test/lib/python3.6/site-packages/astropy/utils/_compiler.cpython-36m-x86_64-linux-gnu.so
7f1ff1b83000-7f1ff1dc3000 rw-p 00000000 00:00 0 
7f1ff1dc3000-7f1ff1e12000 r-xp 00000000 08:01 1312815                    /opt/conda/envs/test/lib/python3.6/lib-dynload/pyexpat.cpython-36m-x86_64-linux-gnu.so
7f1ff1e12000-7f1ff2012000 ---p 0004f000 08:01 1312815                    /opt/conda/envs/test/lib/python3.6/lib-dynload/pyexpat.cpython-36m-x86_64-linux-gnu.so
7f1ff2012000-7f1ff2015000 r--p 0004f000 08:01 1312815                    /opt/conda/envs/test/lib/python3.6/lib-dynload/pyexpat.cpython-36m-x86_64-linux-gnu.so
7f1ff2015000-7f1ff2017000 rw-p 00052000 08:01 1312815                    /opt/conda/envs/test/lib/python3.6/lib-dynload/pyexpat.cpython-36m-x86_64-linux-gnu.so
7f1ff2017000-7f1ff201a000 r-xp 00000000 08:01 1312450                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_posixsubprocess.cpython-36m-x86_64-linux-gnu.so
7f1ff201a000-7f1ff2219000 ---p 00003000 08:01 1312450                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_posixsubprocess.cpython-36m-x86_64-linux-gnu.so
7f1ff2219000-7f1ff221a000 r--p 00002000 08:01 1312450                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_posixsubprocess.cpython-36m-x86_64-linux-gnu.so
7f1ff221a000-7f1ff221b000 rw-p 00003000 08:01 1312450                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_posixsubprocess.cpython-36m-x86_64-linux-gnu.so
7f1ff221b000-7f1ff22db000 rw-p 00000000 00:00 0 
7f1ff22db000-7f1ff2347000 r-xp 00000000 08:01 1185951                    /opt/conda/envs/test/lib/libssl.so.1.0.0
7f1ff2347000-7f1ff2546000 ---p 0006c000 08:01 1185951                    /opt/conda/envs/test/lib/libssl.so.1.0.0
7f1ff2546000-7f1ff254b000 r--p 0006b000 08:01 1185951                    /opt/conda/envs/test/lib/libssl.so.1.0.0
7f1ff254b000-7f1ff2551000 rw-p 00070000 08:01 1185951                    /opt/conda/envs/test/lib/libssl.so.1.0.0
7f1ff2551000-7f1ff256b000 r-xp 00000000 08:01 1312800                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_ssl.cpython-36m-x86_64-linux-gnu.so
7f1ff256b000-7f1ff276a000 ---p 0001a000 08:01 1312800                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_ssl.cpython-36m-x86_64-linux-gnu.so
7f1ff276a000-7f1ff276b000 r--p 00019000 08:01 1312800                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_ssl.cpython-36m-x86_64-linux-gnu.so
7f1ff276b000-7f1ff2770000 rw-p 0001a000 08:01 1312800                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_ssl.cpython-36m-x86_64-linux-gnu.so
7f1ff2770000-7f1ff27f0000 rw-p 00000000 00:00 0 
7f1ff27f0000-7f1ff27f7000 r-xp 00000000 08:01 1312667                    /opt/conda/envs/test/lib/python3.6/lib-dynload/select.cpython-36m-x86_64-linux-gnu.so
7f1ff27f7000-7f1ff29f6000 ---p 00007000 08:01 1312667                    /opt/conda/envs/test/lib/python3.6/lib-dynload/select.cpython-36m-x86_64-linux-gnu.so
7f1ff29f6000-7f1ff29f7000 r--p 00006000 08:01 1312667                    /opt/conda/envs/test/lib/python3.6/lib-dynload/select.cpython-36m-x86_64-linux-gnu.so
7f1ff29f7000-7f1ff29f9000 rw-p 00007000 08:01 1312667                    /opt/conda/envs/test/lib/python3.6/lib-dynload/select.cpython-36m-x86_64-linux-gnu.so
7f1ff29f9000-7f1ff2a39000 rw-p 00000000 00:00 0 
7f1ff2a39000-7f1ff2a4f000 r-xp 00000000 08:01 1312793                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_socket.cpython-36m-x86_64-linux-gnu.so
7f1ff2a4f000-7f1ff2c4f000 ---p 00016000 08:01 1312793                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_socket.cpython-36m-x86_64-linux-gnu.so
7f1ff2c4f000-7f1ff2c50000 r--p 00016000 08:01 1312793                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_socket.cpython-36m-x86_64-linux-gnu.so
7f1ff2c50000-7f1ff2c55000 rw-p 00017000 08:01 1312793                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_socket.cpython-36m-x86_64-linux-gnu.so
7f1ff2c55000-7f1ff2c95000 rw-p 00000000 00:00 0 
7f1ff2c95000-7f1ff2c9b000 r-xp 00000000 08:01 1312635                    /opt/conda/envs/test/lib/python3.6/lib-dynload/binascii.cpython-36m-x86_64-linux-gnu.so
7f1ff2c9b000-7f1ff2e9a000 ---p 00006000 08:01 1312635                    /opt/conda/envs/test/lib/python3.6/lib-dynload/binascii.cpython-36m-x86_64-linux-gnu.so
7f1ff2e9a000-7f1ff2e9b000 r--p 00005000 08:01 1312635                    /opt/conda/envs/test/lib/python3.6/lib-dynload/binascii.cpython-36m-x86_64-linux-gnu.so
7f1ff2e9b000-7f1ff2e9c000 rw-p 00006000 08:01 1312635                    /opt/conda/envs/test/lib/python3.6/lib-dynload/binascii.cpython-36m-x86_64-linux-gnu.so
7f1ff2e9c000-7f1ff2edc000 rw-p 00000000 00:00 0 
7f1ff2edc000-7f1ff2f9d000 r-xp 00000000 08:01 1312822                    /opt/conda/envs/test/lib/python3.6/lib-dynload/unicodedata.cpython-36m-x86_64-linux-gnu.so
7f1ff2f9d000-7f1ff319d000 ---p 000c1000 08:01 1312822                    /opt/conda/envs/test/lib/python3.6/lib-dynload/unicodedata.cpython-36m-x86_64-linux-gnu.so
7f1ff319d000-7f1ff319e000 r--p 000c1000 08:01 1312822                    /opt/conda/envs/test/lib/python3.6/lib-dynload/unicodedata.cpython-36m-x86_64-linux-gnu.so
7f1ff319e000-7f1ff31b9000 rw-p 000c2000 08:01 1312822                    /opt/conda/envs/test/lib/python3.6/lib-dynload/unicodedata.cpython-36m-x86_64-linux-gnu.so
7f1ff31b9000-7f1ff31ca000 r-xp 00000000 08:01 1312767                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_json.cpython-36m-x86_64-linux-gnu.so
7f1ff31ca000-7f1ff33ca000 ---p 00011000 08:01 1312767                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_json.cpython-36m-x86_64-linux-gnu.so
7f1ff33ca000-7f1ff33cb000 r--p 00011000 08:01 1312767                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_json.cpython-36m-x86_64-linux-gnu.so
7f1ff33cb000-7f1ff33cc000 rw-p 00012000 08:01 1312767                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_json.cpython-36m-x86_64-linux-gnu.so
7f1ff33cc000-7f1ff340c000 rw-p 00000000 00:00 0 
7f1ff340c000-7f1ff340d000 r-xp 00000000 08:01 1312239                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_opcode.cpython-36m-x86_64-linux-gnu.so
7f1ff340d000-7f1ff360d000 ---p 00001000 08:01 1312239                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_opcode.cpython-36m-x86_64-linux-gnu.so
7f1ff360d000-7f1ff360e000 r--p 00001000 08:01 1312239                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_opcode.cpython-36m-x86_64-linux-gnu.so
7f1ff360e000-7f1ff360f000 rw-p 00002000 08:01 1312239                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_opcode.cpython-36m-x86_64-linux-gnu.so
7f1ff360f000-7f1ff36cf000 rw-p 00000000 00:00 0 
7f1ff36cf000-7f1ff378a000 r-xp 00000000 08:01 1316333                    /opt/conda/envs/test/lib/python3.6/site-packages/numpy/random/mtrand.cpython-36m-x86_64-linux-gnu.so
7f1ff378a000-7f1ff3989000 ---p 000bb000 08:01 1316333                    /opt/conda/envs/test/lib/python3.6/site-packages/numpy/random/mtrand.cpython-36m-x86_64-linux-gnu.so
7f1ff3989000-7f1ff398a000 r--p 000ba000 08:01 1316333                    /opt/conda/envs/test/lib/python3.6/site-packages/numpy/random/mtrand.cpython-36m-x86_64-linux-gnu.so
7f1ff398a000-7f1ff39ae000 rw-p 000bb000 08:01 1316333                    /opt/conda/envs/test/lib/python3.6/site-packages/numpy/random/mtrand.cpython-36m-x86_64-linux-gnu.so
7f1ff39ae000-7f1ff39ef000 rw-p 00000000 00:00 0 
7f1ff39ef000-7f1ff39f8000 r-xp 00000000 08:01 1316231                    /opt/conda/envs/test/lib/python3.6/site-packages/numpy/fft/fftpack_lite.cpython-36m-x86_64-linux-gnu.so
7f1ff39f8000-7f1ff3bf7000 ---p 00009000 08:01 1316231                    /opt/conda/envs/test/lib/python3.6/site-packages/numpy/fft/fftpack_lite.cpython-36m-x86_64-linux-gnu.so
7f1ff3bf7000-7f1ff3bf8000 r--p 00008000 08:01 1316231                    /opt/conda/envs/test/lib/python3.6/site-packages/numpy/fft/fftpack_lite.cpython-36m-x86_64-linux-gnu.so
7f1ff3bf8000-7f1ff3bf9000 rw-p 00009000 08:01 1316231                    /opt/conda/envs/test/lib/python3.6/site-packages/numpy/fft/fftpack_lite.cpython-36m-x86_64-linux-gnu.so
7f1ff3bf9000-7f1ff3c39000 rw-p 00000000 00:00 0 
7f1ff3c39000-7f1ff3c7d000 r-xp 00000000 08:01 1312814                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_decimal.cpython-36m-x86_64-linux-gnu.so
7f1ff3c7d000-7f1ff3e7d000 ---p 00044000 08:01 1312814                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_decimal.cpython-36m-x86_64-linux-gnu.so
7f1ff3e7d000-7f1ff3e7e000 r--p 00044000 08:01 1312814                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_decimal.cpython-36m-x86_64-linux-gnu.so
7f1ff3e7e000-7f1ff3e86000 rw-p 00045000 08:01 1312814                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_decimal.cpython-36m-x86_64-linux-gnu.so
7f1ff3e86000-7f1ff3eac000 r-xp 00000000 08:01 1316325                    /opt/conda/envs/test/lib/python3.6/site-packages/numpy/linalg/_umath_linalg.cpython-36m-x86_64-linux-gnu.so
7f1ff3eac000-7f1ff40ab000 ---p 00026000 08:01 1316325                    /opt/conda/envs/test/lib/python3.6/site-packages/numpy/linalg/_umath_linalg.cpython-36m-x86_64-linux-gnu.so
7f1ff40ab000-7f1ff40ac000 r--p 00025000 08:01 1316325                    /opt/conda/envs/test/lib/python3.6/site-packages/numpy/linalg/_umath_linalg.cpython-36m-x86_64-linux-gnu.so
7f1ff40ac000-7f1ff40ad000 rw-p 00026000 08:01 1316325                    /opt/conda/envs/test/lib/python3.6/site-packages/numpy/linalg/_umath_linalg.cpython-36m-x86_64-linux-gnu.so
7f1ff40ad000-7f1ff40b0000 r-xp 00000000 08:01 1316154                    /opt/conda/envs/test/lib/python3.6/site-packages/numpy/linalg/lapack_lite.cpython-36m-x86_64-linux-gnu.so
7f1ff40b0000-7f1ff42b0000 ---p 00003000 08:01 1316154                    /opt/conda/envs/test/lib/python3.6/site-packages/numpy/linalg/lapack_lite.cpython-36m-x86_64-linux-gnu.so
7f1ff42b0000-7f1ff42b1000 r--p 00003000 08:01 1316154                    /opt/conda/envs/test/lib/python3.6/site-packages/numpy/linalg/lapack_lite.cpython-36m-x86_64-linux-gnu.so
7f1ff42b1000-7f1ff42b2000 rw-p 00004000 08:01 1316154                    /opt/conda/envs/test/lib/python3.6/site-packages/numpy/linalg/lapack_lite.cpython-36m-x86_64-linux-gnu.so
7f1ff42b2000-7f1ff43c3000 rw-p 00000000 00:00 0 
7f1ff43c3000-7f1ff43c7000 r-xp 00000000 08:01 1312518                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_random.cpython-36m-x86_64-linux-gnu.so
7f1ff43c7000-7f1ff45c6000 ---p 00004000 08:01 1312518                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_random.cpython-36m-x86_64-linux-gnu.so
7f1ff45c6000-7f1ff45c7000 r--p 00003000 08:01 1312518                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_random.cpython-36m-x86_64-linux-gnu.so
7f1ff45c7000-7f1ff45c8000 rw-p 00004000 08:01 1312518                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_random.cpython-36m-x86_64-linux-gnu.so
7f1ff45c8000-7f1ff45ca000 r-xp 00000000 08:01 1312379                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_bisect.cpython-36m-x86_64-linux-gnu.so
7f1ff45ca000-7f1ff47c9000 ---p 00002000 08:01 1312379                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_bisect.cpython-36m-x86_64-linux-gnu.so
7f1ff47c9000-7f1ff47ca000 r--p 00001000 08:01 1312379                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_bisect.cpython-36m-x86_64-linux-gnu.so
7f1ff47ca000-7f1ff47cb000 rw-p 00002000 08:01 1312379                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_bisect.cpython-36m-x86_64-linux-gnu.so
7f1ff47cb000-7f1ff47e1000 r-xp 00000000 08:01 1312787                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_sha3.cpython-36m-x86_64-linux-gnu.so
7f1ff47e1000-7f1ff49e0000 ---p 00016000 08:01 1312787                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_sha3.cpython-36m-x86_64-linux-gnu.so
7f1ff49e0000-7f1ff49e1000 r--p 00015000 08:01 1312787                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_sha3.cpython-36m-x86_64-linux-gnu.so
7f1ff49e1000-7f1ff49e3000 rw-p 00016000 08:01 1312787                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_sha3.cpython-36m-x86_64-linux-gnu.so
7f1ff49e3000-7f1ff49f0000 r-xp 00000000 08:01 1312733                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_blake2.cpython-36m-x86_64-linux-gnu.so
7f1ff49f0000-7f1ff4bef000 ---p 0000d000 08:01 1312733                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_blake2.cpython-36m-x86_64-linux-gnu.so
7f1ff4bef000-7f1ff4bf0000 r--p 0000c000 08:01 1312733                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_blake2.cpython-36m-x86_64-linux-gnu.so
7f1ff4bf0000-7f1ff4bf1000 rw-p 0000d000 08:01 1312733                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_blake2.cpython-36m-x86_64-linux-gnu.so
7f1ff4bf1000-7f1ff4e07000 r-xp 00000000 08:01 1055965                    /opt/conda/envs/test/lib/libcrypto.so.1.0.0
7f1ff4e07000-7f1ff5006000 ---p 00216000 08:01 1055965                    /opt/conda/envs/test/lib/libcrypto.so.1.0.0
7f1ff5006000-7f1ff5022000 r--p 00215000 08:01 1055965                    /opt/conda/envs/test/lib/libcrypto.so.1.0.0
7f1ff5022000-7f1ff502d000 rw-p 00231000 08:01 1055965                    /opt/conda/envs/test/lib/libcrypto.so.1.0.0
7f1ff502d000-7f1ff5031000 rw-p 00000000 00:00 0 
7f1ff5031000-7f1ff5037000 r-xp 00000000 08:01 1312636                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_hashlib.cpython-36m-x86_64-linux-gnu.so
7f1ff5037000-7f1ff5236000 ---p 00006000 08:01 1312636                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_hashlib.cpython-36m-x86_64-linux-gnu.so
7f1ff5236000-7f1ff5237000 r--p 00005000 08:01 1312636                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_hashlib.cpython-36m-x86_64-linux-gnu.so
7f1ff5237000-7f1ff5238000 rw-p 00006000 08:01 1312636                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_hashlib.cpython-36m-x86_64-linux-gnu.so
7f1ff5238000-7f1ff5278000 rw-p 00000000 00:00 0 
7f1ff5278000-7f1ff527a000 r-xp 00000000 08:01 1312459                    /opt/conda/envs/test/lib/python3.6/lib-dynload/grp.cpython-36m-x86_64-linux-gnu.so
7f1ff527a000-7f1ff547a000 ---p 00002000 08:01 1312459                    /opt/conda/envs/test/lib/python3.6/lib-dynload/grp.cpython-36m-x86_64-linux-gnu.so
7f1ff547a000-7f1ff547b000 r--p 00002000 08:01 1312459                    /opt/conda/envs/test/lib/python3.6/lib-dynload/grp.cpython-36m-x86_64-linux-gnu.so
7f1ff547b000-7f1ff547c000 rw-p 00003000 08:01 1312459                    /opt/conda/envs/test/lib/python3.6/lib-dynload/grp.cpython-36m-x86_64-linux-gnu.so
7f1ff547c000-7f1ff54a1000 r-xp 00000000 08:01 1186055                    /opt/conda/envs/test/lib/liblzma.so.5.2.3
7f1ff54a1000-7f1ff56a0000 ---p 00025000 08:01 1186055                    /opt/conda/envs/test/lib/liblzma.so.5.2.3
7f1ff56a0000-7f1ff56a1000 r--p 00024000 08:01 1186055                    /opt/conda/envs/test/lib/liblzma.so.5.2.3
7f1ff56a1000-7f1ff56a2000 rw-p 00025000 08:01 1186055                    /opt/conda/envs/test/lib/liblzma.so.5.2.3
7f1ff56a2000-7f1ff56a9000 r-xp 00000000 08:01 1312699                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_lzma.cpython-36m-x86_64-linux-gnu.so
7f1ff56a9000-7f1ff58a9000 ---p 00007000 08:01 1312699                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_lzma.cpython-36m-x86_64-linux-gnu.so
7f1ff58a9000-7f1ff58aa000 r--p 00007000 08:01 1312699                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_lzma.cpython-36m-x86_64-linux-gnu.so
7f1ff58aa000-7f1ff58ac000 rw-p 00008000 08:01 1312699                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_lzma.cpython-36m-x86_64-linux-gnu.so
7f1ff58ac000-7f1ff58c0000 r-xp 00000000 08:01 1312812                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_bz2.cpython-36m-x86_64-linux-gnu.so
7f1ff58c0000-7f1ff5abf000 ---p 00014000 08:01 1312812                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_bz2.cpython-36m-x86_64-linux-gnu.so
7f1ff5abf000-7f1ff5ac0000 r--p 00013000 08:01 1312812                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_bz2.cpython-36m-x86_64-linux-gnu.so
7f1ff5ac0000-7f1ff5ac2000 rw-p 00014000 08:01 1312812                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_bz2.cpython-36m-x86_64-linux-gnu.so
7f1ff5ac2000-7f1ff5ad8000 r-xp 00000000 08:01 660982                     /opt/conda/envs/test/lib/libz.so.1.2.11
7f1ff5ad8000-7f1ff5cd7000 ---p 00016000 08:01 660982                     /opt/conda/envs/test/lib/libz.so.1.2.11
7f1ff5cd7000-7f1ff5cd8000 r--p 00015000 08:01 660982                     /opt/conda/envs/test/lib/libz.so.1.2.11
7f1ff5cd8000-7f1ff5cd9000 rw-p 00016000 08:01 660982                     /opt/conda/envs/test/lib/libz.so.1.2.11
7f1ff5cd9000-7f1ff5ce0000 r-xp 00000000 08:01 1312671                    /opt/conda/envs/test/lib/python3.6/lib-dynload/zlib.cpython-36m-x86_64-linux-gnu.so
7f1ff5ce0000-7f1ff5edf000 ---p 00007000 08:01 1312671                    /opt/conda/envs/test/lib/python3.6/lib-dynload/zlib.cpython-36m-x86_64-linux-gnu.so
7f1ff5edf000-7f1ff5ee0000 r--p 00006000 08:01 1312671                    /opt/conda/envs/test/lib/python3.6/lib-dynload/zlib.cpython-36m-x86_64-linux-gnu.so
7f1ff5ee0000-7f1ff5ee2000 rw-p 00007000 08:01 1312671                    /opt/conda/envs/test/lib/python3.6/lib-dynload/zlib.cpython-36m-x86_64-linux-gnu.so
7f1ff5ee2000-7f1ff60a2000 rw-p 00000000 00:00 0 
7f1ff60a2000-7f1ff60bd000 r-xp 00000000 08:01 1312798                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_pickle.cpython-36m-x86_64-linux-gnu.so
7f1ff60bd000-7f1ff62bd000 ---p 0001b000 08:01 1312798                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_pickle.cpython-36m-x86_64-linux-gnu.so
7f1ff62bd000-7f1ff62be000 r--p 0001b000 08:01 1312798                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_pickle.cpython-36m-x86_64-linux-gnu.so
7f1ff62be000-7f1ff62c1000 rw-p 0001c000 08:01 1312798                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_pickle.cpython-36m-x86_64-linux-gnu.so
7f1ff62c1000-7f1ff6301000 rw-p 00000000 00:00 0 
7f1ff6301000-7f1ff630c000 r-xp 00000000 08:01 1312735                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_struct.cpython-36m-x86_64-linux-gnu.so
7f1ff630c000-7f1ff650b000 ---p 0000b000 08:01 1312735                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_struct.cpython-36m-x86_64-linux-gnu.so
7f1ff650b000-7f1ff650c000 r--p 0000a000 08:01 1312735                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_struct.cpython-36m-x86_64-linux-gnu.so
7f1ff650c000-7f1ff650e000 rw-p 0000b000 08:01 1312735                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_struct.cpython-36m-x86_64-linux-gnu.so
7f1ff650e000-7f1ff6515000 r-xp 00000000 08:01 658932                     /opt/conda/envs/test/lib/libffi.so.6.0.4
7f1ff6515000-7f1ff6715000 ---p 00007000 08:01 658932                     /opt/conda/envs/test/lib/libffi.so.6.0.4
7f1ff6715000-7f1ff6716000 r--p 00007000 08:01 658932                     /opt/conda/envs/test/lib/libffi.so.6.0.4
7f1ff6716000-7f1ff6717000 rw-p 00008000 08:01 658932                     /opt/conda/envs/test/lib/libffi.so.6.0.4
7f1ff6717000-7f1ff6735000 r-xp 00000000 08:01 1312805                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_ctypes.cpython-36m-x86_64-linux-gnu.so
7f1ff6735000-7f1ff6935000 ---p 0001e000 08:01 1312805                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_ctypes.cpython-36m-x86_64-linux-gnu.so
7f1ff6935000-7f1ff6936000 r--p 0001e000 08:01 1312805                    /opt/conda/envs/test/lib/python3.6/lib-dynload/_ctypes.cpython-36m-x86_64-linux-gnu.soFatal Python error: Aborted

Current thread 0x00007f1ffe13b700 (most recent call first):
  File "/opt/conda/envs/test/lib/python3.6/site-packages/astropy/wcs/wcs.py", line 2522 in to_header
  File "test.py", line 13 in <module>
Aborted

To set up an environment to reproduce this:

docker run -it continuumio/miniconda3 /bin/bash

then

conda create -n test astropy nomkl python=3.6
conda activate test

About this issue

  • Original URL
  • State: closed
  • Created 6 years ago
  • Comments: 29 (29 by maintainers)

Most upvoted comments

WCSLIB 5.19 is now available with a fix for this issue πŸŽ‰ http://www.atnf.csiro.au/people/mcalabre/WCS/CHANGES

Apparently it is a bug with wcslib and -D_FORTIFY_SOURCE=2 (and same with =1), which is used on Archlinux (and probably conda?) by default, and seems to detect a buffer overflow (?). Recompiling with CPPFLAGS=β€œ-D_FORTIFY_SOURCE=0” solves the issue.

(gdb) bt
#0  0x00007ffff783486b in raise () from /usr/lib/libc.so.6
#1  0x00007ffff781f40e in abort () from /usr/lib/libc.so.6
#2  0x00007ffff78768b8 in __libc_message () from /usr/lib/libc.so.6
#3  0x00007ffff790780d in __fortify_fail_abort () from /usr/lib/libc.so.6
#4  0x00007ffff7907841 in __fortify_fail () from /usr/lib/libc.so.6
#5  0x00007ffff7905930 in __chk_fail () from /usr/lib/libc.so.6
#6  0x00007ffff7904f99 in _IO_str_chk_overflow () from /usr/lib/libc.so.6
#7  0x00007ffff787a941 in __GI__IO_default_xsputn () from /usr/lib/libc.so.6
#8  0x00007ffff784becc in printf_positional () from /usr/lib/libc.so.6
#9  0x00007ffff784d256 in vfprintf () from /usr/lib/libc.so.6
#10 0x00007ffff7905041 in __vsprintf_chk () from /usr/lib/libc.so.6
#11 0x00007ffff7904f6a in __sprintf_chk () from /usr/lib/libc.so.6
#12 0x00007fffebb1a767 in sprintf (__fmt=0x7fffebbad3ff "%s%c", 
    __s=0x7fffffffd070 "OBSGEO-X% 20.14") at /usr/include/bits/stdio2.h:33
#13 wcshdo_util (relax=relax@entry=16399, 
    pikey=pikey@entry=0x7fffffffd238 "OBSGEO-X% 20.14G", 
    tbkey=tbkey@entry=0x7fffffffd230 "OBSGX", level=level@entry=0, tlkey=tlkey@entry=0x0, 
    i=i@entry=0, j=0, m=0, alt=0 '\000', btcol=0, plcol=0x555555e6a5c0, 
    keyvalue=0x7fffffffd300 "       12.2124214124", 
    keycomment=0x7fffffffd2b0 "[m] ITRF observatory X-coordinate", nkeyrec=0x7fffffffd39c, 
    header=0x7fffffffd3a8, status=0x7fffffffd1ec) at wcshdr.c:1877
#14 0x00007fffebb1db58 in wcshdo (ctrl=ctrl@entry=16399, wcs=wcs@entry=0x5555560240b0, 
    nkeyrec=nkeyrec@entry=0x7fffffffd39c, header=header@entry=0x7fffffffd3a8) at wcshdr.c:1038
#15 0x00007fffebe30c4a in PyWcsprm_to_header (self=0x5555560240a0, args=<optimized out>, 
    kwds=<optimized out>) at astropy/wcs/src/wcslib_wrap.c:1870
#16 0x00007ffff74204d4 in _PyCFunction_FastCallDict () from /usr/lib/libpython3.6m.so.1.0
#17 0x00007ffff73e984e in ?? () from /usr/lib/libpython3.6m.so.1.0
#18 0x00007ffff73ad0fa in _PyEval_EvalFrameDefault () from /usr/lib/libpython3.6m.so.1.0
#19 0x00007ffff73e7a99 in ?? () from /usr/lib/libpython3.6m.so.1.0
#20 0x00007ffff73e94e0 in ?? () from /usr/lib/libpython3.6m.so.1.0
#21 0x00007ffff73e9952 in ?? () from /usr/lib/libpython3.6m.so.1.0
#22 0x00007ffff73ad0fa in _PyEval_EvalFrameDefault () from /usr/lib/libpython3.6m.so.1.0
#23 0x00007ffff73e9e59 in PyEval_EvalCodeEx () from /usr/lib/libpython3.6m.so.1.0
#24 0x00007ffff73accbc in PyEval_EvalCode () from /usr/lib/libpython3.6m.so.1.0
#25 0x00007ffff7482c04 in ?? () from /usr/lib/libpython3.6m.so.1.0
#26 0x00007ffff7485bae in PyRun_FileExFlags () from /usr/lib/libpython3.6m.so.1.0
#27 0x00007ffff7485d9d in PyRun_SimpleFileExFlags () from /usr/lib/libpython3.6m.so.1.0
#28 0x00007ffff74815e1 in Py_Main () from /usr/lib/libpython3.6m.so.1.0
#29 0x0000555555554b5c in main ()

(gdb) up
#15 wcshdo_util (relax=relax@entry=16399, 
    pikey=pikey@entry=0x7fffffffd238 "OBSGEO-X% 20.14G", 
    tbkey=tbkey@entry=0x7fffffffd230 "OBSGX", level=level@entry=0, tlkey=tlkey@entry=0x0, 
    i=i@entry=0, j=0, m=0, alt=0 '\000', btcol=0, plcol=0x555555e6a5c0, 
    keyvalue=0x7fffffffd300 "       12.2124214124", 
    keycomment=0x7fffffffd2b0 "[m] ITRF observatory X-coordinate", nkeyrec=0x7fffffffd39c, 
    header=0x7fffffffd3a8, status=0x7fffffffd1ec) at wcshdr.c:1877
1877	      sprintf(keyword, "%s%c", pikey, alt);
(gdb) info args 
relax = 16399
pikey = 0x7fffffffd238 "OBSGEO-X% 20.14G"
tbkey = 0x7fffffffd230 "OBSGX"
level = 0
tlkey = 0x0
i = 0
j = 0
m = 0
alt = 0 '\000'
btcol = 0
plcol = 0x555555e6a5c0
keyvalue = 0x7fffffffd300 "       12.2124214124"
keycomment = 0x7fffffffd2b0 "[m] ITRF observatory X-coordinate"
nkeyrec = 0x7fffffffd39c
header = 0x7fffffffd3a8
status = 0x7fffffffd1ec

The pip version works. It does indeed appear to be a conda problem. Can’t check conda-forge right now though

@pllim - Yes with something like CFLAGS='-g -O0' pip install astropy --no-binary astropy.