Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HTTPClient Integration with Faraday v1.5.0 causing SystemStackError (stack level too deep) #714

Closed
iuri-gg opened this issue Jul 6, 2021 · 7 comments
Labels
community To tag external issues and PRs submitted by the community

Comments

@iuri-gg
Copy link

iuri-gg commented Jul 6, 2021

Description

When using newrelic_rpm gem with Faraday v1.5.0, I keep getting SystemStackError (stack level too deep). If I disable HTTPClient Integration or change it from prepend to chain then error goes away. Also, if I downgrade to Faraday v1.4.3, error goes away. Looking at faraday changes, I can see that they moved to external dependency for HTTPClient adapter. I am guessing that the order of requiring newrelic gem and faraday's external httpclient adapter gem causes this issue.

Expected Behavior

I expect newrelic_rpm instrumentation for faraday v1.5.0 to work and not cause SystemStackError (stack level too deep).

Troubleshooting or NR Diag results

[2021-07-06 10:50:24 -0500 ocha-pc.home (95569)] WARN : Failed to create trace context payload
[2021-07-06 10:50:24 -0500 ocha-pc.home (95569)] WARN : TypeError: no implicit conversion of nil into String
[2021-07-06 10:50:24 -0500 ocha-pc.home (95569)] DEBUG : Debugging backtrace:
/Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/distributed_tracing/trace_context_payload.rb:115:in `to_s'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/transaction/trace_context.rb:87:in `create_trace_state'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/transaction/trace_context.rb:68:in `insert_trace_context_header'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/transaction/distributed_tracer.rb:76:in `insert_headers'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/transaction/external_request_segment.rb:63:in `add_request_headers'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/httpclient/instrumentation.rb:18:in `with_tracing'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/httpclient/prepend.rb:12:in `do_get_block'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/httpclient-2.8.3/lib/httpclient.rb:1019:in `block in do_request'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/httpclient-2.8.3/lib/httpclient.rb:1133:in `protect_keep_alive_disconnected'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/httpclient-2.8.3/lib/httpclient.rb:1014:in `do_request'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/httpclient-2.8.3/lib/httpclient.rb:856:in `request'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/faraday-httpclient-1.0.1/lib/faraday/adapter/httpclient.rb:47:in `block in call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/faraday-1.5.0/lib/faraday/adapter.rb:51:in `connection'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/faraday-httpclient-1.0.1/lib/faraday/adapter/httpclient.rb:46:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/faraday-1.5.0/lib/faraday/rack_builder.rb:154:in `build_response'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/faraday-1.5.0/lib/faraday/connection.rb:495:in `run_request'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/elasticsearch-transport-7.13.1/lib/elasticsearch/transport/transport/http/faraday.rb:48:in `block in perform_request'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/elasticsearch-transport-7.13.1/lib/elasticsearch/transport/transport/base.rb:288:in `perform_request'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/elasticsearch-transport-7.13.1/lib/elasticsearch/transport/transport/http/faraday.rb:37:in `perform_request'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/elasticsearch-transport-7.13.1/lib/elasticsearch/transport/client.rb:192:in `perform_request'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/elasticsearch-api-7.13.1/lib/elasticsearch/api/actions/search.rb:104:in `search'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/chewy-7.2.2/lib/chewy/search/request.rb:979:in `block in perform'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activesupport-6.1.4/lib/active_support/notifications.rb:203:in `block in instrument'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activesupport-6.1.4/lib/active_support/notifications/instrumenter.rb:24:in `instrument'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activesupport-6.1.4/lib/active_support/notifications.rb:203:in `instrument'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/chewy-7.2.2/lib/chewy/search/request.rb:978:in `perform'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/chewy-7.2.2/lib/chewy/search/request.rb:105:in `response'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/chewy-7.2.2/lib/chewy/search/request.rb:47:in `hits'
  /Users/iuri/Projects/foo/foo/app/controllers/explorer_controller.rb:10:in `index'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/abstract_controller/base.rb:228:in `process_action'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_controller/metal/rendering.rb:30:in `process_action'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/abstract_controller/callbacks.rb:42:in `block in process_action'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activesupport-6.1.4/lib/active_support/callbacks.rb:117:in `block in run_callbacks'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/ruby_event_store-2.2.0/lib/ruby_event_store/client.rb:231:in `with_metadata'
  /Users/iuri/Projects/foo/foo/app/controllers/application_controller.rb:74:in `use_request_metadata'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activesupport-6.1.4/lib/active_support/callbacks.rb:126:in `block in run_callbacks'
  /Users/iuri/Projects/foo/foo/app/controllers/application_controller.rb:54:in `wrap_in_transaction'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activesupport-6.1.4/lib/active_support/callbacks.rb:126:in `block in run_callbacks'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actiontext-6.1.4/lib/action_text/rendering.rb:20:in `with_renderer'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actiontext-6.1.4/lib/action_text/engine.rb:59:in `block (4 levels) in <class:Engine>'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activesupport-6.1.4/lib/active_support/callbacks.rb:126:in `instance_exec'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activesupport-6.1.4/lib/active_support/callbacks.rb:126:in `block in run_callbacks'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activesupport-6.1.4/lib/active_support/callbacks.rb:137:in `run_callbacks'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/abstract_controller/callbacks.rb:41:in `process_action'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_controller/metal/rescue.rb:22:in `process_action'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_controller/metal/instrumentation.rb:34:in `block in process_action'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activesupport-6.1.4/lib/active_support/notifications.rb:203:in `block in instrument'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activesupport-6.1.4/lib/active_support/notifications/instrumenter.rb:24:in `instrument'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activesupport-6.1.4/lib/active_support/notifications.rb:203:in `instrument'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_controller/metal/instrumentation.rb:33:in `process_action'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_controller/metal/params_wrapper.rb:249:in `process_action'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activerecord-6.1.4/lib/active_record/railties/controller_runtime.rb:27:in `process_action'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/abstract_controller/base.rb:165:in `process'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionview-6.1.4/lib/action_view/rendering.rb:39:in `process'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_controller/metal.rb:190:in `dispatch'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_controller/metal.rb:254:in `dispatch'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/routing/route_set.rb:50:in `dispatch'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/routing/route_set.rb:33:in `serve'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/journey/router.rb:50:in `block in serve'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/journey/router.rb:32:in `each'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/journey/router.rb:32:in `serve'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/routing/route_set.rb:842:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/omniauth-2.0.4/lib/omniauth/strategy.rb:202:in `call!'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/omniauth-2.0.4/lib/omniauth/strategy.rb:169:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/omniauth-2.0.4/lib/omniauth/strategy.rb:202:in `call!'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/omniauth-2.0.4/lib/omniauth/strategy.rb:169:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/omniauth-2.0.4/lib/omniauth/strategy.rb:202:in `call!'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/omniauth-2.0.4/lib/omniauth/strategy.rb:169:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/omniauth-2.0.4/lib/omniauth/builder.rb:45:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/rails_event_store-2.2.0/lib/rails_event_store/middleware.rb:12:in `block in call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/rails_event_store-2.2.0/lib/rails_event_store/client.rb:28:in `block in with_request_metadata'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/ruby_event_store-2.2.0/lib/ruby_event_store/client.rb:231:in `with_metadata'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/rails_event_store-2.2.0/lib/rails_event_store/client.rb:27:in `with_request_metadata'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/rails_event_store-2.2.0/lib/rails_event_store/middleware.rb:11:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/rack-attack-6.5.0/lib/rack/attack.rb:113:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/sentry-rails-4.6.0/lib/sentry/rails/rescued_exception_interceptor.rb:12:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/rack/agent_hooks.rb:30:in `traced_call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/rack/browser_monitoring.rb:33:in `traced_call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/clearance-2.4.0/lib/clearance/rack_session.rb:23:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/rack-2.2.3/lib/rack/tempfile_reaper.rb:15:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/rack-2.2.3/lib/rack/etag.rb:27:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/rack-2.2.3/lib/rack/conditional_get.rb:27:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/rack-2.2.3/lib/rack/head.rb:12:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/http/permissions_policy.rb:22:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/http/content_security_policy.rb:18:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/rack-2.2.3/lib/rack/session/abstract/id.rb:266:in `context'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/rack-2.2.3/lib/rack/session/abstract/id.rb:260:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/middleware/cookies.rb:689:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activerecord-6.1.4/lib/active_record/migration.rb:601:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activesupport-6.1.4/lib/active_support/callbacks.rb:98:in `run_callbacks'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/middleware/callbacks.rb:26:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/middleware/executor.rb:14:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/middleware/actionable_exceptions.rb:18:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/middleware/debug_exceptions.rb:29:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/web-console-4.1.0/lib/web_console/middleware.rb:132:in `call_app'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/web-console-4.1.0/lib/web_console/middleware.rb:28:in `block in call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/web-console-4.1.0/lib/web_console/middleware.rb:17:in `catch'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/web-console-4.1.0/lib/web_console/middleware.rb:17:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/chewy-7.2.2/lib/chewy/railtie.rb:21:in `block in call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/chewy-7.2.2/lib/chewy/strategy.rb:57:in `wrap'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/chewy-7.2.2/lib/chewy.rb:144:in `strategy'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/chewy-7.2.2/lib/chewy/railtie.rb:21:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/railties-6.1.4/lib/rails/rack/logger.rb:37:in `call_app'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/railties-6.1.4/lib/rails/rack/logger.rb:26:in `block in call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activesupport-6.1.4/lib/active_support/tagged_logging.rb:99:in `block in tagged'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activesupport-6.1.4/lib/active_support/tagged_logging.rb:37:in `tagged'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activesupport-6.1.4/lib/active_support/tagged_logging.rb:99:in `tagged'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/railties-6.1.4/lib/rails/rack/logger.rb:26:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/middleware/remote_ip.rb:81:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/middleware/request_id.rb:26:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/rack-2.2.3/lib/rack/method_override.rb:24:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/rack-2.2.3/lib/rack/runtime.rb:22:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activesupport-6.1.4/lib/active_support/cache/strategy/local_cache_middleware.rb:29:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/sentry-ruby-core-4.6.0/lib/sentry/rack/capture_exceptions.rb:23:in `block in call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/sentry-ruby-core-4.6.0/lib/sentry/hub.rb:56:in `with_scope'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/sentry-ruby-core-4.6.0/lib/sentry-ruby.rb:168:in `with_scope'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/sentry-ruby-core-4.6.0/lib/sentry/rack/capture_exceptions.rb:14:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/middleware/executor.rb:14:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/middleware/static.rb:24:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/rack-2.2.3/lib/rack/sendfile.rb:110:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/middleware/host_authorization.rb:98:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/rack-mini-profiler-2.3.2/lib/mini_profiler/profiler.rb:384:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/webpacker-5.4.0/lib/webpacker/dev_server_proxy.rb:25:in `perform_request'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/rack-proxy-0.7.0/lib/rack/proxy.rb:63:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/railties-6.1.4/lib/rails/engine.rb:539:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/puma-5.3.2/lib/puma/configuration.rb:249:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/puma-5.3.2/lib/puma/request.rb:77:in `block in handle_request'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/puma-5.3.2/lib/puma/thread_pool.rb:338:in `with_force_shutdown'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/puma-5.3.2/lib/puma/request.rb:76:in `handle_request'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/puma-5.3.2/lib/puma/server.rb:438:in `process_client'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/puma-5.3.2/lib/puma/thread_pool.rb:145:in `block in spawn_thread'
[2021-07-06 10:50:24 -0500 ocha-pc.home (95569)] DEBUG : No cross_process_id configured
[2021-07-06 10:50:24 -0500 ocha-pc.home (95569)] DEBUG : OUTGOING REQUEST HEADERS: #<NewRelic::Agent::HTTPClients::HTTPClientRequest:0x0000000110aaf328>
[2021-07-06 10:50:24 -0500 ocha-pc.home (95569)] WARN : Failed to create trace context payload
[2021-07-06 10:50:24 -0500 ocha-pc.home (95569)] WARN : TypeError: no implicit conversion of nil into String
[2021-07-06 10:50:24 -0500 ocha-pc.home (95569)] DEBUG : Debugging backtrace:
/Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/distributed_tracing/trace_context_payload.rb:115:in `to_s'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/transaction/trace_context.rb:87:in `create_trace_state'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/transaction/trace_context.rb:68:in `insert_trace_context_header'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/transaction/distributed_tracer.rb:76:in `insert_headers'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/transaction/external_request_segment.rb:63:in `add_request_headers'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/httpclient/instrumentation.rb:18:in `with_tracing'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/httpclient/prepend.rb:12:in `do_get_block'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/sniffer-0.4.0/lib/sniffer/adapters/httpclient_adapter.rb:33:in `block in do_get_block_with_sniffer'
  /Users/iuri/.rvm/rubies/ruby-3.0.1/lib/ruby/3.0.0/benchmark.rb:308:in `realtime'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/sniffer-0.4.0/lib/sniffer/adapters/httpclient_adapter.rb:32:in `do_get_block_with_sniffer'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/httpclient/prepend.rb:12:in `block in do_get_block'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/httpclient/instrumentation.rb:21:in `block in with_tracing'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/tracer.rb:371:in `capture_segment_error'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/httpclient/instrumentation.rb:20:in `with_tracing'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/httpclient/prepend.rb:12:in `do_get_block'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/httpclient-2.8.3/lib/httpclient.rb:1019:in `block in do_request'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/httpclient-2.8.3/lib/httpclient.rb:1133:in `protect_keep_alive_disconnected'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/httpclient-2.8.3/lib/httpclient.rb:1014:in `do_request'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/httpclient-2.8.3/lib/httpclient.rb:856:in `request'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/faraday-httpclient-1.0.1/lib/faraday/adapter/httpclient.rb:47:in `block in call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/faraday-1.5.0/lib/faraday/adapter.rb:51:in `connection'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/faraday-httpclient-1.0.1/lib/faraday/adapter/httpclient.rb:46:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/faraday-1.5.0/lib/faraday/rack_builder.rb:154:in `build_response'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/faraday-1.5.0/lib/faraday/connection.rb:495:in `run_request'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/elasticsearch-transport-7.13.1/lib/elasticsearch/transport/transport/http/faraday.rb:48:in `block in perform_request'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/elasticsearch-transport-7.13.1/lib/elasticsearch/transport/transport/base.rb:288:in `perform_request'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/elasticsearch-transport-7.13.1/lib/elasticsearch/transport/transport/http/faraday.rb:37:in `perform_request'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/elasticsearch-transport-7.13.1/lib/elasticsearch/transport/client.rb:192:in `perform_request'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/elasticsearch-api-7.13.1/lib/elasticsearch/api/actions/search.rb:104:in `search'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/chewy-7.2.2/lib/chewy/search/request.rb:979:in `block in perform'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activesupport-6.1.4/lib/active_support/notifications.rb:203:in `block in instrument'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activesupport-6.1.4/lib/active_support/notifications/instrumenter.rb:24:in `instrument'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activesupport-6.1.4/lib/active_support/notifications.rb:203:in `instrument'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/chewy-7.2.2/lib/chewy/search/request.rb:978:in `perform'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/chewy-7.2.2/lib/chewy/search/request.rb:105:in `response'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/chewy-7.2.2/lib/chewy/search/request.rb:47:in `hits'
  /Users/iuri/Projects/foo/foo/app/controllers/explorer_controller.rb:10:in `index'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/abstract_controller/base.rb:228:in `process_action'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_controller/metal/rendering.rb:30:in `process_action'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/abstract_controller/callbacks.rb:42:in `block in process_action'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activesupport-6.1.4/lib/active_support/callbacks.rb:117:in `block in run_callbacks'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/ruby_event_store-2.2.0/lib/ruby_event_store/client.rb:231:in `with_metadata'
  /Users/iuri/Projects/foo/foo/app/controllers/application_controller.rb:74:in `use_request_metadata'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activesupport-6.1.4/lib/active_support/callbacks.rb:126:in `block in run_callbacks'
  /Users/iuri/Projects/foo/foo/app/controllers/application_controller.rb:54:in `wrap_in_transaction'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activesupport-6.1.4/lib/active_support/callbacks.rb:126:in `block in run_callbacks'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actiontext-6.1.4/lib/action_text/rendering.rb:20:in `with_renderer'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actiontext-6.1.4/lib/action_text/engine.rb:59:in `block (4 levels) in <class:Engine>'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activesupport-6.1.4/lib/active_support/callbacks.rb:126:in `instance_exec'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activesupport-6.1.4/lib/active_support/callbacks.rb:126:in `block in run_callbacks'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activesupport-6.1.4/lib/active_support/callbacks.rb:137:in `run_callbacks'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/abstract_controller/callbacks.rb:41:in `process_action'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_controller/metal/rescue.rb:22:in `process_action'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_controller/metal/instrumentation.rb:34:in `block in process_action'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activesupport-6.1.4/lib/active_support/notifications.rb:203:in `block in instrument'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activesupport-6.1.4/lib/active_support/notifications/instrumenter.rb:24:in `instrument'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activesupport-6.1.4/lib/active_support/notifications.rb:203:in `instrument'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_controller/metal/instrumentation.rb:33:in `process_action'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_controller/metal/params_wrapper.rb:249:in `process_action'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activerecord-6.1.4/lib/active_record/railties/controller_runtime.rb:27:in `process_action'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/abstract_controller/base.rb:165:in `process'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionview-6.1.4/lib/action_view/rendering.rb:39:in `process'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_controller/metal.rb:190:in `dispatch'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_controller/metal.rb:254:in `dispatch'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/routing/route_set.rb:50:in `dispatch'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/routing/route_set.rb:33:in `serve'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/journey/router.rb:50:in `block in serve'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/journey/router.rb:32:in `each'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/journey/router.rb:32:in `serve'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/routing/route_set.rb:842:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/omniauth-2.0.4/lib/omniauth/strategy.rb:202:in `call!'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/omniauth-2.0.4/lib/omniauth/strategy.rb:169:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/omniauth-2.0.4/lib/omniauth/strategy.rb:202:in `call!'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/omniauth-2.0.4/lib/omniauth/strategy.rb:169:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/omniauth-2.0.4/lib/omniauth/strategy.rb:202:in `call!'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/omniauth-2.0.4/lib/omniauth/strategy.rb:169:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/omniauth-2.0.4/lib/omniauth/builder.rb:45:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/rails_event_store-2.2.0/lib/rails_event_store/middleware.rb:12:in `block in call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/rails_event_store-2.2.0/lib/rails_event_store/client.rb:28:in `block in with_request_metadata'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/ruby_event_store-2.2.0/lib/ruby_event_store/client.rb:231:in `with_metadata'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/rails_event_store-2.2.0/lib/rails_event_store/client.rb:27:in `with_request_metadata'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/rails_event_store-2.2.0/lib/rails_event_store/middleware.rb:11:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/rack-attack-6.5.0/lib/rack/attack.rb:113:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/sentry-rails-4.6.0/lib/sentry/rails/rescued_exception_interceptor.rb:12:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/rack/agent_hooks.rb:30:in `traced_call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/rack/browser_monitoring.rb:33:in `traced_call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/clearance-2.4.0/lib/clearance/rack_session.rb:23:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/rack-2.2.3/lib/rack/tempfile_reaper.rb:15:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/rack-2.2.3/lib/rack/etag.rb:27:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/rack-2.2.3/lib/rack/conditional_get.rb:27:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/rack-2.2.3/lib/rack/head.rb:12:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/http/permissions_policy.rb:22:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/http/content_security_policy.rb:18:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/rack-2.2.3/lib/rack/session/abstract/id.rb:266:in `context'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/rack-2.2.3/lib/rack/session/abstract/id.rb:260:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/middleware/cookies.rb:689:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activerecord-6.1.4/lib/active_record/migration.rb:601:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activesupport-6.1.4/lib/active_support/callbacks.rb:98:in `run_callbacks'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/middleware/callbacks.rb:26:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/middleware/executor.rb:14:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/middleware/debug_exceptions.rb:29:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/web-console-4.1.0/lib/web_console/middleware.rb:132:in `call_app'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/web-console-4.1.0/lib/web_console/middleware.rb:28:in `block in call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/web-console-4.1.0/lib/web_console/middleware.rb:17:in `catch'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/web-console-4.1.0/lib/web_console/middleware.rb:17:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/chewy-7.2.2/lib/chewy/railtie.rb:21:in `block in call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/chewy-7.2.2/lib/chewy/strategy.rb:57:in `wrap'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/chewy-7.2.2/lib/chewy.rb:144:in `strategy'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/chewy-7.2.2/lib/chewy/railtie.rb:21:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/railties-6.1.4/lib/rails/rack/logger.rb:37:in `call_app'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/railties-6.1.4/lib/rails/rack/logger.rb:26:in `block in call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activesupport-6.1.4/lib/active_support/tagged_logging.rb:99:in `block in tagged'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activesupport-6.1.4/lib/active_support/tagged_logging.rb:37:in `tagged'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activesupport-6.1.4/lib/active_support/tagged_logging.rb:99:in `tagged'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/railties-6.1.4/lib/rails/rack/logger.rb:26:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/middleware/remote_ip.rb:81:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/middleware/request_id.rb:26:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/rack-2.2.3/lib/rack/method_override.rb:24:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/rack-2.2.3/lib/rack/runtime.rb:22:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activesupport-6.1.4/lib/active_support/cache/strategy/local_cache_middleware.rb:29:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/sentry-ruby-core-4.6.0/lib/sentry/rack/capture_exceptions.rb:23:in `block in call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/sentry-ruby-core-4.6.0/lib/sentry/hub.rb:56:in `with_scope'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/sentry-ruby-core-4.6.0/lib/sentry-ruby.rb:168:in `with_scope'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/sentry-ruby-core-4.6.0/lib/sentry/rack/capture_exceptions.rb:14:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/middleware/executor.rb:14:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/middleware/static.rb:24:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/rack-2.2.3/lib/rack/sendfile.rb:110:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/middleware/host_authorization.rb:98:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/rack-mini-profiler-2.3.2/lib/mini_profiler/profiler.rb:384:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/webpacker-5.4.0/lib/webpacker/dev_server_proxy.rb:25:in `perform_request'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/rack-proxy-0.7.0/lib/rack/proxy.rb:63:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/railties-6.1.4/lib/rails/engine.rb:539:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/puma-5.3.2/lib/puma/configuration.rb:249:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/puma-5.3.2/lib/puma/request.rb:77:in `block in handle_request'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/puma-5.3.2/lib/puma/thread_pool.rb:338:in `with_force_shutdown'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/puma-5.3.2/lib/puma/request.rb:76:in `handle_request'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/puma-5.3.2/lib/puma/server.rb:438:in `process_client'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/puma-5.3.2/lib/puma/thread_pool.rb:145:in `block in spawn_thread'
[2021-07-06 10:50:24 -0500 ocha-pc.home (95569)] DEBUG : No cross_process_id configured
[2021-07-06 10:50:24 -0500 ocha-pc.home (95569)] DEBUG : OUTGOING REQUEST HEADERS: #<NewRelic::Agent::HTTPClients::HTTPClientRequest:0x0000000110af4e50>
[2021-07-06 10:50:24 -0500 ocha-pc.home (95569)] WARN : Failed to create trace context payload
[2021-07-06 10:50:24 -0500 ocha-pc.home (95569)] WARN : TypeError: no implicit conversion of nil into String
[2021-07-06 10:50:24 -0500 ocha-pc.home (95569)] DEBUG : Debugging backtrace:
/Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/distributed_tracing/trace_context_payload.rb:115:in `to_s'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/transaction/trace_context.rb:87:in `create_trace_state'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/transaction/trace_context.rb:68:in `insert_trace_context_header'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/transaction/distributed_tracer.rb:76:in `insert_headers'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/transaction/external_request_segment.rb:63:in `add_request_headers'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/httpclient/instrumentation.rb:18:in `with_tracing'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/httpclient/prepend.rb:12:in `do_get_block'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/sniffer-0.4.0/lib/sniffer/adapters/httpclient_adapter.rb:33:in `block in do_get_block_with_sniffer'
  /Users/iuri/.rvm/rubies/ruby-3.0.1/lib/ruby/3.0.0/benchmark.rb:308:in `realtime'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/sniffer-0.4.0/lib/sniffer/adapters/httpclient_adapter.rb:32:in `do_get_block_with_sniffer'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/httpclient/prepend.rb:12:in `block in do_get_block'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/httpclient/instrumentation.rb:21:in `block in with_tracing'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/tracer.rb:371:in `capture_segment_error'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/httpclient/instrumentation.rb:20:in `with_tracing'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/httpclient/prepend.rb:12:in `do_get_block'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/sniffer-0.4.0/lib/sniffer/adapters/httpclient_adapter.rb:33:in `block in do_get_block_with_sniffer'
  /Users/iuri/.rvm/rubies/ruby-3.0.1/lib/ruby/3.0.0/benchmark.rb:308:in `realtime'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/sniffer-0.4.0/lib/sniffer/adapters/httpclient_adapter.rb:32:in `do_get_block_with_sniffer'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/httpclient/prepend.rb:12:in `block in do_get_block'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/httpclient/instrumentation.rb:21:in `block in with_tracing'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/tracer.rb:371:in `capture_segment_error'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/httpclient/instrumentation.rb:20:in `with_tracing'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/httpclient/prepend.rb:12:in `do_get_block'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/httpclient-2.8.3/lib/httpclient.rb:1019:in `block in do_request'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/httpclient-2.8.3/lib/httpclient.rb:1133:in `protect_keep_alive_disconnected'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/httpclient-2.8.3/lib/httpclient.rb:1014:in `do_request'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/httpclient-2.8.3/lib/httpclient.rb:856:in `request'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/faraday-httpclient-1.0.1/lib/faraday/adapter/httpclient.rb:47:in `block in call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/faraday-1.5.0/lib/faraday/adapter.rb:51:in `connection'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/faraday-httpclient-1.0.1/lib/faraday/adapter/httpclient.rb:46:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/faraday-1.5.0/lib/faraday/rack_builder.rb:154:in `build_response'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/faraday-1.5.0/lib/faraday/connection.rb:495:in `run_request'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/elasticsearch-transport-7.13.1/lib/elasticsearch/transport/transport/http/faraday.rb:48:in `block in perform_request'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/elasticsearch-transport-7.13.1/lib/elasticsearch/transport/transport/base.rb:288:in `perform_request'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/elasticsearch-transport-7.13.1/lib/elasticsearch/transport/transport/http/faraday.rb:37:in `perform_request'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/elasticsearch-transport-7.13.1/lib/elasticsearch/transport/client.rb:192:in `perform_request'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/elasticsearch-api-7.13.1/lib/elasticsearch/api/actions/search.rb:104:in `search'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/chewy-7.2.2/lib/chewy/search/request.rb:979:in `block in perform'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activesupport-6.1.4/lib/active_support/notifications.rb:203:in `block in instrument'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activesupport-6.1.4/lib/active_support/notifications/instrumenter.rb:24:in `instrument'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activesupport-6.1.4/lib/active_support/notifications.rb:203:in `instrument'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/chewy-7.2.2/lib/chewy/search/request.rb:978:in `perform'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/chewy-7.2.2/lib/chewy/search/request.rb:105:in `response'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/chewy-7.2.2/lib/chewy/search/request.rb:47:in `hits'
  /Users/iuri/Projects/foo/foo/app/controllers/explorer_controller.rb:10:in `index'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/abstract_controller/base.rb:228:in `process_action'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_controller/metal/rendering.rb:30:in `process_action'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/abstract_controller/callbacks.rb:42:in `block in process_action'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activesupport-6.1.4/lib/active_support/callbacks.rb:117:in `block in run_callbacks'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/ruby_event_store-2.2.0/lib/ruby_event_store/client.rb:231:in `with_metadata'
  /Users/iuri/Projects/foo/foo/app/controllers/application_controller.rb:74:in `use_request_metadata'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activesupport-6.1.4/lib/active_support/callbacks.rb:126:in `block in run_callbacks'
  /Users/iuri/Projects/foo/foo/app/controllers/application_controller.rb:54:in `wrap_in_transaction'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activesupport-6.1.4/lib/active_support/callbacks.rb:126:in `block in run_callbacks'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actiontext-6.1.4/lib/action_text/rendering.rb:20:in `with_renderer'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actiontext-6.1.4/lib/action_text/engine.rb:59:in `block (4 levels) in <class:Engine>'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activesupport-6.1.4/lib/active_support/callbacks.rb:126:in `instance_exec'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activesupport-6.1.4/lib/active_support/callbacks.rb:126:in `block in run_callbacks'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activesupport-6.1.4/lib/active_support/callbacks.rb:137:in `run_callbacks'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/abstract_controller/callbacks.rb:41:in `process_action'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_controller/metal/rescue.rb:22:in `process_action'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_controller/metal/instrumentation.rb:34:in `block in process_action'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activesupport-6.1.4/lib/active_support/notifications.rb:203:in `block in instrument'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activesupport-6.1.4/lib/active_support/notifications/instrumenter.rb:24:in `instrument'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activesupport-6.1.4/lib/active_support/notifications.rb:203:in `instrument'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_controller/metal/instrumentation.rb:33:in `process_action'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_controller/metal/params_wrapper.rb:249:in `process_action'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activerecord-6.1.4/lib/active_record/railties/controller_runtime.rb:27:in `process_action'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/abstract_controller/base.rb:165:in `process'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionview-6.1.4/lib/action_view/rendering.rb:39:in `process'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_controller/metal.rb:190:in `dispatch'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_controller/metal.rb:254:in `dispatch'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/routing/route_set.rb:50:in `dispatch'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/routing/route_set.rb:33:in `serve'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/journey/router.rb:50:in `block in serve'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/journey/router.rb:32:in `each'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/journey/router.rb:32:in `serve'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/routing/route_set.rb:842:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/omniauth-2.0.4/lib/omniauth/strategy.rb:202:in `call!'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/omniauth-2.0.4/lib/omniauth/strategy.rb:169:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/omniauth-2.0.4/lib/omniauth/strategy.rb:202:in `call!'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/omniauth-2.0.4/lib/omniauth/strategy.rb:169:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/omniauth-2.0.4/lib/omniauth/strategy.rb:202:in `call!'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/omniauth-2.0.4/lib/omniauth/strategy.rb:169:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/omniauth-2.0.4/lib/omniauth/builder.rb:45:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/rails_event_store-2.2.0/lib/rails_event_store/middleware.rb:12:in `block in call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/rails_event_store-2.2.0/lib/rails_event_store/client.rb:28:in `block in with_request_metadata'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/ruby_event_store-2.2.0/lib/ruby_event_store/client.rb:231:in `with_metadata'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/rails_event_store-2.2.0/lib/rails_event_store/client.rb:27:in `with_request_metadata'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/rails_event_store-2.2.0/lib/rails_event_store/middleware.rb:11:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/rack-attack-6.5.0/lib/rack/attack.rb:113:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/sentry-rails-4.6.0/lib/sentry/rails/rescued_exception_interceptor.rb:12:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/rack/agent_hooks.rb:30:in `traced_call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/rack/browser_monitoring.rb:33:in `traced_call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/clearance-2.4.0/lib/clearance/rack_session.rb:23:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/rack-2.2.3/lib/rack/tempfile_reaper.rb:15:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/rack-2.2.3/lib/rack/etag.rb:27:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/rack-2.2.3/lib/rack/conditional_get.rb:27:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/rack-2.2.3/lib/rack/head.rb:12:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/http/permissions_policy.rb:22:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/http/content_security_policy.rb:18:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/rack-2.2.3/lib/rack/session/abstract/id.rb:266:in `context'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/rack-2.2.3/lib/rack/session/abstract/id.rb:260:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/middleware/cookies.rb:689:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activerecord-6.1.4/lib/active_record/migration.rb:601:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activesupport-6.1.4/lib/active_support/callbacks.rb:98:in `run_callbacks'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/middleware/callbacks.rb:26:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/middleware/executor.rb:14:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/middleware/actionable_exceptions.rb:18:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/middleware/debug_exceptions.rb:29:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/web-console-4.1.0/lib/web_console/middleware.rb:132:in `call_app'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/web-console-4.1.0/lib/web_console/middleware.rb:28:in `block in call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/web-console-4.1.0/lib/web_console/middleware.rb:17:in `catch'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/web-console-4.1.0/lib/web_console/middleware.rb:17:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/chewy-7.2.2/lib/chewy/railtie.rb:21:in `block in call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/chewy-7.2.2/lib/chewy/strategy.rb:57:in `wrap'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/chewy-7.2.2/lib/chewy.rb:144:in `strategy'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/chewy-7.2.2/lib/chewy/railtie.rb:21:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/railties-6.1.4/lib/rails/rack/logger.rb:37:in `call_app'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/railties-6.1.4/lib/rails/rack/logger.rb:26:in `block in call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activesupport-6.1.4/lib/active_support/tagged_logging.rb:99:in `block in tagged'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activesupport-6.1.4/lib/active_support/tagged_logging.rb:37:in `tagged'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activesupport-6.1.4/lib/active_support/tagged_logging.rb:99:in `tagged'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/railties-6.1.4/lib/rails/rack/logger.rb:26:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/middleware/remote_ip.rb:81:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/middleware/request_id.rb:26:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/rack-2.2.3/lib/rack/method_override.rb:24:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/rack-2.2.3/lib/rack/runtime.rb:22:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/activesupport-6.1.4/lib/active_support/cache/strategy/local_cache_middleware.rb:29:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/sentry-ruby-core-4.6.0/lib/sentry/rack/capture_exceptions.rb:23:in `block in call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/sentry-ruby-core-4.6.0/lib/sentry/hub.rb:56:in `with_scope'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/sentry-ruby-core-4.6.0/lib/sentry-ruby.rb:168:in `with_scope'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/sentry-ruby-core-4.6.0/lib/sentry/rack/capture_exceptions.rb:14:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/middleware/executor.rb:14:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/middleware/static.rb:24:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/rack-2.2.3/lib/rack/sendfile.rb:110:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/actionpack-6.1.4/lib/action_dispatch/middleware/host_authorization.rb:98:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/newrelic_rpm-7.2.0/lib/new_relic/agent/instrumentation/middleware_tracing.rb:101:in `call'
  /Users/iuri/.rvm/gems/ruby-3.0.1/gems/rack-mini-profiler-2.3.2/lib/mini_profiler/profiler.rb:384:in `call'

Steps to Reproduce

I dont have a stand alone demo and I cannot share our application code. Faraday gem is used by chewy and appengine dependencies. I think if you have rails 6 (latest), newrelic_rpm (latest), appengine (latest), chewy (latest) gems, and make a chew search (causes http request to elastic search server), it will result in error. Also, I think you need to have distributed tracing enabled in your newrelic config.

Your Environment

I am running local rails dev env, and I dont have newrelic license set up and I have distributed tracing enabled in newrelic yml config. When running in production with license key, I dont get the error.

@tannalynn
Copy link
Contributor

tannalynn commented Jul 7, 2021

Hello @ocha
Thanks for letting us know about this conflict with the new faraday version. Getting a stack level too deep error is typically related to the incompatibility of Module#prepend and method chaining, and the order things are loaded likely wouldn't help that type of issue. Since you said that changing the httpclient instrumentation config value to use chain instrumentation solves the issue, it sounds like the change they made in this version introduced a new usage of method chaining on the httpclient library which is incompatible with the default agent instrumentation that uses Module#prepend.

However, I am a bit confused by a couple of things, so hopefully you can provide some clarity there.

I'm a bit confused about the provided logs, since I'm not seeing a stack level too deep error in there. It looks like it's multiple warnings for TypeError: no implicit conversion of nil into String errors originating from our distributed tracing. This error can happen when the agent has been unable to make a connection with the new relic server, since we are missing data from that connection. However, this error should be swallowed by the agent and logged (as we see in these logs) and not bubble up to affect the application. I'm not sure how this is related to the stack level too deep errors you're describing? If you could provide some clarity around this, that would be very helpful.

I'm also surprised that the issue doesn't occur in production, only in dev environments. I would expect that the warnings in the logs for that error would only happen when there is no license key (so the agent is unable to connect), but I'm not sure how it is related to the stack level too deep errors.

If you could provide the stacktrace for the stack level too deep error itself that you're seeing, that should help clarify what's going on as well.

@tannalynn tannalynn added the community To tag external issues and PRs submitted by the community label Jul 7, 2021
@iuri-gg
Copy link
Author

iuri-gg commented Jul 7, 2021

Hi @tannalynn . I provided log from newrelic agent, since I thought it would have more useful info. Below is the log from rails sever:

Started GET "/explorer" for 127.0.0.1 at 2021-07-07 12:54:18 -0500
Processing by ExplorerController#index as HTML
  PapersIndex Search (2712.1ms) {:index=>["papers"], :body=>{:size=>15, :from=>0, :query=>{:multi_match=>{:query=>"", :fields=>["title", "abstracts", "doi", "authors"], :fuzziness=>:auto}}}}
Completed 500 Internal Server Error in 2721ms (ActiveRecord: 0.0ms | Allocations: 18043582)


  
SystemStackError (stack level too deep):
  
app/controllers/explorer_controller.rb:10:in `index'
app/controllers/application_controller.rb:74:in `use_request_metadata'
app/controllers/application_controller.rb:54:in `wrap_in_transaction'

