Skip to content

Error Tracking: NoMethodError: undefined method `last' for nil:NilClass

https://sentry.gitlab.net/gitlab/gitlabcom/issues/3090981/?referrer=gitlab_plugin

NoMethodError: undefined method `last' for nil:NilClass
  app/services/error_tracking/collect_error_service.rb:55:in `actor'
    last_line = exception.dig('stacktrace', 'frames').last
  app/services/error_tracking/collect_error_service.rb:12:in `execute'
    actor: actor, # Example: PostsController#show
  lib/api/error_tracking/collector.rb:144:in `block in <class:Collector>'
    .execute
  lib/api/api_guard.rb:213:in `call'
    response = super(env)
  lib/gitlab/metrics/elasticsearch_rack_middleware.rb:16:in `call'
    @app.call(env)
...
(151 additional frame(s) were not displayed)

Culprit

We fail to retrieve stacktrace frames from payload. We cannot see how the payload look like in Kibana 😞

Stacktrace

app/services/error_tracking/collect_error_service.rb in actor at line 55
app/services/error_tracking/collect_error_service.rb in execute at line 12
lib/api/error_tracking/collector.rb in block in <class:Collector> at line 144
lib/api/api_guard.rb in call at line 213

Kibana

https://log.gprd.gitlab.net/goto/e5263730-5e59-11ec-963b-e1fe7ecf75fb
Screenshot_from_2021-12-16_11-21-04
Edited by Peter Leitzen