From 56b6380f4d0c557c3d36909af4b2c49aef47b166 Mon Sep 17 00:00:00 2001 From: Sebastian Serth Date: Tue, 19 Sep 2023 10:13:18 +0200 Subject: [PATCH] Capture invalid JSON received from runner management Related to https://github.com/openHPI/codeocean/issues/1914 --- lib/runner/connection.rb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/runner/connection.rb b/lib/runner/connection.rb index 3df78c80..65accc39 100644 --- a/lib/runner/connection.rb +++ b/lib/runner/connection.rb @@ -120,7 +120,10 @@ class Runner::Connection def on_message(raw_event, _sentry_span) Rails.logger.debug { "#{Time.zone.now.getutc.inspect}: Receiving from #{@socket.url}: #{raw_event.data.inspect}" } event = decode(raw_event.data) - return unless BACKEND_OUTPUT_SCHEMA.valid?(event) + unless BACKEND_OUTPUT_SCHEMA.valid?(event) + Sentry.capture_message('Received invalid JSON from runner management', extra: {event:}) + return + end event = event.deep_symbolize_keys message_type = event[:type].to_sym