[Debian-astro-maintainers] Bug#971541: astroquery: autopkgtest failure on armhf

Graham Inggs ginggs at debian.org
Thu Oct 1 15:24:12 BST 2020


Source: astroquery
Version: 0.4.1+dfsg-1
Severity: serious
Tags: sid bullseye
X-Debbugs-CC: debian-ci at lists.debian.org
User: debian-ci at lists.debian.org
Usertags: regression

Hi Maintainer

Autopkgtests have recently started running on armhf, and there
astroquery fails [1].
I've copied what I hope is the relevant part of the log below.

I've marked this as a regression as 0.3.9+dfsg-1 passes in Debian
stable, and 0.4+dfsg-3 passes in Ubuntu.

Regards
Graham


[1] https://ci.debian.net/packages/a/astroquery/testing/armhf/


=================================== FAILURES ===================================
_________________________ test_all_tables[toi-query34] _________________________

self = <astropy.io.ascii.core.TableOutputter object at 0xf299f490>
cols = [<astropy.io.ascii.core.Column object at 0xf299f6e8>,
<astropy.io.ascii.core.Column object at 0xf299f8f8>,
<astropy.io...99fdf0>, <astropy.io.ascii.core.Column object at
0xf299f778>, <astropy.io.ascii.core.Column object at 0xf299fa90>, ...]

    def _convert_vals(self, cols):
        for col in cols:
            # If a specific dtype was specified for a column, then use that
            # to set the defaults, otherwise use the generic defaults.
            default_converters = ([convert_numpy(col.dtype)] if col.dtype
                                  else self.default_converters)

            # If the user supplied a specific convert then that takes
precedence over defaults
            converters = self.converters.get(col.name, default_converters)

            col.converters = self._validate_and_copy(col, converters)

            # Catch the last error in order to provide additional information
            # in case all attempts at column conversion fail.  The initial
            # value of of last_error will apply if no converters are defined
            # and the first col.converters[0] access raises IndexError.
            last_err = 'no converters defined'

            while not hasattr(col, 'data'):
                try:
                    converter_func, converter_type = col.converters[0]
                    if not issubclass(converter_type, col.type):
                        raise TypeError('converter type does not match
column type')
>                   col.data = converter_func(col.str_vals)

/usr/lib/python3/dist-packages/astropy/io/ascii/core.py:960:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

vals = ['9048843364125']

    def generic_converter(vals):
>       return numpy.array(vals, numpy_type)
E       OverflowError: Python int too large to convert to C long

/usr/lib/python3/dist-packages/astropy/io/ascii/core.py:904: OverflowError

During handling of the above exception, another exception occurred:

patch_get = <_pytest.monkeypatch.MonkeyPatch object at 0xf299fb08>
table = 'toi', query = {'where': 'toi=256.01'}

    @pytest.mark.filterwarnings("error")
    @pytest.mark.parametrize("table,query", ALL_TABLES)
    def test_all_tables(patch_get, table, query):
>       data = NasaExoplanetArchive.query_criteria(table, select="*", **query)

/usr/lib/python3/dist-packages/astroquery/nasa_exoplanet_archive/tests/test_nasa_exoplanet_archive.py:188:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3/dist-packages/astroquery/utils/class_or_instance.py:25: in f
    return self.fn(obj, *args, **kwds)
/usr/lib/python3/dist-packages/astroquery/utils/process_asyncs.py:29:
in newmethod
    result = self._parse_result(response, verbose=verbose)
/usr/lib/python3/dist-packages/astroquery/nasa_exoplanet_archive/core.py:471:
in _parse_result
    data = ascii.read(text, format="ipac", fast_reader=False,
converters=CONVERTERS)
/usr/lib/python3/dist-packages/astropy/io/ascii/ui.py:323: in read
    dat = reader.read(table)
/usr/lib/python3/dist-packages/astropy/io/ascii/core.py:1209: in read
    table = self.outputter(cols, self.meta)
/usr/lib/python3/dist-packages/astropy/io/ascii/core.py:990: in __call__
    self._convert_vals(cols)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <astropy.io.ascii.core.TableOutputter object at 0xf299f490>
cols = [<astropy.io.ascii.core.Column object at 0xf299f6e8>,
<astropy.io.ascii.core.Column object at 0xf299f8f8>,
<astropy.io...99fdf0>, <astropy.io.ascii.core.Column object at
0xf299f778>, <astropy.io.ascii.core.Column object at 0xf299fa90>, ...]

    def _convert_vals(self, cols):
        for col in cols:
            # If a specific dtype was specified for a column, then use that
            # to set the defaults, otherwise use the generic defaults.
            default_converters = ([convert_numpy(col.dtype)] if col.dtype
                                  else self.default_converters)

            # If the user supplied a specific convert then that takes
precedence over defaults
            converters = self.converters.get(col.name, default_converters)

            col.converters = self._validate_and_copy(col, converters)

            # Catch the last error in order to provide additional information
            # in case all attempts at column conversion fail.  The initial
            # value of of last_error will apply if no converters are defined
            # and the first col.converters[0] access raises IndexError.
            last_err = 'no converters defined'

            while not hasattr(col, 'data'):
                try:
                    converter_func, converter_type = col.converters[0]
                    if not issubclass(converter_type, col.type):
                        raise TypeError('converter type does not match
column type')
                    col.data = converter_func(col.str_vals)
                    col.type = converter_type
                except (TypeError, ValueError) as err:
                    col.converters.pop(0)
                    last_err = err
                except OverflowError as err:
                    # Overflow during conversion (most likely an int that
                    # doesn't fit in native C long). Put string at the top of
                    # the converters list for the next while iteration.
>                   warnings.warn(
                        "OverflowError converting to {} in column {},
reverting to String."
                        .format(converter_type.__name__, col.name),
AstropyWarning)
E                   astropy.utils.exceptions.AstropyWarning:
OverflowError converting to IntType in column htm20, reverting to
String.



More information about the Debian-astro-maintainers mailing list