Uploaded image for project: 'Data Management'
  1. Data Management
  2. DM-19242

Recent changes to afw compression broke macos builds

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Done
    • Resolution: Done
    • Fix Version/s: None
    • Component/s: afw
    • Labels:
      None

      Attachments

        Activity

        Hide
        yusra Yusra AlSayyad added a comment -

        Still unclear if its random or not, but another data point is that it succeeded on a high_sierra-2 osx 10.13 build in https://ci.lsst.codes/blue/organizations/jenkins/stack-os-matrix/detail/stack-os-matrix/29660/pipeline/

        When the failures (296659, 29661) were on a mojave node.

        Show
        yusra Yusra AlSayyad added a comment - Still unclear if its random or not, but another data point is that it succeeded on a high_sierra-2 osx 10.13 build in  https://ci.lsst.codes/blue/organizations/jenkins/stack-os-matrix/detail/stack-os-matrix/29660/pipeline/ When the failures (296659, 29661) were on a mojave node.
        Hide
        swinbank John Swinbank added a comment -

        Per Slack:

        swinbank
        Ok, I can replicate the failure I think. Error occurs if `test_imageIo1.py` is run before `test_imageIo2.py`, but not if it is run after.
        Because `test_imageIo1.py` is using the `imageCompressionDisabled` context, which has changed behaviour.
        (And I'm testing on CentOS, not Mac)

        Specifically:

        [swinbank@lsst-dev01 afw (master $)]$ pytest tests/test_imageIo2.py tests/test_imageIo1.py 
        =========================================================================================== test session starts ============================================================================================
        platform linux -- Python 3.7.2, pytest-3.6.2, py-1.8.0, pluggy-0.6.0
        rootdir: /ssd/swinbank/afw, inifile: setup.cfg
        plugins: remotedata-0.3.1, openfiles-0.3.2, doctestplus-0.3.0, arraydiff-0.3, cov-2.5.1, session2file-0.1.9, forked-0.2, xdist-1.20.1, flake8-1.0.4
        collected 25 items                                                                                                                                                                                         
         
        tests/test_imageIo2.py s.ss......                                                                                                                                                                    [ 40%]
        tests/test_imageIo1.py ssss...ssss....                                                                                                                                                               [100%]
         
        ================================================================================== 14 passed, 11 skipped in 1.01 seconds ===================================================================================
        

        [swinbank@lsst-dev01 afw (master $)]$ pytest tests/test_imageIo1.py tests/test_imageIo2.py | tail
                    more HDUs to read.
                    """
            
                while True:
                    try:
        >               return func(*args, **kwargs)
        E               IndexError: list index out of range
         
        /software/lsstsw/stack_20190330/python/miniconda3-4.5.12/envs/lsst-scipipe/lib/python3.7/site-packages/astropy/io/fits/hdu/hdulist.py:1096: IndexError
        =============== 2 failed, 12 passed, 11 skipped in 0.92 seconds ================
        

        I have to head out now, but I think from there it'll be easy enough to fix; I'll pick it up later this evening.

        Show
        swinbank John Swinbank added a comment - Per Slack: swinbank Ok, I can replicate the failure I think. Error occurs if `test_imageIo1.py` is run before `test_imageIo2.py`, but not if it is run after. Because `test_imageIo1.py` is using the `imageCompressionDisabled` context, which has changed behaviour. (And I'm testing on CentOS, not Mac) Specifically: [swinbank@lsst-dev01 afw (master $)]$ pytest tests/test_imageIo2.py tests/test_imageIo1.py =========================================================================================== test session starts ============================================================================================ platform linux -- Python 3.7.2, pytest-3.6.2, py-1.8.0, pluggy-0.6.0 rootdir: /ssd/swinbank/afw, inifile: setup.cfg plugins: remotedata-0.3.1, openfiles-0.3.2, doctestplus-0.3.0, arraydiff-0.3, cov-2.5.1, session2file-0.1.9, forked-0.2, xdist-1.20.1, flake8-1.0.4 collected 25 items   tests/test_imageIo2.py s.ss...... [ 40%] tests/test_imageIo1.py ssss...ssss.... [100%]   ================================================================================== 14 passed, 11 skipped in 1.01 seconds =================================================================================== [swinbank@lsst-dev01 afw (master $)]$ pytest tests/test_imageIo1.py tests/test_imageIo2.py | tail more HDUs to read. """ while True: try: > return func(*args, **kwargs) E IndexError: list index out of range   /software/lsstsw/stack_20190330/python/miniconda3-4.5.12/envs/lsst-scipipe/lib/python3.7/site-packages/astropy/io/fits/hdu/hdulist.py:1096: IndexError =============== 2 failed, 12 passed, 11 skipped in 0.92 seconds ================ I have to head out now, but I think from there it'll be easy enough to fix; I'll pick it up later this evening.
        Hide
        erykoff Eli Rykoff added a comment -

        If there’s an exception raised in the context does the context close properly?

        Show
        erykoff Eli Rykoff added a comment - If there’s an exception raised in the context does the context close properly?
        Hide
        swinbank John Swinbank added a comment -

        Not, it turns out, an issue with the context manager, but rather with its associated test, which mucked about with global state and didn't reset it afterwards.

        PR: https://github.com/lsst/afw/pull/452
        Jenkins: https://ci.lsst.codes/blue/organizations/jenkins/stack-os-matrix/detail/stack-os-matrix/29664/pipeline

        Show
        swinbank John Swinbank added a comment - Not, it turns out, an issue with the context manager, but rather with its associated test, which mucked about with global state and didn't reset it afterwards. PR: https://github.com/lsst/afw/pull/452 Jenkins: https://ci.lsst.codes/blue/organizations/jenkins/stack-os-matrix/detail/stack-os-matrix/29664/pipeline
        Hide
        erykoff Eli Rykoff added a comment -

        Great sleuthing!

        Show
        erykoff Eli Rykoff added a comment - Great sleuthing!
        Hide
        swinbank John Swinbank added a comment -

        Thanks Eli; merged & done.

        Show
        swinbank John Swinbank added a comment - Thanks Eli; merged & done.
        Hide
        krzys Krzysztof Findeisen added a comment -

        Oops, sorry for the trouble.

        Show
        krzys Krzysztof Findeisen added a comment - Oops, sorry for the trouble.

          People

          Assignee:
          swinbank John Swinbank
          Reporter:
          erykoff Eli Rykoff
          Reviewers:
          Eli Rykoff
          Watchers:
          Eli Rykoff, John Swinbank, Krzysztof Findeisen, Yusra AlSayyad
          Votes:
          0 Vote for this issue
          Watchers:
          4 Start watching this issue

            Dates

            Created:
            Updated:
            Resolved:

              CI Builds

              No builds found.