{
  "_class" : "hudson.model.FreeStyleBuild",
  "actions" : [
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "hudson.triggers.TimerTrigger$TimerTriggerCause",
          "shortDescription" : "Started by timer"
        }
      ]
    },
    {
      "_class" : "hudson.model.ParametersAction",
      "parameters" : [
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "BRANCH",
          "value" : "master"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "TESTENV_ARGS",
          "value" : "-b osmocom:nightly -c sgsn_sns"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "EMAIL_NOTIFICATIONS",
          "value" : "jenkins-notifications@lists.osmocom.org"
        }
      ]
    },
    {
      "_class" : "jenkins.metrics.impl.TimeInQueueAction",
      "blockedDurationMillis" : 0,
      "blockedTimeMillis" : 0,
      "buildableDurationMillis" : 1023,
      "buildableTimeMillis" : 1023,
      "buildingDurationMillis" : 43288,
      "executingTimeMillis" : 43288,
      "executorUtilization" : 1.0,
      "subTaskCount" : 0,
      "waitingDurationMillis" : 0,
      "waitingTimeMillis" : 0
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "origin/master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1561,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "c50937d6371a7b203a52ec6c2daf52fe443f398f",
            "branch" : [
              {
                "SHA1" : "c50937d6371a7b203a52ec6c2daf52fe443f398f",
                "name" : "origin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "c50937d6371a7b203a52ec6c2daf52fe443f398f",
            "branch" : [
              {
                "SHA1" : "c50937d6371a7b203a52ec6c2daf52fe443f398f",
                "name" : "origin/master"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "c50937d6371a7b203a52ec6c2daf52fe443f398f",
        "branch" : [
          {
            "SHA1" : "c50937d6371a7b203a52ec6c2daf52fe443f398f",
            "name" : "origin/master"
          }
        ]
      },
      "remoteUrls" : [
        "https://gerrit.osmocom.org/osmo-ttcn3-hacks"
      ],
      "scmName" : ""
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "hudson.tasks.junit.TestResultAction",
      "failCount" : 0,
      "skipCount" : 0,
      "totalCount" : 6,
      "urlName" : "testReport"
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    {
      "displayPath" : None,
      "fileName" : "osmo-ns-dummy.log",
      "relativePath" : "logs/osmo-ns-dummy/osmo-ns-dummy.log"
    },
    {
      "displayPath" : None,
      "fileName" : "osmo-ns.sgsn.sns.cfg",
      "relativePath" : "logs/osmo-ns-dummy/osmo-ns.sgsn.sns.cfg"
    },
    {
      "displayPath" : None,
      "fileName" : "testenv-ns-sgsn_sns-osmocom-nightly-20251211-1059-aad6bbf9-0.log",
      "relativePath" : "logs/podman/testenv-ns-sgsn_sns-osmocom-nightly-20251211-1059-aad6bbf9-0.log"
    },
    {
      "displayPath" : None,
      "fileName" : "Common.cfg",
      "relativePath" : "logs/testsuite/Common.cfg"
    },
    {
      "displayPath" : None,
      "fileName" : "junit-xml-19733.log",
      "relativePath" : "logs/testsuite/junit-xml-19733.log"
    },
    {
      "displayPath" : None,
      "fileName" : "NS_Tests.default",
      "relativePath" : "logs/testsuite/NS_Tests.default"
    },
    {
      "displayPath" : None,
      "fileName" : "NS_Tests.sgsn.sns.cfg",
      "relativePath" : "logs/testsuite/NS_Tests.sgsn.sns.cfg"
    },
    {
      "displayPath" : None,
      "fileName" : "NS_Tests.TC_sns_sgsn_add.merged",
      "relativePath" : "logs/testsuite/NS_Tests.TC_sns_sgsn_add.merged"
    },
    {
      "displayPath" : None,
      "fileName" : "NS_Tests.TC_sns_sgsn_add.netcat.stderr",
      "relativePath" : "logs/testsuite/NS_Tests.TC_sns_sgsn_add.netcat.stderr"
    },
    {
      "displayPath" : None,
      "fileName" : "NS_Tests.TC_sns_sgsn_add.pcap.gz",
      "relativePath" : "logs/testsuite/NS_Tests.TC_sns_sgsn_add.pcap.gz"
    },
    {
      "displayPath" : None,
      "fileName" : "NS_Tests.TC_sns_sgsn_add.pcap.stderr",
      "relativePath" : "logs/testsuite/NS_Tests.TC_sns_sgsn_add.pcap.stderr"
    },
    {
      "displayPath" : None,
      "fileName" : "NS_Tests.TC_sns_sgsn_add.pcap.stdout",
      "relativePath" : "logs/testsuite/NS_Tests.TC_sns_sgsn_add.pcap.stdout"
    },
    {
      "displayPath" : None,
      "fileName" : "NS_Tests.TC_sns_sgsn_add.talloc",
      "relativePath" : "logs/testsuite/NS_Tests.TC_sns_sgsn_add.talloc"
    },
    {
      "displayPath" : None,
      "fileName" : "NS_Tests.TC_sns_sgsn_add_change_del.merged",
      "relativePath" : "logs/testsuite/NS_Tests.TC_sns_sgsn_add_change_del.merged"
    },
    {
      "displayPath" : None,
      "fileName" : "NS_Tests.TC_sns_sgsn_add_change_del.netcat.stderr",
      "relativePath" : "logs/testsuite/NS_Tests.TC_sns_sgsn_add_change_del.netcat.stderr"
    },
    {
      "displayPath" : None,
      "fileName" : "NS_Tests.TC_sns_sgsn_add_change_del.pcap.gz",
      "relativePath" : "logs/testsuite/NS_Tests.TC_sns_sgsn_add_change_del.pcap.gz"
    },
    {
      "displayPath" : None,
      "fileName" : "NS_Tests.TC_sns_sgsn_add_change_del.pcap.stderr",
      "relativePath" : "logs/testsuite/NS_Tests.TC_sns_sgsn_add_change_del.pcap.stderr"
    },
    {
      "displayPath" : None,
      "fileName" : "NS_Tests.TC_sns_sgsn_add_change_del.pcap.stdout",
      "relativePath" : "logs/testsuite/NS_Tests.TC_sns_sgsn_add_change_del.pcap.stdout"
    },
    {
      "displayPath" : None,
      "fileName" : "NS_Tests.TC_sns_sgsn_add_change_del.talloc",
      "relativePath" : "logs/testsuite/NS_Tests.TC_sns_sgsn_add_change_del.talloc"
    },
    {
      "displayPath" : None,
      "fileName" : "NS_Tests.TC_sns_sgsn_config_success.merged",
      "relativePath" : "logs/testsuite/NS_Tests.TC_sns_sgsn_config_success.merged"
    },
    {
      "displayPath" : None,
      "fileName" : "NS_Tests.TC_sns_sgsn_config_success.netcat.stderr",
      "relativePath" : "logs/testsuite/NS_Tests.TC_sns_sgsn_config_success.netcat.stderr"
    },
    {
      "displayPath" : None,
      "fileName" : "NS_Tests.TC_sns_sgsn_config_success.pcap.gz",
      "relativePath" : "logs/testsuite/NS_Tests.TC_sns_sgsn_config_success.pcap.gz"
    },
    {
      "displayPath" : None,
      "fileName" : "NS_Tests.TC_sns_sgsn_config_success.pcap.stderr",
      "relativePath" : "logs/testsuite/NS_Tests.TC_sns_sgsn_config_success.pcap.stderr"
    },
    {
      "displayPath" : None,
      "fileName" : "NS_Tests.TC_sns_sgsn_config_success.pcap.stdout",
      "relativePath" : "logs/testsuite/NS_Tests.TC_sns_sgsn_config_success.pcap.stdout"
    },
    {
      "displayPath" : None,
      "fileName" : "NS_Tests.TC_sns_sgsn_config_success.talloc",
      "relativePath" : "logs/testsuite/NS_Tests.TC_sns_sgsn_config_success.talloc"
    },
    {
      "displayPath" : None,
      "fileName" : "NS_Tests.TC_sns_sgsn_del.merged",
      "relativePath" : "logs/testsuite/NS_Tests.TC_sns_sgsn_del.merged"
    },
    {
      "displayPath" : None,
      "fileName" : "NS_Tests.TC_sns_sgsn_del.netcat.stderr",
      "relativePath" : "logs/testsuite/NS_Tests.TC_sns_sgsn_del.netcat.stderr"
    },
    {
      "displayPath" : None,
      "fileName" : "NS_Tests.TC_sns_sgsn_del.pcap.gz",
      "relativePath" : "logs/testsuite/NS_Tests.TC_sns_sgsn_del.pcap.gz"
    },
    {
      "displayPath" : None,
      "fileName" : "NS_Tests.TC_sns_sgsn_del.pcap.stderr",
      "relativePath" : "logs/testsuite/NS_Tests.TC_sns_sgsn_del.pcap.stderr"
    },
    {
      "displayPath" : None,
      "fileName" : "NS_Tests.TC_sns_sgsn_del.pcap.stdout",
      "relativePath" : "logs/testsuite/NS_Tests.TC_sns_sgsn_del.pcap.stdout"
    },
    {
      "displayPath" : None,
      "fileName" : "NS_Tests.TC_sns_sgsn_del.talloc",
      "relativePath" : "logs/testsuite/NS_Tests.TC_sns_sgsn_del.talloc"
    },
    {
      "displayPath" : None,
      "fileName" : "NS_Tests.TC_sns_sgsn_size_after_success.merged",
      "relativePath" : "logs/testsuite/NS_Tests.TC_sns_sgsn_size_after_success.merged"
    },
    {
      "displayPath" : None,
      "fileName" : "NS_Tests.TC_sns_sgsn_size_after_success.netcat.stderr",
      "relativePath" : "logs/testsuite/NS_Tests.TC_sns_sgsn_size_after_success.netcat.stderr"
    },
    {
      "displayPath" : None,
      "fileName" : "NS_Tests.TC_sns_sgsn_size_after_success.pcap.gz",
      "relativePath" : "logs/testsuite/NS_Tests.TC_sns_sgsn_size_after_success.pcap.gz"
    },
    {
      "displayPath" : None,
      "fileName" : "NS_Tests.TC_sns_sgsn_size_after_success.pcap.stderr",
      "relativePath" : "logs/testsuite/NS_Tests.TC_sns_sgsn_size_after_success.pcap.stderr"
    },
    {
      "displayPath" : None,
      "fileName" : "NS_Tests.TC_sns_sgsn_size_after_success.pcap.stdout",
      "relativePath" : "logs/testsuite/NS_Tests.TC_sns_sgsn_size_after_success.pcap.stdout"
    },
    {
      "displayPath" : None,
      "fileName" : "NS_Tests.TC_sns_sgsn_size_after_success.talloc",
      "relativePath" : "logs/testsuite/NS_Tests.TC_sns_sgsn_size_after_success.talloc"
    },
    {
      "displayPath" : None,
      "fileName" : "NS_Tests.TC_sns_sgsn_size_correct_port.merged",
      "relativePath" : "logs/testsuite/NS_Tests.TC_sns_sgsn_size_correct_port.merged"
    },
    {
      "displayPath" : None,
      "fileName" : "NS_Tests.TC_sns_sgsn_size_correct_port.netcat.stderr",
      "relativePath" : "logs/testsuite/NS_Tests.TC_sns_sgsn_size_correct_port.netcat.stderr"
    },
    {
      "displayPath" : None,
      "fileName" : "NS_Tests.TC_sns_sgsn_size_correct_port.pcap.gz",
      "relativePath" : "logs/testsuite/NS_Tests.TC_sns_sgsn_size_correct_port.pcap.gz"
    },
    {
      "displayPath" : None,
      "fileName" : "NS_Tests.TC_sns_sgsn_size_correct_port.pcap.stderr",
      "relativePath" : "logs/testsuite/NS_Tests.TC_sns_sgsn_size_correct_port.pcap.stderr"
    },
    {
      "displayPath" : None,
      "fileName" : "NS_Tests.TC_sns_sgsn_size_correct_port.pcap.stdout",
      "relativePath" : "logs/testsuite/NS_Tests.TC_sns_sgsn_size_correct_port.pcap.stdout"
    },
    {
      "displayPath" : None,
      "fileName" : "NS_Tests.TC_sns_sgsn_size_correct_port.talloc",
      "relativePath" : "logs/testsuite/NS_Tests.TC_sns_sgsn_size_correct_port.talloc"
    }
  ],
  "building" : False,
  "description" : None,
  "displayName" : "#1561",
  "duration" : 43288,
  "estimatedDuration" : 45361,
  "executor" : None,
  "fullDisplayName" : "ttcn3-ns-test-sgsn-sns #1561",
  "id" : "1561",
  "inProgress" : False,
  "keepLog" : False,
  "number" : 1561,
  "queueId" : 2067055,
  "result" : "SUCCESS",
  "timestamp" : 1765450741361,
  "url" : "https://jenkins.osmocom.org/jenkins/job/ttcn3-ns-test-sgsn-sns/1561/",
  "builtOn" : "build4-deb12build-ansible",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "library/StatsD_Checker.ttcnpp"
        ],
        "commitId" : "af6ce893eb4fecce025d285a132e0d0fc3a4042c",
        "timestamp" : 1765370933000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "StatsD_Checker: Abort on expectancy failure with clear status message\u000a\u000aBefore this commit, a statsd expect failure would let the test continue\u000athe test for a while and then finally log a rellay generic timeout\u000amessage, which makes really difficult to understand what's going on and\u000awhy is the test failing.\u000a\u000aLet's terminate the test early if a test expectation fails, so it's a\u000alot easier to debug.\u000aAdd an extra param to be able to use the API for test logic to check the\u000astate without failing/aborting. This is not really used anywhere so far\u000abut the API was built this way and I indeed think it may be handy in the\u000afuture.\u000a\u000aChange-Id: Ibc3d079c2a45aa22f9e2e42d75109cae66530f86\u000a",
        "date" : "2025-12-10 13:48:53 +0100",
        "id" : "af6ce893eb4fecce025d285a132e0d0fc3a4042c",
        "msg" : "StatsD_Checker: Abort on expectancy failure with clear status message",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "library/StatsD_Checker.ttcnpp"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "msc/MSC_Tests.ttcn"
        ],
        "commitId" : "29fce5d2c8af5dde04becfb738f10662b8177f89",
        "timestamp" : 1765371444000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
          "fullName" : "Pau Espin Pedrol"
        },
        "authorEmail" : "pespin@sysmocom.de",
        "comment" : "msc: Fix TC_stat_bsc_sctp_disconnected expectancies\u000a\u000aThe test was passing when run alone, but was failing when run after\u000aother tests using other BSCs/RNCs, since osmo-msc learned about them and\u000ahence ran_peers.total was >1.\u000a\u000aChange-Id: I22da7ae5c282a30e933f2f29b671ece8b6147ce9\u000a",
        "date" : "2025-12-10 13:57:24 +0100",
        "id" : "29fce5d2c8af5dde04becfb738f10662b8177f89",
        "msg" : "msc: Fix TC_stat_bsc_sctp_disconnected expectancies",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "msc/MSC_Tests.ttcn"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "bts/BTS_Tests_LAPDm.ttcn",
          "bts/BTS_Tests.ttcn"
        ],
        "commitId" : "713e7a86effa70e0aa1749c03ac1a5b687397fd8",
        "timestamp" : 1765377649000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/fixeria",
          "fullName" : "Vadim Yanitskiy"
        },
        "authorEmail" : "vyanitskiy@sysmocom.de",
        "comment" : "bts: create all components alive\u000a\u000aThis mitigates sporadic dynamic-testcase errors triggered by messages\u000abeing sent to components that have terminated before receiving them.\u000a\u000aChange-Id: I68929b45d66d60617079a4f92d40ffea439bf4be\u000a",
        "date" : "2025-12-10 21:40:49 +0700",
        "id" : "713e7a86effa70e0aa1749c03ac1a5b687397fd8",
        "msg" : "bts: create all components alive",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "bts/BTS_Tests_LAPDm.ttcn"
          },
          {
            "editType" : "edit",
            "file" : "bts/BTS_Tests.ttcn"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "bts/BTS_Tests_LAPDm.ttcn"
        ],
        "commitId" : "6741c21fe3065feab705f6ef22685e49052585c9",
        "timestamp" : 1765380163000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/fixeria",
          "fullName" : "Vadim Yanitskiy"
        },
        "authorEmail" : "vyanitskiy@sysmocom.de",
        "comment" : "bts: fix unbound variable in as_rsl_fail_err()\u000a\u000aChange-Id: Ifcbdfb8b5a0e08ca3f8e610ca4940a2bdafa3cac\u000a",
        "date" : "2025-12-10 22:22:43 +0700",
        "id" : "6741c21fe3065feab705f6ef22685e49052585c9",
        "msg" : "bts: fix unbound variable in as_rsl_fail_err()",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "bts/BTS_Tests_LAPDm.ttcn"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "bts/BTS_Tests_LAPDm.ttcn",
          "bts/BTS_Tests.ttcn"
        ],
        "commitId" : "c50937d6371a7b203a52ec6c2daf52fe443f398f",
        "timestamp" : 1765402983000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/fixeria",
          "fullName" : "Vadim Yanitskiy"
        },
        "authorEmail" : "vyanitskiy@sysmocom.de",
        "comment" : "fixup: bts: create all components alive\u000a\u000aMaking the ConnHdlr and lapdm_CT components alive resulted in\u000amassive regressions.  Specifically, trxcon started rejecting L1CTL\u000aconnections with the following message:\u000a\u000a  L1CTL server cannot accept more than 1 connection(s)\u000a\u000aApparently, alive components do not close the L1CTL connection\u000aautomatially, unless the L1CTL port is unmap()ped from the system\u000aexplicitly.  Thus, testcases spawning multiple alive components\u000aend up creating multiple L1CTL connections, which get rejected.\u000a\u000aLet's revert those components that speak L1CTL back to normal\u000a(non-alive), while keeping the emulation components alive.\u000a\u000aChange-Id: Id5edfa2514024d1fe83f6c4082e096044ce8e6fd\u000aFixes: 713e7a86 (\"bts: create all components alive\")\u000a",
        "date" : "2025-12-11 04:43:03 +0700",
        "id" : "c50937d6371a7b203a52ec6c2daf52fe443f398f",
        "msg" : "fixup: bts: create all components alive",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "bts/BTS_Tests_LAPDm.ttcn"
          },
          {
            "editType" : "edit",
            "file" : "bts/BTS_Tests.ttcn"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/fixeria",
      "fullName" : "Vadim Yanitskiy"
    },
    {
      "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pespin",
      "fullName" : "Pau Espin Pedrol"
    }
  ]
}