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

lsst.meas.algorithms.Defects seems to be causing a segmentation fault in very specific situations.

    Details

    • Type: Story
    • Status: Done
    • Resolution: Done
    • Fix Version/s: None
    • Component/s: meas_algorithms
    • Labels:
      None
    • Templates:
    • Story Points:
      6
    • Sprint:
      AP F19-1
    • Team:
      Data Release Production

      Description

      Working on the tickets to implement the new defects handling, Tim Jenness implemented a new class to hold lists of defects. This seems to not be playing well in some very specific circumstances.

      Specifics:
      I never see segmentation faults on Linux.
      On mac OS I've seen a segmentation fault on High Sierra running v10.1 of command line tools.
      I have also seen a segmentation fault on Mojave running v10.2.1 of command line tools, but not when running v10.1.

      To repeat:
      1) setup w_2019_24
      2) setup master of:

      • obs_test_data
      • obs_decam_data

      3) setup tickets/DM-18739 of:

      • obs_base
      • obs_test
      • pipe_tasks

      4) setup tickets/DM-19730 of:

      • obs_decam
      • testdata_decam

      5) Navigate to a location where an output repository can be created.
      6) Execute (on some systems, this will result in a segmentation fault in the measurement phase in the calibrate task):

      processCcd.py $TESTDATA_DECAM_DIR/rawData --output tmp_out --id visit=229388 ccdnum=1 --calib $TESTDATA_DECAM_DIR/rawData/cpCalib --config calibrate.doPhotoCal=False calibrate.doAstrometry=False
      

      7) Remove output repository and rerun with defect interpolation turned off. This does not result in a segmentation fault on my system.

      processCcd.py $TESTDATA_DECAM_DIR/rawData --output tmp_out --id visit=229388 ccdnum=1 --calib $TESTDATA_DECAM_DIR/rawData/cpCalib --config calibrate.doPhotoCal=False calibrate.doAstrometry=False isr.doDefect=False
      

      I isolated things a little by running calibrate.py on the persisted outputs of IsrTask and CharImageTask and did not observe a segmentation fault.

      I did more looking and if I modify the defects sent to IsrTask, I can get rid of the segmentation fault:

      • Send an empty Defects – No segmentation fault
      • Drop the last three defects from the list – No segmentation fault
      • Drop the first three defects from the list – Segmentation fault
      • Delete the python object that holds the defects immediately after interpolating – Segmentation fault.

      Here is the backtrace from my terminal is attached.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                jbosch Jim Bosch
                Reporter:
                krughoff Simon Krughoff
                Reviewers:
                John Swinbank
                Watchers:
                Frossie Economou, Jim Bosch, John Parejko, John Swinbank, Kian-Tat Lim, Krzysztof Findeisen, Simon Krughoff, Tim Jenness
              • Votes:
                0 Vote for this issue
                Watchers:
                8 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Summary Panel