<matrixBuild _class='hudson.matrix.MatrixBuild'><action _class='hudson.model.CauseAction'><cause _class='org.jenkinsci.plugins.workflow.support.steps.build.BuildUpstreamCause'><shortDescription>Started by upstream project "gerrit-osmo-s1gw" build number 717</shortDescription><upstreamBuild>717</upstreamBuild><upstreamProject>gerrit-osmo-s1gw</upstreamProject><upstreamUrl>job/gerrit-osmo-s1gw/</upstreamUrl></cause></action><action></action><action _class='hudson.model.ParametersAction'><parameter _class='hudson.model.StringParameterValue'><name>COMMENT_TYPE</name><value></value></parameter><parameter _class='hudson.model.StringParameterValue'><name>DISTRO</name><value></value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_BRANCH</name><value>master</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_CHANGE_NUMBER</name><value>42450</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_HOST</name><value>gerrit.osmocom.org</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_PATCHSET_NUMBER</name><value>2</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_PATCHSET_REVISION</name><value>b98e8468ebc28baa9cca5cb12f3d7e335bab44fc</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_PATCHSET_UPLOADER_NAME</name><value>fixeria</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_PORT</name><value>29418</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_PROJECT</name><value>erlang/osmo-s1gw</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_REFSPEC</name><value>refs/changes/50/42450/2</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_REPO_URL</name><value>ssh://jenkins@gerrit.osmocom.org:29418/erlang/osmo-s1gw</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>PIPELINE_BUILD_URL</name><value>https://jenkins.osmocom.org/jenkins/job/gerrit-osmo-s1gw/717/</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>PROJECT_NAME</name><value>osmo-s1gw</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>BRANCH_CI</name><value>master</value></parameter></action><action _class='jenkins.metrics.impl.TimeInQueueAction'><blockedDurationMillis>0</blockedDurationMillis><blockedTimeMillis>0</blockedTimeMillis><buildableDurationMillis>0</buildableDurationMillis><buildableTimeMillis>0</buildableTimeMillis><buildingDurationMillis>280516</buildingDurationMillis><executingTimeMillis>280516</executingTimeMillis><executorUtilization>1.0</executorUtilization><subTaskCount>0</subTaskCount><waitingDurationMillis>5698</waitingDurationMillis><waitingTimeMillis>5698</waitingTimeMillis></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><master _class='hudson.plugins.git.util.Build'><buildNumber>716</buildNumber><marked><SHA1>b98e8468ebc28baa9cca5cb12f3d7e335bab44fc</SHA1><branch><SHA1>b98e8468ebc28baa9cca5cb12f3d7e335bab44fc</SHA1><name>master</name></branch></marked><revision><SHA1>b98e8468ebc28baa9cca5cb12f3d7e335bab44fc</SHA1><branch><SHA1>b98e8468ebc28baa9cca5cb12f3d7e335bab44fc</SHA1><name>master</name></branch></revision></master></buildsByBranchName><lastBuiltRevision><SHA1>b98e8468ebc28baa9cca5cb12f3d7e335bab44fc</SHA1><branch><SHA1>b98e8468ebc28baa9cca5cb12f3d7e335bab44fc</SHA1><name>master</name></branch></lastBuiltRevision><remoteUrl>ssh://jenkins@gerrit.osmocom.org:29418/erlang/osmo-s1gw</remoteUrl><scmName></scmName></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#716</displayName><duration>280516</duration><estimatedDuration>116607</estimatedDuration><fullDisplayName>gerrit-osmo-s1gw-build #716</fullDisplayName><id>716</id><inProgress>false</inProgress><keepLog>false</keepLog><number>716</number><queueId>66013</queueId><result>SUCCESS</result><timestamp>1774005623468</timestamp><url>https://jenkins.osmocom.org/jenkins/job/gerrit-osmo-s1gw-build/716/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/rest_server.erl</affectedPath><commitId>b98e8468ebc28baa9cca5cb12f3d7e335bab44fc</commitId><timestamp>1774005508000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/fixeria</absoluteUrl><fullName>Vadim Yanitskiy</fullName></author><authorEmail>vyanitskiy@sysmocom.de</authorEmail><comment>rest_server: fix TOC/TOU race when listing/fetching E-RABs

The list of E-RAB FSM pids is a snapshot taken at one point in time.
By the time we interrogate each erab_fsm process individually, any of
them may have already terminated (e.g. bearer released mid-request).
The current code fails to generate a response if this happens.

* fetch_erab_info/1: add a pid() clause that wraps erab_list_item/1
  in a try/catch, returning 'error' if the process is gone.

* fetch_erab_info/1: catch both exit forms
** `{noproc, _}` raised by gen_statem:call/2 on a monitored pid, and
** the bare noproc atom for other code paths.

* fetch_erab_list/1: switch from lists:map to lists:filtermap and
  call fetch_erab_info/1 per E-RAB, silently dropping any that died
  between the snapshot and the per-process interrogation.

Change-Id: I160b413aa535f2379ad4e40a3ae8f37c5bce2067
Related: SYS#7066
</comment><date>2026-03-20 18:18:28 +0700</date><id>b98e8468ebc28baa9cca5cb12f3d7e335bab44fc</id><msg>rest_server: fix TOC/TOU race when listing/fetching E-RABs</msg><path><editType>edit</editType><file>src/rest_server.erl</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/fixeria</absoluteUrl><fullName>Vadim Yanitskiy</fullName></culprit><run><number>716</number><url>https://jenkins.osmocom.org/jenkins/job/gerrit-osmo-s1gw-build/a1=default,a2=default,a3=default,a4=default,label=osmocom-gerrit/716/</url></run></matrixBuild>