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

Type error when enabling full mysql2 comment propagation #2852

Closed
tjvc opened this issue May 16, 2023 · 2 comments · Fixed by #2866
Closed

Type error when enabling full mysql2 comment propagation #2852

tjvc opened this issue May 16, 2023 · 2 comments · Fixed by #2866
Assignees
Labels
bug Involves a bug community Was opened by a community member

Comments

@tjvc
Copy link

tjvc commented May 16, 2023

Current behaviour

We have added the following line to our Datadog configuration in our Rails app, per the docs.

c.tracing.instrument :mysql2, comment_propagation: "full"

Now, when our app issues any database statement, we see a type error:

ActiveRecord::StatementInvalid:
  TypeError: can't convert nil into Integer
# /usr/local/bundle/gems/ddtrace-1.11.1/lib/datadog/tracing/distributed/trace_context.rb:116:in `format'

I'm not completely sure, but I think this might be caused by a missing span ID (inserting a debugger at the line above, I can see that the parent_id argument to build_traceparent_string is nil).

Expected behaviour

We were expecting to be able to enable comment propagation without an error, and have DBM traces linked to APM, and vice versa.

Steps to reproduce

We are using ddtrace in a Rails app (6.1.7). Here is our full Datadog configuration:

Datadog.configure do |c|
  c.service = 'api'

  c.tracing.enabled = ENV['DD_AGENT_HOST'].present?

  # Inherits service name from c.service
  c.tracing.instrument :rails
  c.tracing.instrument :aws
  c.tracing.instrument :http
  c.tracing.instrument :graphql
  c.tracing.instrument :mysql2, comment_propagation: "full"

  # service name overrides
  c.tracing.instrument :active_model_serializers, service_name: 'api_active_model_serializers'
  c.tracing.instrument :elasticsearch, service_name: 'api_elasticsearch'
  c.tracing.instrument :redis, service_name: 'api_redis'
  c.tracing.instrument :sidekiq, service_name: 'api_sidekiq', client_service_name: 'api_sidekiq_client'
end

Here is the full stacktrace:

ActiveRecord::StatementInvalid:
  TypeError: can't convert nil into Integer
