1. 24 Oct, 2025 3 commits
  2. 09 Oct, 2025 4 commits
    • Robert Schmidt's avatar
      Merge branch 'integration_2025_w41' into 'develop' · 92bc0aee
      Robert Schmidt authored
      Integration `2025.w41`
      
      * !3472 Replace int16 min when obvious
      * !3689 Fix OAI UE memory leaks
      * !3675 fix RSRP computation at UE
      * !3688 Fixes to prevent assertion due to 0 PRB allocation
      * !3680 OC PhySim deployment: always undeploy safely
      * !3471 SRS noise power
      * !3679 CI: Enable Physim threshold check for tests on Caracal and GH
      * reduce RFsim F1 throughput after handover
      
      Closes #828
      
      See merge request oai/openairinterface5g!3692
      92bc0aee
    • Robert Schmidt's avatar
      CI RFsim 5G F1: reduce DL iperf throughput · ba8b2377
      Robert Schmidt authored
      Reduce throughput requirement, as this fails once two DUs are connected
      to a UE, which creates more load on the machine and frequently fails
      with low throughput.
      ba8b2377
    • Robert Schmidt's avatar
      Merge remote-tracking branch 'origin/ci-update-physim-threshold' into integration_2025_w41 (!3679) · dd868fd2
      Robert Schmidt authored
      CI: Enable Physim threshold check for tests on Caracal and GH
      
      This MR adds support for configurable timing threshold files in PhySim
      tests.
      
      - Introduces a new CMake cache variable PHYSIM_CHECK_FILES to specify
        one or more timing threshold files (semicolon-separated).
      - Enables optional enforcement of timing thresholds check in PhySim
        tests without changing existing test definitions.
      - Defines timing thresholds for LDPC encoding/decoding in nr_ulsim,
        nr_dlsim and ldpctest on Caracal and GH machines.
      dd868fd2
    • Robert Schmidt's avatar
      Merge remote-tracking branch 'origin/SRS-noise-power' into integration_2025_w41 (!3471) · 1ffa0120
      Robert Schmidt authored
      SRS noise power
      
      This MR implements the calculation of the noise power based on SRS in a
      different way, and check whether SNR is more accurate or not. This MR is
      built on top of the MR: !3460
      
      A graph was added in T_Tracer to observe UL-SNR calculated using SRS.
      
      See merge request description for measurement results.
      1ffa0120
  3. 08 Oct, 2025 11 commits
  4. 07 Oct, 2025 4 commits
    • Jaroslava Fiedlerova's avatar
      Merge remote-tracking branch 'origin/fix-ue-mem-leaks' into integration_2025_w41 (!3689) · 7459e732
      Jaroslava Fiedlerova authored
      Fix OAI UE memory leaks
      
      Fix 1: Replaced asn1cFreeStruc with ASN_STRUCT_FREE in MAC layer to properly
             free nested ASN.1 structures in cell group configuration.
      Fix 2: Removed premature nullification of dedicatedNAS_Message->buf in
             dlInformationTransfer processing to allow proper ASN.1 cleanup.
      Fix 3: Fixed memory ownership in nr_rrc_process_dedicatedNAS_MessageList by
             copying OCTET_STRING data instead of transferring ownership, preventing
             ASN.1 cleanup from losing track of allocated memory
      
      Closes #828
      7459e732
    • Jaroslava Fiedlerova's avatar
      Merge remote-tracking branch 'origin/fix_rsrp_ue' into integration_2025_w41 (!3675) · 2424c182
      Jaroslava Fiedlerova authored
      fix RSRP computation at UE
      
      Conflicts between !3595 (merged) and !3596 (merged) leading to double conversion
      of RSRP into index in L1 and L2. With this fix it is only converted in L2.
      2424c182
    • Jaroslava Fiedlerova's avatar
      Merge remote-tracking branch 'origin/replace-INT16_MIN-when-obvious' into... · b3007ce5
      Jaroslava Fiedlerova authored
      Merge remote-tracking branch 'origin/replace-INT16_MIN-when-obvious' into integration_2025_w41 (!3472)
      
      Replace int16 min when obvious
      
      INT16_MIN doesn't have a opposite value on 16 bits, so SIMD abs (absolute()), or
      simple C operations doesn't make the expected result.
      
      example:
      (gdb) p (short)-(short)-32768
      $4 = -32768
      (gdb)
      
      This MR replaces constants INT16_MIN by -INT16_MAX (so -32767) in places where
      it used for mathematical operations. This is not perfect, nevertheless reduces
      overflow probability.
      We saw in some places a dirty case: code do first calls to _mm_adds_epi16
      (or subs), so because of the saturated operations, the probability to reach
      32767 and -32768 is higher than the other numbers but, _mm_abs_epi16(), or
      negate operations (conjugate) can follow, that is making strong error as
      abs(-32768)=-32768
      b3007ce5
    • Jaroslava Fiedlerova's avatar
      OC PhySim deployment: log bash script commands · bd1dadaa
      Jaroslava Fiedlerova authored
      Also, don't use "set -x" debugging for oc login command:
      ci-scripts/cls_cmd.py:242 sets BASH_XTRACEFD=1, which makes that all
      "set -x" output is in stdout, leading to a redirect to the file into
      which we redirect. This would lead to the following error with
      unsuccessfull oc login:
      
        error: You are not a member of project "****-core-for-ci-ran".
        Error from server (Forbidden): imagestreams.image.openshift.io "oai-physim"
        is forbidden: User "system:anonymous" cannot get resource "imagestreams" in
        API group "image.openshift.io" in the namespace "****-ran"
      bd1dadaa
  5. 06 Oct, 2025 2 commits
  6. 03 Oct, 2025 5 commits
    • Guido Casati's avatar
      Fix memory leak in dlInformationTransfer case · d6047cd8
      Guido Casati authored
      - Remove unnecessary NULL assignment for dedicatedNAS_Message->buf
      - The original buffer is copied and transfered to NAS, so it can be properly freed by ASN.1 structure cleanup
      
      Root cause: Code was nullifying dedicatedNAS_Message->buf pointer before ASN.1 cleanup could free the original allocation, causing the leak from OCTET_STRING_decode_uper.
      
      AddressSanitizer leak trace (FIXED):
      Direct leak of 119 byte(s) in 3 object(s) allocated from:
          /#0 0x7ec2a42b4c38 in __interceptor_realloc
          /#1 0x555fade852e0 in OCTET_STRING_decode_uper
          /#9 0x555fadb48b11 in nr_rrc_ue_decode_dcch.
      d6047cd8
    • Guido Casati's avatar
      Fix memory leak in nr_rrc_process_dedicatedNAS_MessageList · 9639cbb4
      Guido Casati authored
      The leak was caused by improper memory ownership handling in the
      dedicatedNAS_MessageList processing. The function was transferring
      buffer ownership to NAS messages and then preventing ASN.1 cleanup
      from freeing the original allocations by setting
      list.count = 0, causing a memory leak.
      
      Leak trace:
      Direct leak of 40 byte(s) in 1 object(s) allocated from:
          /#0 0x7f2ce3ab4a57 in __interceptor_calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:154
          /#1 0x567907083f0f in OCTET_STRING_decode_uper /cmake_targets/ran_build/build/openair2/RRC/LTE/MESSAGES/OCTET_STRING_uper.c:89
          /#2 0x5679070ed5e6 in SET_OF_decode_uper /cmake_targets/ran_build/build/openair2/RRC/NR/MESSAGES/constr_SET_OF_uper.c:70
          /#3 0x56790707b6dc in SEQUENCE_decode_uper /cmake_targets/ran_build/build/openair2/RRC/LTE/MESSAGES/constr_SEQUENCE_uper.c:118
          /#4 0x56790707b6dc in SEQUENCE_decode_uper /cmake_targets/ran_build/build/openair2/RRC/LTE/MESSAGES/constr_SEQUENCE_uper.c:118
          /#5 0x56790709a403 in CHOICE_decode_uper /cmake_targets/ran_build/build/openair2/RRC/LTE/MESSAGES/constr_CHOICE_uper.c:84
          /#6 0x56790707b6dc in SEQUENCE_decode_uper /cmake_targets/ran_build/build/openair2/RRC/LTE/MESSAGES/constr_SEQUENCE_uper.c:118
          /#7 0x56790709a403 in CHOICE_decode_uper /cmake_targets/ran_build/build/openair2/RRC/LTE/MESSAGES/constr_CHOICE_uper.c:84
          /#8 0x56790709a403 in CHOICE_decode_uper /cmake_targets/ran_build/build/openair2/RRC/LTE/MESSAGES/constr_CHOICE_uper.c:84
          /#9 0x56790707b6dc in SEQUENCE_decode_uper /cmake_targets/ran_build/build/openair2/RRC/LTE/MESSAGES/constr_SEQUENCE_uper.c:118
          /#10 0x56790708b5f1 in uper_decode /cmake_targets/ran_build/build/openair2/RRC/LTE/MESSAGES/uper_decoder.c:83
          /#11 0x567906d44b4b in nr_rrc_ue_decode_dcch /openair2/RRC/NR_UE/rrc_UE.c:2212
          /#12 0x567906d520a3 in rrc_nrue /openair2/RRC/NR_UE/rrc_UE.c:2615
          /#13 0x567906d5f77e in rrc_nrue_task /openair2/RRC/NR_UE/rrc_UE.c:2501
          /#14 0x7f2ce2494ac2 in start_thread nptl/pthread_create.c:442
      
      Fix:
      - Copy OCTET_STRING data instead of transferring ownership
      - Allow ASN.1 cleanup to properly free original allocations
      
      This fixes the leak that occurred during rrcReconfiguration
      message processing when dedicatedNAS_MessageList was present.
      
      Closes #828
      9639cbb4
    • Guido Casati's avatar
      Fix memory leak in nr_rrc_ue_process_masterCellGroup · 9086fb63
      Guido Casati authored
      - Replace asn1cFreeStruc with ASN_STRUCT_FREE in MAC layer cleanup
      - Fixes improper memory management of NR_CellGroupConfig structures
      
      Root cause: asn1cFreeStruc only calls ASN_STRUCT_RESET + free(), which doesn't properly free nested ASN.1 allocations. ASN_STRUCT_FREE frees all nested structures completely.
      
      AddressSanitizer leak trace:
      Direct leak of 288 byte(s) in 1 object(s) allocated from:
          /#0 0x7fb72bab4a57 in __interceptor_calloc
          /#1 0x593752b28d0d in SEQUENCE_decode_uper
          /#2 0x593752b9a546 in SET_OF_decode_uper
          /#3 0x593752b2863c in SEQUENCE_decode_uper
          /#4 0x593752b47363 in CHOICE_decode_uper
          /#5 0x593752b2863c in SEQUENCE_decode_uper
          /#6 0x593752b2863c in SEQUENCE_decode_uper
          /#7 0x593752b2863c in SEQUENCE_decode_uper
          /#8 0x593752b2863c in SEQUENCE_decode_uper
          /#9 0x593752b2863c in SEQUENCE_decode_uper
          /#10 0x593752b38551 in uper_decode
          /#11 0x5937527d859f in nr_rrc_ue_process_masterCellGroup
          /#12 0x5937527d9408 in nr_rrc_process_reconfiguration_v1530
          /#13 0x5937527dd5bb in nr_rrc_ue_process_rrcReconfiguration
          /#14 0x5937527f5e6b in nr_rrc_ue_decode_dcch
          /#15 0x5937527ff003 in rrc_nrue
          /#16 0x59375280c6de in rrc_nrue_task
      9086fb63
    • Laurent THOMAS's avatar
      this MR replaces constants INT16_MIN by -INT16_MAX (so -32767) in places where... · 7355b55a
      Laurent THOMAS authored
      this MR replaces constants INT16_MIN by -INT16_MAX (so -32767) in places where it used for mathematical operations
      7355b55a
    • francescomani's avatar
  7. 02 Oct, 2025 3 commits
    • rmagueta's avatar
    • rmagueta's avatar
      SRS-based noise calculation using holes · 79993402
      rmagueta authored
      79993402
    • Jaroslava Fiedlerova's avatar
      Merge branch 'integration_2025_w40' into 'develop' · 55a56002
      Jaroslava Fiedlerova authored
      Integration: `2025.w40`
      
      * !3672 \[ci\] Fix MissingPropertyException - COTS-UE by binding OAI_Registry globally
      * !3609 BWP with no PRACH occasions
      * !3657 do not assert for mismatched TBS in phy-test mode
      * !3667 CI: Updates for HO and AW2S pipeline
      * !3674 NR UE: remove function get_nr_RSRP() and get_nr_rx_total_gain_dB() for cleanup
      * !3478 NR UE: add UCI (HARQ-ACK/NACK) on PUSCH support at PHY
      * !3664 modulation LUTs size was wrong, and remove inconsistent test of SSE2 enable
      * !3665 Make all targets compile
      * !3554 Handle failures in RRCReconfiguration encoding gracefully
      * !3655 Improvements to N2 handover
      * !3678 Add OAIUE longrun pipeline
      * !3628 Update documentation
      
      Closes #979, #726, #959, #967, and #930
      
      See merge request oai/openairinterface5g!3676
      55a56002
  8. 01 Oct, 2025 8 commits