{
  "_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" : 73356,
      "executingTimeMillis" : 73356,
      "executorUtilization" : 1.0,
      "subTaskCount" : 0,
      "waitingDurationMillis" : 5917,
      "waitingTimeMillis" : 5917
    },
    {
      
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "origin/master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2938,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "af717d3b73a97dafc2bbd5cba382266909a51942",
            "branch" : [
              {
                "SHA1" : "af717d3b73a97dafc2bbd5cba382266909a51942",
                "name" : "origin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "af717d3b73a97dafc2bbd5cba382266909a51942",
            "branch" : [
              {
                "SHA1" : "af717d3b73a97dafc2bbd5cba382266909a51942",
                "name" : "origin/master"
              }
            ]
          }
        },
        "refs/remotes/origin/master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1667,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "c69d5c8da71c3320fc18308b95aded4aa949ddd3",
            "branch" : [
              {
                "SHA1" : "c69d5c8da71c3320fc18308b95aded4aa949ddd3",
                "name" : "refs/remotes/origin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "c69d5c8da71c3320fc18308b95aded4aa949ddd3",
            "branch" : [
              {
                "SHA1" : "c69d5c8da71c3320fc18308b95aded4aa949ddd3",
                "name" : "refs/remotes/origin/master"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "af717d3b73a97dafc2bbd5cba382266909a51942",
        "branch" : [
          {
            "SHA1" : "af717d3b73a97dafc2bbd5cba382266909a51942",
            "name" : "origin/master"
          }
        ]
      },
      "remoteUrls" : [
        "https://gerrit.osmocom.org/osmo-remsim"
      ],
      "scmName" : ""
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    
  ],
  "building" : false,
  "description" : null,
  "displayName" : "#2938",
  "duration" : 73356,
  "estimatedDuration" : 73307,
  "executor" : null,
  "fullDisplayName" : "master-osmo-remsim #2938",
  "id" : "2938",
  "inProgress" : false,
  "keepLog" : false,
  "number" : 2938,
  "queueId" : 102151,
  "result" : "SUCCESS",
  "timestamp" : 1777332246843,
  "url" : "https://jenkins.osmocom.org/jenkins/view/registry/job/master-osmo-remsim/2938/",
  "builtOn" : "",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/bankd/bankd_main.c"
        ],
        "commitId" : "b17b7c1d247c91febd592234c76f3444ae59dd64",
        "timestamp" : 1777295231000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/aeversberg",
          "fullName" : "Andreas Eversberg"
        },
        "authorEmail" : "aeversberg@sysmocom.de",
        "comment" : "Fix: Remove slot mapping at bankd when client disconnects\u000a\u000aIf a client disconnects before removing the slot mapping, the worker\u000amust undefine its 'bank_id' and 'slot_nr' and must change its state to\u000a'UNMAPPED'.\u000a\u000asend_signal_to_worker() searches for a worker that has a given bank and\u000aslot. If a client re-connects to a different worker and if the bank and\u000aslot would be still assigned to the old worker, the old worker could\u000areceive signals when assigning or removing slot mapping. The new worker\u000awould not be mapped.\u000a\u000aChange-Id: I2fd03490e2506c55104309a0ef952389119023b8\u000a",
        "date" : "2026-04-27 15:07:11 +0200",
        "id" : "b17b7c1d247c91febd592234c76f3444ae59dd64",
        "msg" : "Fix: Remove slot mapping at bankd when client disconnects",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/bankd/bankd_main.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/slotmap.c",
          "src/bankd/bankd_main.c",
          "src/slotmap.h"
        ],
        "commitId" : "9be3d184f97958f18ee16802941a9a3e712855d1",
        "timestamp" : 1777295988000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/aeversberg",
          "fullName" : "Andreas Eversberg"
        },
        "authorEmail" : "aeversberg@sysmocom.de",
        "comment" : "Fix: Prevent race conditions when accessing slotmap in bankd\u000a\u000aIf a client connects to a worker, the worker will check if there is an\u000aexisting mapping between a reader and this client. If it exists,\u000aslotmap_by_client() will return a pointer. If the mapping is deleted at\u000athis time by the server, the worker uses a pointer to a mapping entry\u000athat has just been freed.\u000a\u000aTo prevent this, the worker locks the slot map and calls the new\u000afunction slotmap_by_client_nolock(). After it has finished working with\u000athe returned pointer, it unlocks the slot map again. A possible delete\u000aby the main thread would be delayed.\u000a\u000aChange-Id: I3464726f37beb7c47b4e1f00c018ffa4f3948906\u000a",
        "date" : "2026-04-27 15:19:48 +0200",
        "id" : "9be3d184f97958f18ee16802941a9a3e712855d1",
        "msg" : "Fix: Prevent race conditions when accessing slotmap in bankd",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/slotmap.c"
          },
          {
            "editType" : "edit",
            "file" : "src/bankd/bankd_main.c"
          },
          {
            "editType" : "edit",
            "file" : "src/slotmap.h"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/bankd/bankd_main.c"
        ],
        "commitId" : "2cc1aa57418e6388e463fb1de1295640fab2413f",
        "timestamp" : 1777302517000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/aeversberg",
          "fullName" : "Andreas Eversberg"
        },
        "authorEmail" : "aeversberg@sysmocom.de",
        "comment" : "Fix: Prevent bankd from exiting upon SIGPIPE\u000a\u000aIf a client disconnects from a worker thread while the worker is\u000aresponding to a to a request from that client, the socket is closed and\u000aSIGPIPE is sent to the worker, causing the application to exit.\u000a\u000aTo prevent this, all workers have a dummy handler to prevent this. Now\u000athe worker can handle the closing of the socket.\u000a\u000aChange-Id: I13d6e9da48d12f93c00bd2d021789bde71aca7cf\u000a",
        "date" : "2026-04-27 17:08:37 +0200",
        "id" : "2cc1aa57418e6388e463fb1de1295640fab2413f",
        "msg" : "Fix: Prevent bankd from exiting upon SIGPIPE",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/bankd/bankd_main.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/rspro_util.c"
        ],
        "commitId" : "af717d3b73a97dafc2bbd5cba382266909a51942",
        "timestamp" : 1777332175000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/laforge",
          "fullName" : "laforge"
        },
        "authorEmail" : "laforge@osmocom.org",
        "comment" : "rspro_util: asn1 decode: fix memleak when decoding fails\u000a\u000aChange-Id: I071343d0134dbffb1bb71ea26a5b514be1b5bb27\u000a",
        "date" : "2026-04-27 23:22:55 +0000",
        "id" : "af717d3b73a97dafc2bbd5cba382266909a51942",
        "msg" : "rspro_util: asn1 decode: fix memleak when decoding fails",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/rspro_util.c"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/laforge",
      "fullName" : "laforge"
    },
    {
      "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/aeversberg",
      "fullName" : "Andreas Eversberg"
    }
  ],
  "runs" : [
    {
      "number" : 2938,
      "url" : "https://jenkins.osmocom.org/jenkins/view/registry/job/master-osmo-remsim/a1=default,a2=default,a3=default,a4=default,label=osmocom-master/2938/"
    }
  ]
}