Skip to content

HYRAX-2176, fix the segmentation fault bug when a DAP4 attribute cont…#359

Merged
kyang2014 merged 1 commit into
masterfrom
hyrax-2176
Jun 4, 2026
Merged

HYRAX-2176, fix the segmentation fault bug when a DAP4 attribute cont…#359
kyang2014 merged 1 commit into
masterfrom
hyrax-2176

HYRAX-2176, fix the segmentation fault bug when a DAP4 attribute cont…

ac1aaf0
Select commit
Loading
Failed to load commit list.
Travis CI / Travis CI - Branch succeeded Jun 3, 2026 in 14m 9s

Build Passed

The build passed.

Details

This is a normal build for the hyrax-2176-test-deploy branch. You should be able to reproduce it by checking out the branch locally.

Jobs and Stages

This build has seven jobs, running in three sequential stages.

Stage 1: build

This stage passed.

Job Compiler ENV OS State
1872.1 make gcc prefix=$HOME/install Linux passed
1872.2 asan gcc prefix=$HOME/install Linux passed
1872.3 distcheck gcc prefix=$HOME/install Linux passed

Stage 2: package

This stage passed.

Job Compiler ENV OS State
1872.4 rocky8 RPMs gcc prefix=$HOME/install Linux passed
1872.5 rocky9 RPMs gcc prefix=$HOME/install Linux passed
1872.6 source distribution gcc prefix=$HOME/install Linux passed

Stage 3: hyrax-bes-trigger

This stage passed.

Job Compiler ENV OS State
1872.7 Hyrax BES Trigger gcc prefix=$HOME/install Linux passed

Build Configuration