Meanwhile newrelic.log prints a lot of repeating messages likes this:

[2021-07-07 12:54:20 -0500 ocha-pc.home (53278)] WARN : Failed to create trace context payload
[2021-07-07 12:54:20 -0500 ocha-pc.home (53278)] WARN : TypeError: no implicit conversion of nil into String
[2021-07-07 12:54:20 -0500 ocha-pc.home (53278)] WARN : Failed to create trace context payload
[2021-07-07 12:54:20 -0500 ocha-pc.home (53278)] WARN : TypeError: no implicit conversion of nil into String
[2021-07-07 12:54:20 -0500 ocha-pc.home (53278)] WARN : Failed to create trace context payload
[2021-07-07 12:54:20 -0500 ocha-pc.home (53278)] WARN : TypeError: no implicit conversion of nil into String
[2021-07-07 12:54:20 -0500 ocha-pc.home (53278)] WARN : Failed to create trace context payload
[2021-07-07 12:54:20 -0500 ocha-pc.home (53278)] WARN : TypeError: no implicit conversion of nil into String
[2021-07-07 12:54:20 -0500 ocha-pc.home (53278)] WARN : Failed to create trace context payload
[2021-07-07 12:54:20 -0500 ocha-pc.home (53278)] WARN : TypeError: no implicit conversion of nil into String

