Commit 0ecd0b6d authored by norvell's avatar norvell
Browse files

Merge with main and new updates

parents 315a71fb 0bd2abcc
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -29,5 +29,6 @@
*.mat filter=lfs diff=lfs merge=lfs -text
*.met filter=lfs diff=lfs merge=lfs -text
*.pcm filter=lfs diff=lfs merge=lfs -text
*.sofa filter=lfs diff=lfs merge=lfs -text
*.wav filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
+5 −1
Original line number Diff line number Diff line
@@ -41,6 +41,7 @@ scripts/td_object_renderer/object_renderer_standalone/renderer_standalone.exe
.cache
*.log
*.bak
.\#*
scripts/c-code_instrument/
scripts/ifdef_instrument.list
scripts/ref/
@@ -66,5 +67,8 @@ __pycache__/
# history
.history/

#externals
Externals/

# coan output files that are created when cleaning out switches
coan_out_*
+39 −7
Original line number Diff line number Diff line
@@ -10,6 +10,10 @@ variables:
  EXIT_CODE_NON_BE: 123
  EXIT_CODE_FAIL: 1

default:
  interruptible: true # Make all jobs by default interruptible
  artifacts:
    expire_in: 2 weeks

# This sets when pipelines are created. Jobs have more specific rules to restrict them.
workflow:
@@ -23,6 +27,7 @@ workflow:
    - if: $CI_PIPELINE_SOURCE == 'web' # for testing

stages:
  - .pre
  - maintenance
  - build
  - test
@@ -168,6 +173,31 @@ stages:
      - 123



# ---------------------------------------------------------------
# .pre jobs for setting up things
# ---------------------------------------------------------------

# See: https://gitlab.com/gitlab-org/gitlab/-/issues/194023
# Solution to make main branch pipelines uninterruptible while all other
# pipelines can be interrupted by default. This works because all jobs
# after uninterruptible jobs will be uninterruptible. Resource group
# setting avoids rare case where two fast merges could still interrupt
# pipeline. This should be revisited if there are updates to Gitlab.
uninterruptible:
  stage: .pre
  interruptible: false
  resource_group: uninterruptible
  script:
    - echo "$CI_COMMIT_BRANCH is uninterruptible"
  rules:
    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
      when: always
  tags:
    - ivas-linux



# ---------------------------------------------------------------
# Validation jobs
# ---------------------------------------------------------------
@@ -250,14 +280,15 @@ codec-smoke-test:
    ### analyze for failures
    - if cat smoke_test_output.txt | grep -c "failed"; then echo "Smoke test without PLC failed"; exit 1; fi
    - if cat smoke_test_output_plc.txt | grep -c "failed"; then echo "Smoke test with PLC failed"; exit 1; fi
    - if cat smoke_test_output_jbm_noEXT.txt | grep -c "failed"; then echo "Smoke test with PLC failed"; exit 1; fi
    - if cat smoke_test_output_jbm_noEXT.txt | grep -c "failed"; then echo "Smoke test JBM part failed"; exit 1; fi
    - if cat smoke_test_output_hrtf.txt | grep -c "failed"; then echo "Smoke test with external hrtf files failed"; exit 1; fi
  artifacts:
    name: "mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--stage-$CI_JOB_STAGE--results"
    paths:
      - out/logs/
      - smoke_test_output.txt
      - smoke_test_output_plc.txt
      - smoke_test_output_jbm_noEXT.txt
      - smoke_test_output_hrtf.txt
    expose_as: "Smoke test results"

# code selftest testvectors with memory-sanitizer binaries
@@ -795,7 +826,7 @@ sanitizer-test-masa:
.sanitizer-test-schedule-B:
  extends:
    - .sanitizer-test-template
  timeout: 3 hours
  timeout: 4 hours

sanitizer-test-mc-5_1:
  extends: .sanitizer-test-schedule-B
@@ -810,7 +841,7 @@ sanitizer-test-mc-5_1_2:
  rules:
    - if: $SANITIZER_SCHEDULE_B
      when: delayed
      start_in: 3 hours
      start_in: 4 hours
  script:
    - *update-ltv-repo
    - python3 ci/run_scheduled_sanitizer_test.py 5_1_2 $OUT_FORMATS_CHANNEL_BASED $OUT_FORMATS_SCENE_BASED $OUT_FORMATS_BINAURAL --tests $SANITIZER_TESTS
@@ -820,7 +851,7 @@ sanitizer-test-mc-5_1_4:
  rules:
    - if: $SANITIZER_SCHEDULE_B
      when: delayed
      start_in: 6 hours
      start_in: 8 hours
  script:
    - *update-ltv-repo
    - python3 ci/run_scheduled_sanitizer_test.py 5_1_4 $OUT_FORMATS_CHANNEL_BASED $OUT_FORMATS_SCENE_BASED $OUT_FORMATS_BINAURAL --tests $SANITIZER_TESTS
@@ -830,7 +861,7 @@ sanitizer-test-mc-7_1:
  rules:
    - if: $SANITIZER_SCHEDULE_B
      when: delayed
      start_in: 9 hours
      start_in: 12 hours
  script:
    - *update-ltv-repo
    - python3 ci/run_scheduled_sanitizer_test.py 7_1 $OUT_FORMATS_CHANNEL_BASED $OUT_FORMATS_SCENE_BASED $OUT_FORMATS_BINAURAL --tests $SANITIZER_TESTS
@@ -840,7 +871,7 @@ sanitizer-test-mc-7_1_4:
  rules:
    - if: $SANITIZER_SCHEDULE_B
      when: delayed
      start_in: 12 hours
      start_in: 16 hours
  script:
    - *update-ltv-repo
    - python3 ci/run_scheduled_sanitizer_test.py 7_1_4 $OUT_FORMATS_CHANNEL_BASED $OUT_FORMATS_SCENE_BASED $OUT_FORMATS_BINAURAL --tests $SANITIZER_TESTS
@@ -898,6 +929,7 @@ coverage-test-on-main-scheduled:
  artifacts:
    name: "main-coverage-sha-$CI_COMMIT_SHORT_SHA"
    when: always
    expire_in: 1 week
    paths:
      - coverage.info
      - coverage
+39 −0
Original line number Diff line number Diff line
### Basic info

- Commit SHA: 

### Bug description

Clang (msan/asan?) sanitizer test in pipeline found an error:

<!--- Copy sanitizer traceback from command line here -->
```

```

<!--- Copy test job URL here -->
Link to test pipeline: XXX

### Ways to reproduce

Using the [scripts](https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec/-/wikis/Software-development/pyivastest-howto#how-to-reproduce-tests):
<!--- check correct sanitizer type -->
<!--- add error pattern if needed -->
```
python3 scripts/IvasBuildAndRunChecks.py --checks CLANGX -m MODE -p /path/to/my/local/ci_linux_ltv_local.json
```
or directly:

```
make clean
make -j CLANG=X
./IVAS_cod ...
eid-xor -vbr -fer bit ep_015.g192 bit_fer
./IVAS_dec ...
```

<!--- Below are labels that will be added but are not shown in description. This is a template to help fill them.
      Add further information to the first row and remove and add labels as necessary.  -->

/label ~"Priority::Critical" ~Company: ~Subpart:
/label ~Type:Bug ~Status::ToDo
Loading