Build Option Setting
Language C++
Operating System Linux (Focal)
Compiler Version gcc
Build Configuration
{
  "language": "cpp",
  "os": [
    "linux"
  ],
  "dist": "focal",
  "vm": {
    "size": "x-large"
  },
  "compiler": [
    "gcc"
  ],
  "branches": {
    "only": [
      "master",
      "main",
      "/^(.*-test-deploy)$/",
      "/^(.*-test-scan)$/"
    ]
  },
  "cache": {
    "ccache": true,
    "pip": true,
    "apt": true,
    "directories": [
      "./.cache/sonar/"
    ]
  },
  "addons": {
    "sonarcloud": {
      "organization": "opendap"
    },
    "apt": {
      "packages": [
        "libxml2-dev",
        "uuid-dev",
        "libcurl4-openssl-dev",
        "libcppunit-dev",
        "gcovr",
        "libfl-dev",
        "libtool-bin",
        "ccache"
      ]
    }
  },
  "env": [
    "global={:prefix=>\"$HOME/install\"}={:PATH=>\"$prefix/bin:$PATH\"}={:BUILD_PROCS=>\"$(nproc)\"}={:TESTSUITEFLAGS=>\"-j$BUILD_PROCS\"}={:CCACHE_DIR=>\"$HOME/.ccache\"}={:CCACHE_BASEDIR=>\"$TRAVIS_BUILD_DIR\"}={:CCACHE_MAXSIZE=>\"10G\"}={:CCACHE_COMPRESS=>\"true\"}={:CCACHE_SLOPPINESS=>\"include_file_mtime,time_macros\"}=GIT_UID=[secure]=GIT_PSWD=[secure]"
  ],
  "before_install": [
    "if test -n \"$AWS_ACCESS_KEY_ID\" -a \\( \"$TRAVIS_JOB_NAME\" = \"make\" -o \"$TRAVIS_JOB_NAME\" = \"asan\" -o \"$TRAVIS_JOB_NAME\" = \"distcheck\" \\); then pip install --user awscli; fi",
    "if test \"$TRAVIS_JOB_NAME\" = \"scan\"; then curl -s \"https://get.sdkman.io\" | bash; fi",
    "if test \"$TRAVIS_JOB_NAME\" = \"scan\"; then source \"$HOME/.sdkman/bin/sdkman-init.sh\"; fi",
    "if test \"$TRAVIS_JOB_NAME\" = \"scan\"; then sdk install java 17.0.2-open; fi",
    "if test \"$TRAVIS_JOB_NAME\" = \"scan\"; then sdk use java 17.0.2-open; fi",
    "if test \"$TRAVIS_JOB_NAME\" = \"scan\"; then java -version; fi"
  ],
  "install": [
    "which bison flex",
    "bison --version",
    "flex --version",
    "autoconf --version",
    "automake --version",
    "libtool --version"
  ],
  "before_script": [
    "source travis/travis_libdap_build_offset.sh",
    "export LIBDAP_BUILD_NUMBER=$(expr $TRAVIS_BUILD_NUMBER - $LIBDAP_TRAVIS_BUILD_OFFSET)",
    "echo \"LIBDAP_BUILD_NUMBER is ${LIBDAP_BUILD_NUMBER} = ${TRAVIS_BUILD_NUMBER} - ${LIBDAP_TRAVIS_BUILD_OFFSET}\"",
    "ccache --zero-stats || true",
    "ccache --max-size \"$CCACHE_MAXSIZE\" || true"
  ],
  "stages": [
    {
      "name": "build",
      "if": "branch = master OR branch = main OR branch =~ ^(.*-test-deploy)$"
    },
    {
      "name": "scan",
      "if": "branch = master OR branch = main OR branch =~ ^(.*-test-scan)$"
    },
    {
      "name": "package",
      "if": "branch = master OR branch = main OR branch =~ ^(.*-test-deploy)$"
    },
    {
      "name": "hyrax-bes-trigger",
      "if": "type != pull_request AND NOT branch =~ ^(.*-test-scan)$ OR branch =~ ^(.*-test-deploy)$"
    }
  ],
  "jobs": {
    "include": [
      {
        "stage": "build",
        "name": "make",
        "env": [
          {
            "CACHE_NAME": "make"
          }
        ],
        "script": [
          "export LIBDAP_BUILD=main",
          "autoreconf --force --install --verbose",
          "./configure --disable-dependency-tracking --prefix=$prefix",
          "make -j$BUILD_PROCS && make check -j$BUILD_PROCS && make install"
        ]
      },
      {
        "stage": "build",
        "name": "asan",
        "env": [
          {
            "CACHE_NAME": "asan"
          }
        ],
        "script": [
          "export LIBDAP_BUILD=asan",
          "autoreconf --force --install --verbose",
          "./configure --disable-dependency-tracking --prefix=$prefix --enable-developer --enable-asan",
          "make -j$BUILD_PROCS && make check -j$BUILD_PROCS"
        ]
      },
      {
        "stage": "build",
        "name": "distcheck",
        "env": [
          {
            "CACHE_NAME": "distcheck"
          }
        ],
        "script": [
          "export LIBDAP_BUILD=distcheck",
          "autoreconf --force --install --verbose",
          "./configure --disable-dependency-tracking --prefix=$prefix",
          "make distcheck -j$BUILD_PROCS"
        ]
      },
      {
        "stage": "scan",
        "name": "scan",
        "env": [
          {
            "CACHE_NAME": "scan"
          }
        ],
        "script": [
          "export LIBDAP_BUILD=sonar",
          "export SONAR_TOKEN=$SONAR_LOGIN",
          "autoreconf --force --install --verbose",
          "./configure --disable-dependency-tracking --prefix=$prefix --enable-developer --enable-coverage",
          "build-wrapper-linux-x86-64 --out-dir bw-output make -j$BUILD_PROCS",
          "make check -j$BUILD_PROCS",
          "gcovr --config gcovr.config --sonarqube coverage.xml",
          "sonar-scanner"
        ]
      },
      {
        "stage": "package",
        "name": "rocky8 RPMs",
        "script": [
          "export LIBDAP_BUILD=rocky8",
          "mkdir -p $prefix/rpmbuild",
          "docker run --env prefix=/root/install --volume $prefix/rpmbuild:/root/rpmbuild --volume $TRAVIS_BUILD_DIR:/root/travis --env AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID --env AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY --env os=rocky8 --env LIBDAP_BUILD_NUMBER=$LIBDAP_BUILD_NUMBER opendap/rocky8_hyrax_builder:latest /root/travis/travis/build-rh8-rpm.sh"
        ]
      },
      {
        "stage": "package",
        "name": "rocky9 RPMs",
        "script": [
          "export LIBDAP_BUILD=rocky9",
          "mkdir -p $prefix/rpmbuild",
          "docker run --env prefix=/root/install --volume $prefix/rpmbuild:/root/rpmbuild --volume $TRAVIS_BUILD_DIR:/root/libdap4 --env LIBDAP_BUILD_NUMBER=$LIBDAP_BUILD_NUMBER opendap/rocky9_hyrax_builder:latest /root/libdap4/travis/build-rh9-rpm.sh"
        ]
      },
      {
        "stage": "package",
        "name": "source distribution",
        "env": [
          {
            "CACHE_NAME": "srcdist"
          }
        ],
        "workspaces": {
          "create": {
            "name": "snapshot-release",
            "paths": [
              ".travis-workspace/snapshot"
            ]
          }
        },
        "script": [
          "export LIBDAP_BUILD=srcdist",
          "mkdir -p $TRAVIS_BUILD_DIR/package",
          "mkdir -p $TRAVIS_BUILD_DIR/.travis-workspace/snapshot",
          "autoreconf --force --install --verbose",
          "./configure --disable-dependency-tracking --prefix=$prefix --with-build=$LIBDAP_BUILD_NUMBER",
          "make dist -j$BUILD_PROCS",
          "SOURCE_VERSION=$(cat libdap_VERSION)",
          "mv libdap-*.tar.gz libdap-$SOURCE_VERSION.tar.gz",
          "cp libdap-$SOURCE_VERSION.tar.gz libdap-snapshot.tar.gz",
          "cp libdap_VERSION $TRAVIS_BUILD_DIR/.travis-workspace/snapshot/",
          "cp libdap-$SOURCE_VERSION.tar.gz $TRAVIS_BUILD_DIR/.travis-workspace/snapshot/",
          "cp libdap-snapshot.tar.gz $TRAVIS_BUILD_DIR/.travis-workspace/snapshot/"
        ]
      },
      {
        "stage": "hyrax-bes-trigger",
        "name": "Hyrax BES Trigger",
        "env": [
          {
            "CACHE_NAME": "hyrax-bes-trigger"
          }
        ],
        "workspaces": {
          "use": [
            "snapshot-release"
          ]
        },
        "script": [
          "export STAGE=hyrax-bes",
          "echo $STAGE",
          "cp .travis-workspace/snapshot/libdap_VERSION ./libdap_VERSION",
          "./travis/trigger-bes-build.sh"
        ]
      }
    ]
  },
  "after_script": [
    "ccache --show-stats || true",
    "./travis/upload-test-results.sh"
  ],
  "before_deploy": [
    "echo \"LIBDAP_BUILD ${LIBDAP_BUILD}\"",
    "export DEPLOY=\"S3\"",
    "mkdir -p $TRAVIS_BUILD_DIR/package",
    "if test \"$LIBDAP_BUILD\" = \"main\"; then tar -C $HOME -czvf $TRAVIS_BUILD_DIR/package/libdap-build.tar.gz --exclude 'install/deps*' --exclude 'install/rpmbuild*' install; fi",
    "if test \"$LIBDAP_BUILD\" = \"rocky8\"; then ./travis/rpm-to-package-dir.sh \"el8\"; fi",
    "if test \"$LIBDAP_BUILD\" = \"rocky9\"; then ./travis/rpm-to-package-dir.sh \"el9\"; fi",
    "if test \"$LIBDAP_BUILD\" = \"srcdist\"; then cp libdap-*.tar.gz $TRAVIS_BUILD_DIR/package; fi",
    "ls -lR $TRAVIS_BUILD_DIR/package"
  ],
  "deploy": [
    {
      "provider": "s3",
      "edge": true,
      "access_key_id": "$AWS_ACCESS_KEY_ID",
      "secret_access_key": "$AWS_SECRET_ACCESS_KEY",
      "bucket": "opendap.travis.build",
      "skip_cleanup": true,
      "local_dir": "$TRAVIS_BUILD_DIR/package",
      "on": {
        "all_branches": true,
        "condition": [
          "$LIBDAP_BUILD =~ ^(main|srcdist|rocky8|rocky9)$"
        ]
      }
    }
  ]
}