@iuri-gg
Copy link
Author

iuri-gg commented Jul 7, 2021

Here is how rails server log looks when there is no issue:

Started GET "/explorer" for 127.0.0.1 at 2021-07-07 13:03:16 -0500
Processing by ExplorerController#index as HTML
  PapersIndex Search (6.0ms) {:index=>["papers"], :body=>{:size=>15, :from=>0, :query=>{:multi_match=>{:query=>"", :fields=>["title", "abstracts", "doi", "authors"], :fuzziness=>:auto}}}}
  AuthorsIndex Search (2.7ms) {:index=>["authors"], :body=>{:size=>5, :from=>0, :query=>{:multi_match=>{:query=>"", :fields=>["name", "affiliation"], :fuzziness=>:auto}}}}
  Rendering layout layouts/application.html.erb
  Rendering explorer/index.html.erb within layouts/application
  Rendered explorer/index.html.erb within layouts/application (Duration: 0.2ms | Allocations: 96)
  Rendered layouts/_shared_head.html.erb (Duration: 2.1ms | Allocations: 1495)
  Rendered layout layouts/application.html.erb (Duration: 2.7ms | Allocations: 1929)
Completed 200 OK in 15ms (Views: 3.2ms | ActiveRecord: 0.0ms | Allocations: 8556)

@tannalynn
Copy link
Contributor

Seeing those new relic logs where the agent is unable to create a trace context payload is expected if there is no license key, which would prevent the agent from connecting to the server. Those are something I am able to replicate, however I don't see a stack level too deep error at the same time, so I believe those are unrelated.

I see in the rails output, it looks like its giving part of the stack trace for the stack level too deep error

SystemStackError (stack level too deep):
  
app/controllers/explorer_controller.rb:10:in `index'
app/controllers/application_controller.rb:74:in `use_request_metadata'
app/controllers/application_controller.rb:54:in `wrap_in_transaction'

Is it possible to get the full stack trace for this error? The full stacktrace should show what the prepend instrumentation is conflicting with. In your original comment, you mentioned you are able to solve the issue by using the chain instrumentation for HTTPClient, and that this only happens on Faraday 1.5.0. I'm able to add a known prepend conflict for that faraday version so the agent will choose chain when that faraday version is detected, but I would still be curious to see the full stack trace so I can see specifically what in faraday is causing the conflict.

@iuri-gg
Copy link
Author

iuri-gg commented Jul 13, 2021

Seeing those new relic logs where the agent is unable to create a trace context payload is expected if there is no license key, which would prevent the agent from connecting to the server. Those are something I am able to replicate, however I don't see a stack level too deep error at the same time, so I believe those are unrelated.

One thing I wanted to note about those agent errors is that I only get one or two of them when everything is normal (no stack level too deep error). But when the error happens, I get a lot of them in newrelic log.

Is it possible to get the full stack trace for this error?

I am running rails in dev mode with debug log level and unfortunately that is the full log. There is nothing else in the rails logs

@tannalynn
Copy link
Contributor

@ocha That's very interesting. I'm not sure why that would be the case, perhaps it's something related to the stack level too deep error prevents the agent from connecting to the new relic servers, so the trace context payloads are never able to be created? It's hard to say without the full stack trace though, it's unfortunate you're not able to grab it.
But am I correct in understanding that you are able to solve the issue by using the chain instrumentation for HTTPClient? I can look into replicating this issue and adding this as a known conflict to our autodetection so that the agent will use chain instrumentation by default for httpclient when this version of faraday is detected, which would make things simpler for customers using this same combination of gems.
I want to make sure I understand correctly that you aren't still experiencing the issue though after changing your agent configuration? If that's not the case please let me know.

@tannalynn
Copy link
Contributor

I'll be closing this issue, please see #731. That issue covers all stack level too deep errors related to Module#prepend conflicts. I've added a comment for reporting this conflict for us to add in our autodetection of prepend conflicts in future versions.

Thank you for for letting us know about this conflict!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
community To tag external issues and PRs submitted by the community
Projects
Archived in project
Development

No branches or pull requests

2 participants