From 55b1c14e9317c9e062e316617551fd84c94a34b8 Mon Sep 17 00:00:00 2001 From: Jochen Ehret Date: Wed, 25 Feb 2026 12:51:21 +0100 Subject: [PATCH] Add nil guard to ProcessModel.run_action_user * prevents exceptions "docker? delegated to app, but app is nil" when listing large number of processes on a live system --- app/models/runtime/process_model.rb | 2 +- spec/unit/models/runtime/process_model_spec.rb | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/app/models/runtime/process_model.rb b/app/models/runtime/process_model.rb index dad1d517ab..80ecffa2be 100644 --- a/app/models/runtime/process_model.rb +++ b/app/models/runtime/process_model.rb @@ -385,7 +385,7 @@ def started_command def run_action_user return user if user.present? - docker? ? docker_run_action_user : AppModel::DEFAULT_CONTAINER_USER + app&.docker? ? docker_run_action_user : AppModel::DEFAULT_CONTAINER_USER end def specified_or_detected_command diff --git a/spec/unit/models/runtime/process_model_spec.rb b/spec/unit/models/runtime/process_model_spec.rb index 8b8d0be3bd..565e7548fd 100644 --- a/spec/unit/models/runtime/process_model_spec.rb +++ b/spec/unit/models/runtime/process_model_spec.rb @@ -747,6 +747,17 @@ def act_as_cf_admin end end end + + context 'when the associated app is nil' do + before do + process.app = nil + end + + it 'does not raise an error and returns nil' do + expect { process.run_action_user }.not_to raise_error + expect(process.run_action_user).to eq('vcap') + end + end end describe '#specified_or_detected_command' do