{
  "_class" : "hudson.matrix.MatrixBuild",
  "actions" : [
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "hudson.triggers.SCMTrigger$SCMTriggerCause",
          "shortDescription" : "Started by an SCM change"
        }
      ]
    },
    {
      
    },
    {
      "_class" : "hudson.model.ParametersAction",
      "parameters" : [
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "BRANCH",
          "value" : "master"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "EMAIL_NOTIFICATIONS",
          "value" : "jenkins-notifications@lists.osmocom.org laforge@gnumonks.org"
        }
      ]
    },
    {
      "_class" : "jenkins.metrics.impl.TimeInQueueAction",
      "blockedDurationMillis" : 0,
      "blockedTimeMillis" : 0,
      "buildableDurationMillis" : 0,
      "buildableTimeMillis" : 0,
      "buildingDurationMillis" : 178496,
      "executingTimeMillis" : 178496,
      "executorUtilization" : 1.0,
      "subTaskCount" : 0,
      "waitingDurationMillis" : 6141,
      "waitingTimeMillis" : 6141
    },
    {
      
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "origin/master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 29418,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "107391d8c16b7f0898ee7e63fb859669793069ce",
            "branch" : [
              {
                "SHA1" : "107391d8c16b7f0898ee7e63fb859669793069ce",
                "name" : "origin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "107391d8c16b7f0898ee7e63fb859669793069ce",
            "branch" : [
              {
                "SHA1" : "107391d8c16b7f0898ee7e63fb859669793069ce",
                "name" : "origin/master"
              }
            ]
          }
        },
        "refs/remotes/origin/master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 20229,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "fc3397253054bd6bf6b11db0436bf8112e80adb1",
            "branch" : [
              {
                "SHA1" : "fc3397253054bd6bf6b11db0436bf8112e80adb1",
                "name" : "refs/remotes/origin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "fc3397253054bd6bf6b11db0436bf8112e80adb1",
            "branch" : [
              {
                "SHA1" : "fc3397253054bd6bf6b11db0436bf8112e80adb1",
                "name" : "refs/remotes/origin/master"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "107391d8c16b7f0898ee7e63fb859669793069ce",
        "branch" : [
          {
            "SHA1" : "107391d8c16b7f0898ee7e63fb859669793069ce",
            "name" : "origin/master"
          }
        ]
      },
      "remoteUrls" : [
        "https://gerrit.osmocom.org/osmo-bsc"
      ],
      "scmName" : ""
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    
  ],
  "building" : false,
  "description" : null,
  "displayName" : "#29418",
  "duration" : 178496,
  "estimatedDuration" : 147988,
  "executor" : null,
  "fullDisplayName" : "master-osmo-bsc #29418",
  "id" : "29418",
  "inProgress" : false,
  "keepLog" : false,
  "number" : 29418,
  "queueId" : 83796,
  "result" : "SUCCESS",
  "timestamp" : 1775665686623,
  "url" : "https://jenkins.osmocom.org/jenkins/view/no-generated/job/master-osmo-bsc/29418/",
  "builtOn" : "",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "include/osmocom/bsc/gsm_data.h",
          "src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c"
        ],
        "commitId" : "32c9d16b70c4e8ac4b43ab3a4aa61a78204ddf22",
        "timestamp" : 1775486298000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/fixeria",
          "fullName" : "Vadim Yanitskiy"
        },
        "authorEmail" : "vyanitskiy@sysmocom.de",
        "comment" : "ipaccess: store Supported Features IE to the MO state\u000a\u000aChange-Id: Ic89d42c478677ffda4d544f461e7850dd3157040\u000aRelated: OS#6324\u000a",
        "date" : "2026-04-06 21:38:18 +0700",
        "id" : "32c9d16b70c4e8ac4b43ab3a4aa61a78204ddf22",
        "msg" : "ipaccess: store Supported Features IE to the MO state",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c"
          },
          {
            "editType" : "edit",
            "file" : "include/osmocom/bsc/gsm_data.h"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo-bsc/assignment_fsm.c"
        ],
        "commitId" : "8f6b417d3e20d16549a6842d123f80774a97acc9",
        "timestamp" : 1775486309000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/fixeria",
          "fullName" : "Vadim Yanitskiy"
        },
        "authorEmail" : "vyanitskiy@sysmocom.de",
        "comment" : "assignment_fsm: pass lchan to lchan_type_compat_with_mode()\u000a\u000aThe lchan pointer is needed by the next patch, which will check\u000athe BTS ipaccess supported-features flags to reject channel modes\u000athat the BTS has reported as unsupported before attempting to\u000aactivate the lchan.\u000a\u000aChange-Id: I51d5d1a1cf3c51f85f738196967d5c69870681bb\u000aRelated: OS#6324\u000a",
        "date" : "2026-04-06 21:38:29 +0700",
        "id" : "8f6b417d3e20d16549a6842d123f80774a97acc9",
        "msg" : "assignment_fsm: pass lchan to lchan_type_compat_with_mode()",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo-bsc/assignment_fsm.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo-bsc/assignment_fsm.c"
        ],
        "commitId" : "aa959d74f991760e9532fc90c13035c95b5fe4c7",
        "timestamp" : 1775486398000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/fixeria",
          "fullName" : "Vadim Yanitskiy"
        },
        "authorEmail" : "vyanitskiy@sysmocom.de",
        "comment" : "assignment_fsm: check ipaccess channel mode support\u000a\u000aAdd ipacc_chan_mode_supported(), which checks the NM_IPAC_F_CHANM_*\u000aflags stored in the Baseband Transceiver's MO state (populated during\u000aOML bring-up) to decide whether the BTS can handle a requested channel\u000amode.  If the IE containing supported channel modes was never received,\u000athe function returns true as if the given mode was supported.\u000a\u000aWithout this change, requesting a channel mode not supported by the\u000aBTS results in a NACK to the RSL Channel Activation, which causes\u000athe lchan to be marked as BROKEN and thus unavailable.\u000a\u000aChange-Id: I680ba7993786f5486d671f931e75df4543670a37\u000aRelated: OS#6324\u000a",
        "date" : "2026-04-06 21:39:58 +0700",
        "id" : "aa959d74f991760e9532fc90c13035c95b5fe4c7",
        "msg" : "assignment_fsm: check ipaccess channel mode support",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo-bsc/assignment_fsm.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo-bsc/lchan_fsm.c"
        ],
        "commitId" : "a1424a32ff3b1da51bf710e39e39d11243cc713c",
        "timestamp" : 1775486398000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/fixeria",
          "fullName" : "Vadim Yanitskiy"
        },
        "authorEmail" : "vyanitskiy@sysmocom.de",
        "comment" : "lchan_fsm: ignore late lchan_rtp_fsm events\u000a\u000aThe lchan_rtp_fsm is a child FSM that manages the MGW/RTP endpoint.\u000aWhen the parent lchan_fsm transitions away before the child has\u000afinished its work (e.g. a CRCX timeout or a DLCX completing after\u000athe lchan is already idle), the child can still deliver\u000aLCHAN_EV_RTP_RELEASED or LCHAN_EV_RTP_ERROR to the parent.\u000a\u000aCurrently these late events are not in the in_event_mask of every\u000astate that can be reached with the child still running:\u000a\u000a* LCHAN_ST_UNUSED: entered from WAIT_AFTER_ERROR after the error timer\u000a  fires, while a DLCX triggered at error time may still be in flight.\u000a* LCHAN_ST_WAIT_AFTER_ERROR: already handles LCHAN_EV_RTP_RELEASED but\u000a  misses LCHAN_EV_RTP_ERROR (e.g. CRCX timeout arriving after the\u000a  NACK was handled).\u000a\u000aAdd the missing events to both states' in_event_mask and provide a\u000ano-op handler in lchan_fsm_unused() so that the assert is not hit.\u000a\u000aChange-Id: Ie6333bd941e4e5a6ddf0e3f113b8764e8bc2bbc0\u000a",
        "date" : "2026-04-06 21:39:58 +0700",
        "id" : "a1424a32ff3b1da51bf710e39e39d11243cc713c",
        "msg" : "lchan_fsm: ignore late lchan_rtp_fsm events",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo-bsc/lchan_fsm.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo-bsc/lchan_fsm.c"
        ],
        "commitId" : "2d71b484a59e0ecf27a79aa4d503e56ec1c08342",
        "timestamp" : 1775486825000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/fixeria",
          "fullName" : "Vadim Yanitskiy"
        },
        "authorEmail" : "vyanitskiy@sysmocom.de",
        "comment" : "lchan_fsm: don't mark lchan as BORKEN on unsupported mode NACK\u000a\u000aWhen the BTS NACKs a Channel Activation with RSL_ERR_SERV_OPT_UNAVAIL\u000aor RSL_ERR_SERV_OPT_UNIMPL, it means the requested service or channel\u000amode is not supported - not that the hardware is broken.  In this\u000acase the lchan should transition to LCHAN_ST_WAIT_AFTER_ERROR rather\u000athan LCHAN_ST_BORKEN, which is reserved for genuine hardware failures.\u000a\u000aChange-Id: Ide3830a697501a0c245a41451302f1e68d553b3c\u000aRelated: osmo-ttcn3-hacks.git I000b7b44749380c5af4da42abe37b4ada6e06ee4\u000aRelated: OS#6324\u000a",
        "date" : "2026-04-06 21:47:05 +0700",
        "id" : "2d71b484a59e0ecf27a79aa4d503e56ec1c08342",
        "msg" : "lchan_fsm: don't mark lchan as BORKEN on unsupported mode NACK",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo-bsc/lchan_fsm.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/osmo-bsc/handover_fsm.c"
        ],
        "commitId" : "107391d8c16b7f0898ee7e63fb859669793069ce",
        "timestamp" : 1775486853000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/fixeria",
          "fullName" : "Vadim Yanitskiy"
        },
        "authorEmail" : "vyanitskiy@sysmocom.de",
        "comment" : "handover_fsm: fix send_handover_performed() using wrong lchan\u000a\u000asend_handover_performed() is called from handover_end() before\u000agscon_change_primary_lchan() updates conn->lchan to the new lchan.\u000aAs a result, the Cell Identifier, Chosen Channel, Chosen Encryption\u000aAlgorithm, and Speech Version/Codec IEs were all populated from the\u000asource (old) lchan rather than the target (new) lchan.\u000a\u000aAs per 3GPP TS 48.008 §3.2.1.25, HANDOVER PERFORMED must report the\u000atarget cell and channel.  For intra-BSC handover to a different BTS\u000athis caused the MSC to receive the wrong Cell Identifier.\u000a\u000aFix by initialising lchan from ho->new_lchan instead of conn->lchan,\u000aand deriving the BTS via lchan->ts->trx->bts.\u000a\u000aChange-Id: I4111351dc38fc2dbe844c2bd07b3ecfaaadd864e\u000aRelated: osmo-ttcn3-hacks.git I82aadcc3a80c183cb93522b829071294b156a218\u000aFound-By: Claude Sonnet 4.6\u000a",
        "date" : "2026-04-06 21:47:33 +0700",
        "id" : "107391d8c16b7f0898ee7e63fb859669793069ce",
        "msg" : "handover_fsm: fix send_handover_performed() using wrong lchan",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/osmo-bsc/handover_fsm.c"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/fixeria",
      "fullName" : "Vadim Yanitskiy"
    }
  ],
  "runs" : [
    {
      "number" : 29418,
      "url" : "https://jenkins.osmocom.org/jenkins/view/no-generated/job/master-osmo-bsc/a1=default,a2=default,a3=default,a4=default,label=osmocom-master/29418/"
    }
  ]
}