{
  "_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" : 84446,
      "executingTimeMillis" : 84446,
      "executorUtilization" : 1.0,
      "subTaskCount" : 0,
      "waitingDurationMillis" : 5000,
      "waitingTimeMillis" : 5000
    },
    {
      
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "origin/master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2887,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "625e7c29d0da37ab8ae18a7e7909ac6bf1c81b6d",
            "branch" : [
              {
                "SHA1" : "625e7c29d0da37ab8ae18a7e7909ac6bf1c81b6d",
                "name" : "origin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "625e7c29d0da37ab8ae18a7e7909ac6bf1c81b6d",
            "branch" : [
              {
                "SHA1" : "625e7c29d0da37ab8ae18a7e7909ac6bf1c81b6d",
                "name" : "origin/master"
              }
            ]
          }
        },
        "refs/remotes/origin/master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1667,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "c69d5c8da71c3320fc18308b95aded4aa949ddd3",
            "branch" : [
              {
                "SHA1" : "c69d5c8da71c3320fc18308b95aded4aa949ddd3",
                "name" : "refs/remotes/origin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "c69d5c8da71c3320fc18308b95aded4aa949ddd3",
            "branch" : [
              {
                "SHA1" : "c69d5c8da71c3320fc18308b95aded4aa949ddd3",
                "name" : "refs/remotes/origin/master"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "625e7c29d0da37ab8ae18a7e7909ac6bf1c81b6d",
        "branch" : [
          {
            "SHA1" : "625e7c29d0da37ab8ae18a7e7909ac6bf1c81b6d",
            "name" : "origin/master"
          }
        ]
      },
      "remoteUrls" : [
        "https://gerrit.osmocom.org/osmo-remsim"
      ],
      "scmName" : ""
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    
  ],
  "building" : False,
  "description" : None,
  "displayName" : "#2887",
  "duration" : 84446,
  "estimatedDuration" : 76145,
  "executor" : None,
  "fullDisplayName" : "master-osmo-remsim #2887",
  "id" : "2887",
  "inProgress" : False,
  "keepLog" : False,
  "number" : 2887,
  "queueId" : 55208,
  "result" : "SUCCESS",
  "timestamp" : 1773134961961,
  "url" : "https://jenkins.osmocom.org/jenkins/view/OBS/job/master-osmo-remsim/2887/",
  "builtOn" : "",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/bankd/bankd_main.c"
        ],
        "commitId" : "3768943cbbe0e5427732d9904d93f2297a2a6146",
        "timestamp" : 1772189204000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/laforge",
          "fullName" : "laforge"
        },
        "authorEmail" : "laforge@osmocom.org",
        "comment" : "remsim-bankd: Don't pass on illegal TPDUs of illegal length\u000a\u000aTPDUs with length < 5 bytes or > 260 bytes are illegal in T=0.  It\u000adoesn't make sense to send them to pcsc-lite, triggering bugs in either\u000apcsc-lite or the CCID firmware down the road.  Let's filter them.\u000a\u000aChange-Id: I5c9f1143b85470234acd2e2ffe3e0cf72bd2ae43\u000a",
        "date" : "2026-02-27 11:46:44 +0100",
        "id" : "3768943cbbe0e5427732d9904d93f2297a2a6146",
        "msg" : "remsim-bankd: Don't pass on illegal TPDUs of illegal length",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/bankd/bankd_main.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/bankd/bankd_main.c"
        ],
        "commitId" : "625e7c29d0da37ab8ae18a7e7909ac6bf1c81b6d",
        "timestamp" : 1773134684000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/laforge",
          "fullName" : "laforge"
        },
        "authorEmail" : "laforge@osmocom.org",
        "comment" : "bankd: Avoid osmocom logging mutex deadlock in signal handling\u000a\u000aThe main thread communicates slotmap add + delete via POSIX signals\u000ato the worker threads.  As those signals interrupt the normal\u000aprocessing of the worker thread, they might get delivered while the\u000athread is already logging something, causing a deadlock.  This has\u000abeen observed in the real world in the following stack trace (where it's\u000aactually two nested signals):\u000a\u000aThread 45 (Thread 0x7fa014ff96c0 (LWP 620753) \"osmo-remsim-ban\"):\u000a #0  futex_wait (private=0, expected=2, futex_word=0x7fa0a992b360 <osmo_log_tgt_mutex>) at ../sysdeps/nptl/futex-internal.h:146\u000a #1  __GI___lll_lock_wait (futex=futex@entry=0x7fa0a992b360 <osmo_log_tgt_mutex>, private=0) at ./nptl/lowlevellock.c:49\u000a #2  0x00007fa0a9730482 in lll_mutex_lock_optimized (mutex=0x7fa0a992b360 <osmo_log_tgt_mutex>) at ./nptl/pthread_mutex_lock.c:48\u000a #3  ___pthread_mutex_lock (mutex=0x7fa0a992b360 <osmo_log_tgt_mutex>) at ./nptl/pthread_mutex_lock.c:93\u000a #4  0x00007fa0a98d878d in log_tgt_mutex_lock_impl () from /usr/local/lib/libosmocore.so.22\u000a #5  0x00007fa0a98db9a1 in log_check_level () from /usr/local/lib/libosmocore.so.22\u000a #6  0x0000559db6278e31 in handle_sig_mapadd (sig=<optimized out>) at bankd_main.c:558\u000a #7  <signal handler called>\u000a #8  0x00007fa0a9701548 in __vfprintf_internal (s=s@entry=0x7fa014fe3a50, format=format@entry=0x7fa0a991905a \"%ld \", ap=ap@entry=0x7fa014fe3bd0, mode_flags=mode_flags@entry=0) at ./stdio-common/vfprintf-internal.c:983\u000a #9  0x00007fa0a9722758 in __vsnprintf_internal (string=0x7fa014fe3eb0 \"\", maxlen=<optimized out>, format=0x7fa0a991905a \"%ld \", args=args@entry=0x7fa014fe3bd0, mode_flags=mode_flags@entry=0) at ./libio/vsnprintf.c:114\u000a #10 0x00007fa0a96fcca2 in __GI___snprintf (s=<optimized out>, maxlen=<optimized out>, format=<optimized out>) at ./stdio-common/snprintf.c:31\u000a #11 0x00007fa0a98d91b4 in _output_buf () from /usr/local/lib/libosmocore.so.22\u000a #12 0x00007fa0a98d9def in _output () from /usr/local/lib/libosmocore.so.22\u000a #13 0x00007fa0a98da0ef in osmo_vlogp () from /usr/local/lib/libosmocore.so.22\u000a #14 0x00007fa0a98da2bb in logp2 () from /usr/local/lib/libosmocore.so.22\u000a #15 0x0000559db62790ba in handle_sig_mapdel (sig=35) at bankd_main.c:546\u000a #16 <signal handler called>\u000a #17 0x00007fa0a97a025f in __GI___poll (fds=0x7fa014fe5650, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29\u000a #18 0x00007fa0a9892d53 in ?? () from /lib/x86_64-linux-gnu/libpcsclite.so.1\u000a #19 0x00007fa0a988fd9e in SCardTransmit () from /lib/x86_64-linux-gnu/libpcsclite.so.1\u000a #20 0x0000559db627c9ef in pcsc_transceive (worker=0x559dbd5c5750, out=<optimized out>, out_len=<optimized out>, in=<optimized out>, in_len=0x7fa014fe57b8) at bankd_pcsc.c:319\u000a #21 0x0000559db627a479 in worker_handle_tpduModemToCard (pdu=0x7fa050003a50, worker=0x559dbd5c5750) at bankd_main.c:826\u000a #22 worker_handle_rspro (pdu=0x7fa050003a50, worker=0x559dbd5c5750) at bankd_main.c:892\u000a #23 worker_transceive_loop (worker=0x559dbd5c5750) at bankd_main.c:1005\u000a #24 0x0000559db627aff2 in worker_main (arg=<optimized out>) at bankd_main.c:1079\u000a #25 0x00007fa0a972d1f5 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442\u000a #26 0x00007fa0a97ad8dc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81\u000a\u000aAs a hot-fix, let's avoid logging from the handle_sig_map{del,add}()\u000afunctions at all, making them safe against a deadlock around this mutex.\u000a\u000aWe should decide how to proceed in general with potentially some\u000aarchitectural changes later on; any such changes are not suitable as a\u000ahot fix due to their potential of introducing other regressions.\u000a\u000aChange-Id: I5ea32886dfaf624b4dc5ad7924941c7b904c1d36\u000aRelated: SYS#7930\u000a",
        "date" : "2026-03-10 09:24:44 +0000",
        "id" : "625e7c29d0da37ab8ae18a7e7909ac6bf1c81b6d",
        "msg" : "bankd: Avoid osmocom logging mutex deadlock in signal handling",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/bankd/bankd_main.c"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/laforge",
      "fullName" : "laforge"
    }
  ],
  "runs" : [
    {
      "number" : 2887,
      "url" : "https://jenkins.osmocom.org/jenkins/view/OBS/job/master-osmo-remsim/a1=default,a2=default,a3=default,a4=default,label=osmocom-master/2887/"
    }
  ]
}