# /usr/local/bundle/gems/ddtrace-1.11.1/lib/datadog/tracing/distributed/trace_context.rb:116:in `format'
# /usr/local/bundle/gems/ddtrace-1.11.1/lib/datadog/tracing/distributed/trace_context.rb:116:in `build_traceparent_string'
# /usr/local/bundle/gems/ddtrace-1.11.1/lib/datadog/tracing/distributed/trace_context.rb:93:in `build_traceparent'
# /usr/local/bundle/gems/ddtrace-1.11.1/lib/datadog/tracing/contrib/propagation/sql_comment.rb:32:in `prepend_comment'
# /usr/local/bundle/gems/ddtrace-1.11.1/lib/datadog/tracing/contrib/mysql2/instrumentation.rb:49:in `block in query'
# /usr/local/bundle/gems/ddtrace-1.11.1/lib/datadog/tracing/tracer.rb:524:in `skip_trace'
# /usr/local/bundle/gems/ddtrace-1.11.1/lib/datadog/tracing/tracer.rb:137:in `trace'
# /usr/local/bundle/gems/ddtrace-1.11.1/lib/datadog/tracing.rb:18:in `trace'
# /usr/local/bundle/gems/ddtrace-1.11.1/lib/datadog/tracing/contrib/mysql2/instrumentation.rb:25:in `query'
# /usr/local/bundle/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:206:in `block (2 levels) in execute'
# /usr/local/bundle/gems/activesupport-6.1.7.2/lib/active_support/dependencies/interlock.rb:48:in `block in permit_concurrent_loads'
# /usr/local/bundle/gems/activesupport-6.1.7.2/lib/active_support/concurrency/share_lock.rb:187:in `yield_shares'
# /usr/local/bundle/gems/activesupport-6.1.7.2/lib/active_support/dependencies/interlock.rb:47:in `permit_concurrent_loads'
# /usr/local/bundle/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:205:in `block in execute'
# /usr/local/bundle/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/abstract_adapter.rb:696:in `block (2 levels) in log'
# /usr/local/bundle/gems/activesupport-6.1.7.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in `block (2 levels) in synchronize'
# /usr/local/bundle/gems/activesupport-6.1.7.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handle_interrupt'
# /usr/local/bundle/gems/activesupport-6.1.7.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize'
# /usr/local/bundle/gems/activesupport-6.1.7.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `handle_interrupt'
# /usr/local/bundle/gems/activesupport-6.1.7.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize'
# /usr/local/bundle/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/abstract_adapter.rb:695:in `block in log'
# /usr/local/bundle/gems/activesupport-6.1.7.2/lib/active_support/notifications/instrumenter.rb:24:in `instrument'
# /usr/local/bundle/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/abstract_adapter.rb:687:in `log'
# /usr/local/bundle/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:204:in `execute'
# /usr/local/bundle/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/mysql/database_statements.rb:52:in `execute'
# /usr/local/bundle/gems/marginalia-1.11.1/lib/marginalia.rb:71:in `execute_with_marginalia'
# /usr/local/bundle/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:793:in `configure_connection'
# /usr/local/bundle/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/mysql2_adapter.rb:144:in `configure_connection'
# /usr/local/bundle/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/mysql2_adapter.rb:53:in `initialize'
# /usr/local/bundle/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/mysql2_adapter.rb:22:in `new'
# /usr/local/bundle/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/mysql2_adapter.rb:22:in `mysql2_connection'
# /usr/local/bundle/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:882:in `public_send'
# /usr/local/bundle/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:882:in `new_connection'
# /usr/local/bundle/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:926:in `checkout_new_connection'
# /usr/local/bundle/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:905:in `try_to_checkout_new_connection'
# /usr/local/bundle/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:866:in `acquire_connection'
# /usr/local/bundle/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:588:in `checkout'
# /usr/local/bundle/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:428:in `connection'
# /usr/local/bundle/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:1128:in `retrieve_connection'
# /usr/local/bundle/gems/activerecord-6.1.7.2/lib/active_record/connection_handling.rb:327:in `retrieve_connection'
# /usr/local/bundle/gems/activerecord-6.1.7.2/lib/active_record/connection_handling.rb:283:in `connection'
# /usr/local/bundle/gems/activerecord-6.1.7.2/lib/active_record/internal_metadata.rb:17:in `enabled?'
# /usr/local/bundle/gems/activerecord-6.1.7.2/lib/active_record/tasks/database_tasks.rb:354:in `schema_up_to_date?'
# /usr/local/bundle/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:633:in `block in load_schema_if_pending!'
# /usr/local/bundle/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:632:in `all?'
# /usr/local/bundle/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:632:in `load_schema_if_pending!'
# /usr/local/bundle/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:653:in `block in maintain_test_schema!'
# /usr/local/bundle/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:906:in `suppress_messages'
# /usr/local/bundle/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:658:in `method_missing'
# /usr/local/bundle/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:653:in `maintain_test_schema!'
# ./spec/rails_helper.rb:24:in `<main>'
# /usr/local/bundle/gems/bootsnap-1.12.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
# /usr/local/bundle/gems/bootsnap-1.12.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
# /usr/local/bundle/gems/zeitwerk-2.6.0/lib/zeitwerk/kernel.rb:35:in `require'
# ./spec/models/account_spec.rb:1:in `<main>'
# /usr/local/bundle/gems/bootsnap-1.12.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:39:in `load'
# /usr/local/bundle/gems/bootsnap-1.12.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:39:in `load'
# /usr/local/bundle/gems/bootsnap-1.12.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:39:in `load'
# /usr/local/bundle/gems/bootsnap-1.12.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:39:in `load'
# /usr/local/bundle/gems/spring-commands-rspec-1.0.4/lib/spring/commands/rspec.rb:18:in `call'
# /usr/local/bundle/gems/activesupport-6.1.7.2/lib/active_support/fork_tracker.rb:10:in `block in fork'
# /usr/local/bundle/gems/activesupport-6.1.7.2/lib/active_support/fork_tracker.rb:10:in `block in fork'
# /usr/local/bundle/gems/activesupport-6.1.7.2/lib/active_support/fork_tracker.rb:8:in `fork'
# /usr/local/bundle/gems/activesupport-6.1.7.2/lib/active_support/fork_tracker.rb:8:in `fork'
# /usr/local/bundle/gems/activesupport-6.1.7.2/lib/active_support/fork_tracker.rb:27:in `fork'
# /usr/local/bundle/gems/activesupport-6.1.7.2/lib/active_support/fork_tracker.rb:8:in `fork'
# /usr/local/bundle/gems/activesupport-6.1.7.2/lib/active_support/fork_tracker.rb:27:in `fork'
# -e:1:in `<main>'
# ------------------
# --- Caused by: ---
# TypeError:
#   can't convert nil into Integer
#   /usr/local/bundle/gems/ddtrace-1.11.1/lib/datadog/tracing/distributed/trace_context.rb:116:in `format'

