Project

General

Profile

Actions

Bug #6423

closed

GGSN_Tests regressions from build 1107 / February 29th onwards

Added by laforge about 1 month ago. Updated 30 days ago.

Status:
Resolved
Priority:
High
Assignee:
Category:
-
Target version:
-
Start date:
03/26/2024
Due date:
% Done:

100%

Spec Reference:

Description

The following 6 TTCN3 test cases used to pass in the `ttcn3-ggsn-test-kernel` job until build 110 on Feb 28, but started to fail consistently since Feb 29th:

  • TC_act_deact_retrans_duplicate
    • "GGSN_Tests.ttcn:413 : CreatePDPContextResp: cause expectancies didn't match"
  • TC_addr_pool_exhaustion
    • Dynamic test case error: Index overflow in a value of type @PreGenRecordOf.PREGEN_RECORD_OF_OCTETSTRING: The index is 0, but the value has only 0 elements.
  • TC_lots_of_concurrent_pdp_ctx
    • "GGSN_Tests.ttcn:413 : CreatePDPContextResp: cause expectancies didn't match"
  • TC_pdp46_act_deact_apn4
    • "GGSN_Tests.ttcn:413 : CreatePDPContextResp: cause expectancies didn't match"
  • TC_pdp_act2_recovery
    • "GGSN_Tests.ttcn:400 : CreatePDPContextResp: cause expectancies didn't match"
  • TC_pdp_act_restart_ctr_echo

So it almsost looks like somebody changed some "cause" values and now the test expectations are no longer true?

Does anyone know anything about this?


Files

Actions #1

Updated by laforge about 1 month ago

laforge wrote:

  • TC_act_deact_retrans_duplicate
    • "GGSN_Tests.ttcn:413 : CreatePDPContextResp: cause expectancies didn't match"

The cause value is 0xCC (204) System Failure

The ggsn responds that way due to PDP: Cannot add tunnel to kernel: File exists

So somehow the tunnel / PDP context already exists in the kernel. Maybe a previously executed test case didn't clean up properly while using the same IMSI / TEID?

Actions #3

Updated by laforge about 1 month ago

laforge wrote:

  • TC_addr_pool_exhaustion
    • Dynamic test case error: Index overflow in a value of type @PreGenRecordOf.PREGEN_RECORD_OF_OCTETSTRING: The index is 0, but the value has only 0 elements.

this is a consequence of the PDP context activation failing. If it fails, we never even add a first element to the teic_list, which means during the loop to delete them, we are accessing non-existant index 0. See https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/36461 for a proposed fix.

Actions #4

Updated by osmith about 1 month ago

  • Status changed from New to In Progress
Actions #5

Updated by osmith about 1 month ago

  • % Done changed from 0 to 30

The tests run with multiple configurations now:

  • "GGSN_Tests" -> "all"
  • "GGSN_Tests_v4_only" -> "v4_only"
  • "GGSN_Tests_v4v6_only" -> "v4v6_only"
  • "GGSN_Tests_v6_only" -> "v6_only"

Looking at the non-kernel tests then all of them are filled out, and the "GGSN_Tests" category is a continuation of the previous runs.

For the kernel tests, the "GGSN_Tests" category used to be v4 only before Feb 28, and then v4v6. This is when all the tests started failing, because v4v6 only works with osmo-ggsn master, libgtpnl master and Pablo's kernel tree.

The "all" configuration is skipped when using the kernel module, because it cannot have multiple APNs (#6106). So now the "GGSN_Tests" category is just empty for the kernel tests.

I considered making it v4v6 only, or v4 only, but felt that this would make it inconsistent with the testsuites for non-kernel gtp, more confusing in the long run and that it would be better to have this "shift" in the test results once. I'm sorry for not writing this down anywhere, I thought I'd address it in the weekly review today but then we skipped looking at most ttcn3 results and I forgot to mention it.

I've looked at each test, and except for TC_pdp46_act_deact_apn4, they are all passing with GGSN_Tests_v4_only now. Some tests don't run in configurations they are supposed to run, I will look into it. (EDIT: all tests are running in the configurations they are supposed to)

TC_act_deact_retrans_duplicate

  • GGSN_Tests: intentionally missing (ttcn3-ggsn-test-kernel*)
  • GGSN_Tests_v4_only: passing
  • GGSN_Tests_v6_only: missing, will look into it intentionally missing, as it tries to activate the v4 APN named "Internet"
  • GGSN_Tests_v4v6_only: missing, will look into it intentionally missing, as it tries to activate the v4 APN named "Internet"

TC_addr_pool_exhaustion, TC_lots_of_concurrent_pdp_ctx, TC_pdp_act_restart_ctr_echo

  • GGSN_Tests: intentionally missing (ttcn3-ggsn-test-kernel*)
  • GGSN_Tests_v4_only: passing
  • GGSN_Tests_v6_only: intentionally missing (tests need v4)
  • GGSN_Tests_v4v6_only: passing in ttcn3-ggsn-test-kernel-pablo-gtp, failing in ttcn3-ggsn-test-kernel (as expected)

TC_pdp46_act_deact_apn4

  • GGSN_Tests: intentionally missing (ttcn3-ggsn-test-kernel*)
  • GGSN_Tests_v4_only: intentionally missing, as it needs v4v6 and v4 APNs
  • GGSN_Tests_v6_only: intentionally missing, as it needs v4v6 and v4 APNs
  • GGSN_Tests_v4v6_only: missing, will look into it intentionally missing, as it needs v4v6 and v4 APNs

TC_pdp_act2_recovery

  • GGSN_Tests: intentionally missing (ttcn3-ggsn-test-kernel*)
  • GGSN_Tests_v4_only: passing
  • GGSN_Tests_v6_only: missing, will look into it intentionally missing, as it tries to activate the v4 APN named "Internet"
  • GGSN_Tests_v4v6_only: missing, will look into it intentionally missing, as it tries to activate the v4 APN named "Internet"
Actions #6

Updated by osmith 30 days ago

  • Status changed from In Progress to Resolved
  • % Done changed from 30 to 100

Some tests don't run in configurations they are supposed to run, I will look into it.

Actually that's not the case. I had assumed this because I looked at an earlier version of my patch. I've updated the comment above.

Actions

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)