Environment

  • ddtrace version: 1.11.1
  • Configuration block (Datadog.configure ...): See above
  • Ruby version: 3.1
  • Operating system: Debian (Bullseye)
  • Relevant library versions: rails 6.1.7, mysql2 0.5.3
@tjvc tjvc added bug Involves a bug community Was opened by a community member labels May 16, 2023
@liaden
Copy link

liaden commented May 16, 2023

I am seeing the same issue with postgres as well:

Callstack:

/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/ddtrace-1.11.1/lib/datadog/tracing/distributed/trace_context.rb:116:in `format'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/ddtrace-1.11.1/lib/datadog/tracing/distributed/trace_context.rb:116:in `build_traceparent_string'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/ddtrace-1.11.1/lib/datadog/tracing/distributed/trace_context.rb:93:in `build_traceparent'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/ddtrace-1.11.1/lib/datadog/tracing/contrib/propagation/sql_comment.rb:32:in `prepend_comment'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/ddtrace-1.11.1/lib/datadog/tracing/contrib/pg/instrumentation.rb:99:in `block in trace'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/ddtrace-1.11.1/lib/datadog/tracing/tracer.rb:524:in `skip_trace'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/ddtrace-1.11.1/lib/datadog/tracing/tracer.rb:137:in `trace'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/ddtrace-1.11.1/lib/datadog/tracing.rb:18:in `trace'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/ddtrace-1.11.1/lib/datadog/tracing/contrib/pg/instrumentation.rb:86:in `trace'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/ddtrace-1.11.1/lib/datadog/tracing/contrib/pg/instrumentation.rb:43:in `async_exec'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/activerecord-6.1.7.3/lib/active_record/connection_adapters/postgresql/database_statements.rb:49:in `block (2 levels) in execute'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/activesupport-6.1.7.3/lib/active_support/dependencies/interlock.rb:48:in `block in permit_concurrent_loads'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/activesupport-6.1.7.3/lib/active_support/concurrency/share_lock.rb:187:in `yield_shares'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/activesupport-6.1.7.3/lib/active_support/dependencies/interlock.rb:47:in `permit_concurrent_loads'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/activerecord-6.1.7.3/lib/active_record/connection_adapters/postgresql/database_statements.rb:48:in `block in execute'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/activerecord-6.1.7.3/lib/active_record/connection_adapters/abstract_adapter.rb:696:in `block (2 levels) in log'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/activesupport-6.1.7.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in `block (2 levels) in synchronize'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/activesupport-6.1.7.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handle_interrupt'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/activesupport-6.1.7.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/activesupport-6.1.7.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `handle_interrupt'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/activesupport-6.1.7.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/activerecord-6.1.7.3/lib/active_record/connection_adapters/abstract_adapter.rb:695:in `block in log'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/activesupport-6.1.7.3/lib/active_support/notifications/instrumenter.rb:24:in `instrument'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/activerecord-6.1.7.3/lib/active_record/connection_adapters/abstract_adapter.rb:687:in `log'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/activerecord-6.1.7.3/lib/active_record/connection_adapters/postgresql/database_statements.rb:47:in `execute'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/marginalia-1.11.1/lib/marginalia.rb:71:in `execute_with_marginalia'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/activerecord-6.1.7.3/lib/active_record/connection_adapters/postgresql/schema_statements.rb:243:in `client_min_messages='
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/activerecord-6.1.7.3/lib/active_record/connection_adapters/postgresql_adapter.rb:768:in `configure_connection'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/activerecord-6.1.7.3/lib/active_record/connection_adapters/postgresql_adapter.rb:256:in `initialize'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/activerecord-6.1.7.3/lib/active_record/connection_adapters/postgresql_adapter.rb:36:in `new'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/activerecord-6.1.7.3/lib/active_record/connection_adapters/postgresql_adapter.rb:36:in `postgresql_connection'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/activerecord-6.1.7.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:882:in `public_send'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/activerecord-6.1.7.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:882:in `new_connection'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/activerecord-6.1.7.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:926:in `checkout_new_connection'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/activerecord-6.1.7.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:905:in `try_to_checkout_new_connection'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/activerecord-6.1.7.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:866:in `acquire_connection'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/activerecord-6.1.7.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:588:in `checkout'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/activerecord-6.1.7.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:428:in `connection'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/activerecord-6.1.7.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:1128:in `retrieve_connection'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/activerecord-6.1.7.3/lib/active_record/connection_handling.rb:327:in `retrieve_connection'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/activerecord-6.1.7.3/lib/active_record/connection_handling.rb:283:in `connection'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/activerecord-6.1.7.3/lib/active_record/tasks/database_tasks.rb:237:in `migrate'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/strong_migrations-1.4.4/lib/strong_migrations/database_tasks.rb:5:in `migrate'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/activerecord-6.1.7.3/lib/active_record/railties/databases.rake:92:in `block (3 levels) in <top (required)>'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/activerecord-6.1.7.3/lib/active_record/railties/databases.rake:90:in `each'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/activerecord-6.1.7.3/lib/active_record/railties/databases.rake:90:in `block (2 levels) in <top (required)>'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/rake-13.0.6/lib/rake/task.rb:281:in `block in execute'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/rake-13.0.6/lib/rake/task.rb:281:in `each'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/rake-13.0.6/lib/rake/task.rb:281:in `execute'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/bugsnag-6.25.2/lib/bugsnag/integrations/rake.rb:20:in `execute'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/ddtrace-1.11.1/lib/datadog/tracing/contrib/rake/instrumentation.rb:30:in `execute'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/rake-13.0.6/lib/rake/task.rb:219:in `block in invoke_with_call_chain'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/rake-13.0.6/lib/rake/task.rb:199:in `synchronize'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/rake-13.0.6/lib/rake/task.rb:199:in `invoke_with_call_chain'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/rake-13.0.6/lib/rake/task.rb:188:in `invoke'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/rake-13.0.6/lib/rake/application.rb:160:in `invoke_task'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/rake-13.0.6/lib/rake/application.rb:116:in `block (2 levels) in top_level'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/rake-13.0.6/lib/rake/application.rb:116:in `each'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/rake-13.0.6/lib/rake/application.rb:116:in `block in top_level'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/rake-13.0.6/lib/rake/application.rb:125:in `run_with_threads'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/rake-13.0.6/lib/rake/application.rb:110:in `top_level'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/railties-6.1.7.3/lib/rails/commands/rake/rake_command.rb:24:in `block (2 levels) in perform'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/rake-13.0.6/lib/rake/application.rb:186:in `standard_exception_handling'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/railties-6.1.7.3/lib/rails/commands/rake/rake_command.rb:24:in `block in perform'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/rake-13.0.6/lib/rake/rake_module.rb:59:in `with_application'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/railties-6.1.7.3/lib/rails/commands/rake/rake_command.rb:18:in `perform'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/railties-6.1.7.3/lib/rails/command.rb:50:in `invoke'
/Users/joel.johnson/.asdf/installs/ruby/2.7.3/lib/ruby/gems/2.7.0/gems/railties-6.1.7.3/lib/rails/commands.rb:18:in `<top (required)>'

I upgraded some gems to try to work around it:

  • ddtrace: 1.9.0 -> 1.11.1
  • pg: 1.5.1 -> 1.5.3

Environment:
Ruby Version: 2.7.3
OS: MacOS 12.2.1

Workaround

If I set c.tracing.enabled = true, my tests pass. If I set c.tracing.enabled = false, things fail. I can workaround this currently with:

c.tracing.instrument(:pg, comment_propogation: 'full') if c.tracing.enabled

@TonyCTHsu
Copy link
Contributor

👋 @tjvc @liaden Thanks for reporting! I will be looking into this

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Involves a bug community Was opened by a community member
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants