Tracer Version(s)
2.27.0, 2.29.0
Ruby Version(s)
ruby 3.4.9 (2026-03-11 revision 76cca827ab) +YJIT +PRISM [x86_64-linux]
Relevent Library and Version(s)
rails 7.2.2.2
Bug Report
We're seeing occasional segmentation fault errors pointing to the CachingResolver, usually after hours of uptime, ever since we upgraded from ddtrace (version 1) to datadog gem (version 2). We've upgraded ruby from 3.3.4 to 3.4.9, but it didn't make much difference.
Reproduction Code
No response
Configuration Block
Please note that we were trying a few things to fix the CachingResolver segfault (like the @cache_mutex here). That's why the trace doesn't point to lib/datadog/tracing/contrib/configuration/resolver.rb, but to our initializer instead (L87 was the if @cache.key?(value)).
# frozen_string_literal: true
require 'sidekiq/middleware/datadog_unit_job_enhancer'
if ENV.fetch('DD_TRACE_ENABLED', 'true').casecmp('true').zero?
require 'active_support/notifications'
require 'datadog'
Datadog.configure do |config|
config.agent.host = ENV.fetch('DD_AGENT_HOST', 'localhost')
config.runtime_metrics.enabled = true
config.tracing.instrument :rails
config.tracing.instrument :sidekiq, service_name: 'sidekiq'
config.tracing.instrument :ethon do |excon|
excon.split_by_domain = true
end
config.tracing.instrument :faraday do |excon|
excon.split_by_domain = true
end
config.tracing.partial_flush.enabled = true
config.remote.enabled = false
config.tracing.instrument :rack, headers: {
request: %w[
cf-ray
x-request-id
content-type
content-length
intigritixsmart
host
user-agent
sth-clientappid
x-forwarded-for
accept
],
response: %w[
content-type
content-length
x-request-id
]
}
end
Sidekiq.configure_server do |config|
config.server_middleware do |chain|
chain.add ::Sidekiq::Middleware::DatadogUnitJobEnhancer
end
config.client_middleware do |chain|
chain.add ::Sidekiq::Middleware::DatadogUnitJobEnhancer
end
end
Sidekiq.configure_client do |config|
config.client_middleware do |chain|
chain.add ::Sidekiq::Middleware::DatadogUnitJobEnhancer
end
end
end
module Datadog
module Tracing
module Contrib
module Configuration
# The {CachingResolver} is a mixin that provides caching functionality to the {Resolver} class.
# This is useful when {Resolver#resolve} values that are expensive to compute.
# This is a size-limited, FIFO cache.
#
# @example
# class MyResolver < Datadog::Tracing::Contrib::Configuration::Resolver
# prepend Datadog::Tracing::Contrib::Configuration::CachingResolver
# # ...
# end
module CachingResolver
# @param [Integer] cache_limit maximum number of entries to cache
def initialize(*args, cache_limit: 200)
super(*args)
@cache_limit = cache_limit
@cache = {}
@cache_mutex = Mutex.new
end
# (see Resolver#resolve)
def resolve(value)
@cache_mutex.synchronize do
if @cache.key?(value)
@cache[value]
else
if @cache.size >= @cache_limit
@cache.shift # Remove the oldest entry if cache is full
end
@cache[value] = super
end
end
end
# (see Resolver#add)
def add(matcher, value)
@cache_mutex.synchronize do
@cache.clear # Clear cache when new matcher is added
super
end
end
# Clears the internal cache.
def reset_cache
@cache_mutex.synchronize do
@cache.clear
end
end
end
end
end
end
end
Error Logs
/usr/local/bundle/gems/activerecord-7.2.2.2/lib/active_record/attribute_methods.rb:465: [BUG] Segmentation fault at 0x0000000000000059
ruby 3.4.9 (2026-03-11 revision 76cca827ab) +YJIT +PRISM [x86_64-linux]
-- Control frame information -----------------------------------------------
c:0197 p:0009 s:1243 e:001241 METHOD /usr/local/bundle/gems/activerecord-7.2.2.2/lib/active_record/attribute_methods.rb:465 [FINISH]
c:0196 p:---- s:1236 e:001235 CFUNC :respond_to?
c:0195 p:0012 s:1230 e:001229 METHOD /usr/local/bundle/gems/activemodel-7.2.2.2/lib/active_model/attribute_methods.rb:529
c:0194 p:0012 s:1224 e:001223 METHOD /usr/local/bundle/gems/activerecord-7.2.2.2/lib/active_record/attribute_methods.rb:291 [FINISH]
c:0193 p:---- s:1218 e:001217 CFUNC :eql?
c:0192 p:---- s:1215 e:001214 CFUNC :key?
c:0191 p:0008 s:1210 e:001209 BLOCK /srv/api/config/initializers/datadog.rb:87 [FINISH]
c:0190 p:---- s:1207 e:001206 CFUNC :synchronize
c:0189 p:0006 s:1203 e:001202 METHOD /srv/api/config/initializers/datadog.rb:86
c:0188 p:0019 s:1198 e:001197 METHOD /usr/local/bundle/gems/datadog-2.29.0/lib/datadog/tracing/contrib/configurable.rb:34
c:0187 p:0020 s:1193 e:001192 METHOD /usr/local/bundle/gems/datadog-2.29.0/lib/datadog/tracing/contrib/extensions.rb:211
c:0186 p:0030 s:1186 e:001185 METHOD /usr/local/bundle/gems/datadog-2.29.0/lib/datadog/tracing/contrib/active_record/events/sql.rb:35 [FINISH]
c:0185 p:---- s:1172 e:001171 CFUNC :call
c:0184 p:0016 s:1164 e:001163 METHOD /usr/local/bundle/gems/datadog-2.29.0/lib/datadog/tracing/contrib/active_support/notifications/subscription.rb:125
c:0183 p:0066 s:1155 e:001154 METHOD /usr/local/bundle/gems/datadog-2.29.0/lib/datadog/tracing/contrib/active_support/notifications/subscription.rb:90
c:0182 p:0023 s:1146 e:001145 METHOD /usr/local/bundle/gems/datadog-2.29.0/lib/datadog/tracing/contrib/active_support/notifications/subscription.rb:34
c:0181 p:0010 s:1139 e:001138 BLOCK /usr/local/bundle/gems/activesupport-7.2.2.2/lib/active_support/notifications/fanout.rb:156
c:0180 p:0005 s:1135 e:001134 BLOCK /usr/local/bundle/gems/activesupport-7.2.2.2/lib/active_support/notifications/fanout.rb:25
c:0179 p:0027 s:1130 e:001129 METHOD <internal:array>:228
c:0178 p:0008 s:1124 e:001123 METHOD /usr/local/bundle/gems/activesupport-7.2.2.2/lib/active_support/notifications/fanout.rb:24
c:0177 p:0010 s:1118 e:001117 METHOD /usr/local/bundle/gems/activesupport-7.2.2.2/lib/active_support/notifications/fanout.rb:122
c:0176 p:0004 s:1113 e:001112 METHOD /usr/local/bundle/gems/activesupport-7.2.2.2/lib/active_support/notifications/fanout.rb:155
c:0175 p:0013 s:1106 e:001105 BLOCK /usr/local/bundle/gems/activesupport-7.2.2.2/lib/active_support/notifications/fanout.rb:246
c:0174 p:0005 s:1102 e:001101 BLOCK /usr/local/bundle/gems/activesupport-7.2.2.2/lib/active_support/notifications/fanout.rb:25
c:0173 p:0027 s:1097 e:001096 METHOD <internal:array>:228
c:0172 p:0008 s:1091 e:001090 METHOD /usr/local/bundle/gems/activesupport-7.2.2.2/lib/active_support/notifications/fanout.rb:24
c:0171 p:0018 s:1085 e:001084 METHOD /usr/local/bundle/gems/activesupport-7.2.2.2/lib/active_support/notifications/fanout.rb:245
c:0170 p:0017 s:1081 e:001080 METHOD /usr/local/bundle/gems/activesupport-7.2.2.2/lib/active_support/notifications/instrumenter.rb:56 [FINISH]
c:0169 p:0047 s:1073 e:001072 METHOD /usr/local/bundle/gems/activerecord-7.2.2.2/lib/active_record/connection_adapters/abstract_adapter.rb:1119 [FINISH]
c:0168 p:0010 s:1060 e:001059 METHOD /usr/local/bundle/gems/activerecord-7.2.2.2/lib/active_record/connection_adapters/trilogy/database_statements.rb:38
c:0167 p:0038 s:1050 e:001049 METHOD /usr/local/bundle/gems/activerecord-7.2.2.2/lib/active_record/connection_adapters/trilogy/database_statements.rb:12
c:0166 p:0093 s:1038 e:001037 METHOD /usr/local/bundle/gems/activerecord-7.2.2.2/lib/active_record/connection_adapters/abstract/database_statements.rb:647
c:0165 p:0064 s:1025 e:001024 METHOD /usr/local/bundle/gems/activerecord-7.2.2.2/lib/active_record/connection_adapters/abstract/database_statements.rb:73 [FINISH]
c:0164 p:0016 s:1013 e:001012 BLOCK /usr/local/bundle/gems/activerecord-7.2.2.2/lib/active_record/connection_adapters/abstract/query_cache.rb:248
c:0163 p:0007 s:1010 e:001009 BLOCK /usr/local/bundle/gems/activerecord-7.2.2.2/lib/active_record/connection_adapters/abstract/query_cache.rb:286
c:0162 p:0077 s:1007 e:001003 METHOD /usr/local/bundle/gems/activerecord-7.2.2.2/lib/active_record/connection_adapters/abstract/query_cache.rb:80
c:0161 p:0008 s:0998 e:000997 BLOCK /usr/local/bundle/gems/activerecord-7.2.2.2/lib/active_record/connection_adapters/abstract/query_cache.rb:284
c:0160 p:0002 s:0995 e:000994 METHOD /usr/local/bundle/gems/activesupport-7.2.2.2/lib/active_support/concurrency/null_lock.rb:9
c:0159 p:0031 s:0991 e:000990 METHOD /usr/local/bundle/gems/activerecord-7.2.2.2/lib/active_record/connection_adapters/abstract/query_cache.rb:283
c:0158 p:0114 s:0981 e:000980 METHOD /usr/local/bundle/gems/activerecord-7.2.2.2/lib/active_record/connection_adapters/abstract/query_cache.rb:248
c:0157 p:0032 s:0968 e:000967 METHOD /usr/local/bundle/gems/activerecord-7.2.2.2/lib/active_record/querying.rb:70 [FINISH]
c:0156 p:0013 s:0957 e:000956 BLOCK /usr/local/bundle/gems/activerecord-7.2.2.2/lib/active_record/relation.rb:1431
c:0155 p:0065 s:0953 e:000952 METHOD /usr/local/bundle/gems/activerecord-7.2.2.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:421
c:0154 p:0011 s:0945 e:000944 METHOD /usr/local/bundle/gems/activerecord-7.2.2.2/lib/active_record/connection_handling.rb:296 [FINISH]
c:0153 p:0030 s:0938 e:000937 BLOCK /usr/local/bundle/gems/activerecord-7.2.2.2/lib/active_record/relation.rb:1430
c:0152 p:0015 s:0935 e:000934 METHOD /usr/local/bundle/gems/activerecord-7.2.2.2/lib/active_record/relation.rb:1452 [FINISH]
c:0151 p:0025 s:0930 e:000929 METHOD /usr/local/bundle/gems/activerecord-7.2.2.2/lib/active_record/relation.rb:1414 [FINISH]
c:0150 p:0024 s:0924 e:000923 BLOCK /usr/local/bundle/gems/activerecord-7.2.2.2/lib/active_record/relation.rb:1392
c:0149 p:0015 s:0918 e:000917 METHOD /usr/local/bundle/gems/activerecord-7.2.2.2/lib/active_record/relation.rb:1452 [FINISH]
c:0148 p:0004 s:0913 e:000912 METHOD /usr/local/bundle/gems/activerecord-7.2.2.2/lib/active_record/relation.rb:1386 [FINISH]
c:0147 p:0019 s:0908 e:000907 METHOD /usr/local/bundle/gems/activerecord-7.2.2.2/lib/active_record/relation.rb:1167 [FINISH]
c:0146 p:0003 s:0903 e:000902 METHOD /usr/local/bundle/gems/activerecord-7.2.2.2/lib/active_record/relation.rb:336 [FINISH]
c:0145 p:0024 s:0899 e:000898 METHOD /usr/local/bundle/gems/activerecord-7.2.2.2/lib/active_record/relation/finder_methods.rb:587 [FINISH]
c:0144 p:0016 s:0895 e:000894 METHOD /usr/local/bundle/gems/activerecord-7.2.2.2/lib/active_record/relation/finder_methods.rb:129 [FINISH]
c:0143 p:0055 s:0890 e:000889 METHOD /usr/local/bundle/gems/activerecord-7.2.2.2/lib/active_record/relation/finder_methods.rb:535 [FINISH]
c:0142 p:0154 s:0883 e:000882 METHOD /usr/local/bundle/gems/activerecord-7.2.2.2/lib/active_record/relation/finder_methods.rb:514 [FINISH]
c:0141 p:0021 s:0874 e:000873 METHOD /usr/local/bundle/gems/activerecord-7.2.2.2/lib/active_record/relation/finder_methods.rb:100 [FINISH]
c:0140 p:0012 s:0869 e:000868 METHOD /usr/local/bundle/gems/activerecord-7.2.2.2/lib/active_record/querying.rb:24 [FINISH]
c:0139 p:0043 s:0861 e:000860 METHOD /usr/local/bundle/gems/activerecord-7.2.2.2/lib/active_record/core.rb:261
c:0138 p:0010 s:0855 e:000854 METHOD /usr/local/bundle/gems/globalid-1.0.0/lib/global_id/locator.rb:130
c:0137 p:0006 s:0850 e:000849 BLOCK /usr/local/bundle/gems/globalid-1.0.0/lib/global_id/locator.rb:155
c:0136 p:0002 s:0847 e:000846 BLOCK /usr/local/bundle/gems/globalid-1.0.0/lib/global_id/locator.rb:165 [FINISH]
c:0135 p:0052 s:0844 e:000843 METHOD /usr/local/bundle/gems/activerecord-7.2.2.2/lib/active_record/relation.rb:1355 [FINISH]
c:0134 p:0052 s:0835 e:000834 METHOD /usr/local/bundle/gems/activerecord-7.2.2.2/lib/active_record/relation.rb:541
c:0133 p:0014 s:0827 e:000826 METHOD /usr/local/bundle/gems/activerecord-7.2.2.2/lib/active_record/scoping/default.rb:51
c:0132 p:0013 s:0822 e:000821 METHOD /usr/local/bundle/gems/globalid-1.0.0/lib/global_id/locator.rb:165
c:0131 p:0008 s:0817 e:000816 METHOD /usr/local/bundle/gems/globalid-1.0.0/lib/global_id/locator.rb:155
c:0130 p:0039 s:0812 e:000811 METHOD /usr/local/bundle/gems/globalid-1.0.0/lib/global_id/locator.rb:17
c:0129 p:0010 s:0806 e:000805 METHOD /usr/local/bundle/gems/activejob-7.2.2.2/lib/active_job/arguments.rb:134
c:0128 p:0108 s:0801 e:000800 METHOD /usr/local/bundle/gems/activejob-7.2.2.2/lib/active_job/arguments.rb:118
c:0127 p:0005 s:0796 e:000795 BLOCK /usr/local/bundle/gems/activejob-7.2.2.2/lib/active_job/arguments.rb:148 [FINISH]
c:0126 p:---- s:0792 e:000791 CFUNC :transform_values
c:0125 p:0005 s:0788 e:000787 METHOD /usr/local/bundle/gems/activejob-7.2.2.2/lib/active_job/arguments.rb:148
c:0124 p:0128 s:0781 e:000780 METHOD /usr/local/bundle/gems/activejob-7.2.2.2/lib/active_job/arguments.rb:122
c:0123 p:0005 s:0776 e:000775 BLOCK /usr/local/bundle/gems/activejob-7.2.2.2/lib/active_job/arguments.rb:43 [FINISH]
c:0122 p:0034 s:0772 e:000770 METHOD <internal:array>:248
c:0121 p:0005 s:0764 e:000763 METHOD /usr/local/bundle/gems/activejob-7.2.2.2/lib/active_job/arguments.rb:43
c:0120 p:0006 s:0759 e:000758 METHOD /usr/local/bundle/gems/activejob-7.2.2.2/lib/active_job/core.rb:195
c:0119 p:0011 s:0754 e:000753 METHOD /usr/local/bundle/gems/activejob-7.2.2.2/lib/active_job/core.rb:185
c:0118 p:0018 s:0750 e:000749 METHOD /usr/local/bundle/gems/activejob-7.2.2.2/lib/active_job/execution.rb:49
c:0117 p:0004 s:0744 e:000743 BLOCK /usr/local/bundle/gems/activejob-7.2.2.2/lib/active_job/instrumentation.rb:26
c:0116 p:0011 s:0741 e:000740 BLOCK /usr/local/bundle/gems/activerecord-7.2.2.2/lib/active_record/railties/job_runtime.rb:13 [FINISH]
c:0115 p:0011 s:0736 e:000734 BLOCK /usr/local/bundle/gems/activejob-7.2.2.2/lib/active_job/instrumentation.rb:40 [FINISH]
c:0114 p:0010 s:0731 e:000730 BLOCK /usr/local/bundle/gems/activesupport-7.2.2.2/lib/active_support/notifications.rb:210
c:0113 p:0027 s:0728 e:000727 METHOD /usr/local/bundle/gems/activesupport-7.2.2.2/lib/active_support/notifications/instrumenter.rb:58
c:0112 p:0023 s:0720 e:000719 METHOD /usr/local/bundle/gems/activesupport-7.2.2.2/lib/active_support/notifications.rb:210
c:0111 p:0039 s:0714 e:000713 METHOD /usr/local/bundle/gems/activejob-7.2.2.2/lib/active_job/instrumentation.rb:39
c:0110 p:0025 s:0707 E:0018f8 METHOD /usr/local/bundle/gems/activerecord-7.2.2.2/lib/active_record/railties/job_runtime.rb:11
c:0109 p:0006 s:0700 E:0016a0 METHOD /usr/local/bundle/gems/activejob-7.2.2.2/lib/active_job/instrumentation.rb:26
c:0108 p:0004 s:0696 e:000695 BLOCK /usr/local/bundle/gems/activejob-7.2.2.2/lib/active_job/logging.rb:32
c:0107 p:0037 s:0693 e:000692 METHOD /usr/local/bundle/gems/activejob-7.2.2.2/lib/active_job/logging.rb:41
c:0106 p:0012 s:0687 e:000686 METHOD /usr/local/bundle/gems/activejob-7.2.2.2/lib/active_job/logging.rb:32
c:0105 p:0034 s:0683 e:000682 METHOD /usr/local/bundle/gems/datadog-2.29.0/lib/datadog/tracing/contrib/active_job/log_injection.rb:30
c:0104 p:0011 s:0679 e:000678 BLOCK /usr/local/bundle/gems/activejob-7.2.2.2/lib/active_job/execution.rb:29 [FINISH]
c:0103 p:0048 s:0675 e:000673 BLOCK /usr/local/bundle/gems/activesupport-7.2.2.2/lib/active_support/callbacks.rb:121 [FINISH]
c:0102 p:0004 s:0665 e:000663 BLOCK /usr/local/bundle/gems/activejob-7.2.2.2/lib/active_job/railtie.rb:79
c:0101 p:0008 s:0661 e:000660 BLOCK /usr/local/bundle/gems/activesupport-7.2.2.2/lib/active_support/reloader.rb:77
c:0100 p:0016 s:0657 e:000656 METHOD /usr/local/bundle/gems/activesupport-7.2.2.2/lib/active_support/execution_wrapper.rb:87 [FINISH]
c:0099 p:0016 s:0649 e:000648 METHOD /usr/local/bundle/gems/activesupport-7.2.2.2/lib/active_support/reloader.rb:74
c:0098 p:0008 s:0644 e:000643 BLOCK /usr/local/bundle/gems/activejob-7.2.2.2/lib/active_job/railtie.rb:78 [FINISH]
c:0097 p:---- s:0639 e:000638 CFUNC :instance_exec
c:0096 p:0127 s:0633 e:000632 BLOCK /usr/local/bundle/gems/activesupport-7.2.2.2/lib/active_support/callbacks.rb:130 [FINISH]
c:0095 p:0110 s:0624 E:0024e0 METHOD /usr/local/bundle/gems/activesupport-7.2.2.2/lib/active_support/callbacks.rb:141
c:0094 p:0007 s:0613 E:000fb8 METHOD /usr/local/bundle/gems/activejob-7.2.2.2/lib/active_job/execution.rb:27
c:0093 p:0015 s:0608 e:000607 METHOD /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/rails.rb:13
c:0092 p:0008 s:0603 e:000602 METHOD /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:220
c:0091 p:0012 s:0597 e:000596 BLOCK /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:185 [FINISH]
c:0090 p:0012 s:0594 e:000593 METHOD /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:180
c:0089 p:0016 s:0586 e:000585 BLOCK /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:183
c:0088 p:0029 s:0583 e:000582 METHOD /usr/local/bundle/bundler/gems/smart-logger-ec314ac0e204/lib/smart_logger/patches/sidekiq/server_middleware.rb:39
c:0087 p:0029 s:0577 e:000576 METHOD /usr/local/bundle/bundler/gems/smart-logger-ec314ac0e204/lib/smart_logger/patches/sidekiq/server_middleware.rb:26
c:0086 p:0016 s:0571 e:000570 METHOD /usr/local/bundle/bundler/gems/smart-logger-ec314ac0e204/lib/smart_logger/patches/sidekiq/server_middleware.rb:76
c:0085 p:0026 s:0563 e:000562 METHOD /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:182
c:0084 p:0016 s:0555 e:000554 BLOCK /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:183
c:0083 p:0033 s:0552 e:000551 METHOD /srv/api/lib/sidekiq/middleware/server/set_communication_state_stash.rb:14
c:0082 p:0026 s:0544 e:000543 METHOD /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:182
c:0081 p:0016 s:0536 e:000535 BLOCK /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:183
c:0080 p:0032 s:0533 e:000532 METHOD /usr/local/bundle/gems/paper_trail-15.2.0/lib/paper_trail/request.rb:85
c:0079 p:0029 s:0527 e:000526 METHOD /usr/local/bundle/gems/paper_trail-15.2.0/lib/paper_trail.rb:81
c:0078 p:0045 s:0521 e:000520 METHOD /srv/api/lib/sidekiq/middleware/server/set_controller_info.rb:12
c:0077 p:0026 s:0512 e:000511 METHOD /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:182
c:0076 p:0016 s:0504 e:000503 BLOCK /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:183
c:0075 p:0102 s:0501 e:000500 METHOD /srv/api/lib/sidekiq/middleware/server/set_current_user.rb:18
c:0074 p:0026 s:0488 e:000487 METHOD /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:182
c:0073 p:0016 s:0480 e:000479 BLOCK /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:183
c:0072 p:0030 s:0477 e:000476 METHOD /srv/api/lib/sidekiq/middleware/server/never_fail_on_these_exceptions.rb:22
c:0071 p:0026 s:0468 e:000467 METHOD /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:182
c:0070 p:0016 s:0460 e:000459 BLOCK /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:183 [FINISH]
c:0069 p:0046 s:0457 E:001de0 METHOD /usr/local/bundle/gems/sidekiq-pro-7.3.6/lib/sidekiq/middleware/server/statsd.rb:40 [FINISH]
c:0068 p:0026 s:0445 E:000060 METHOD /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:182 [FINISH]
c:0067 p:0016 s:0437 e:000436 BLOCK /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:183
c:0066 p:0025 s:0434 e:000433 METHOD /srv/api/lib/sidekiq/middleware/datadog_unit_job_enhancer.rb:12 [FINISH]
c:0065 p:0026 s:0426 e:000425 METHOD /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:182 [FINISH]
c:0064 p:0016 s:0418 e:000417 BLOCK /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:183
c:0063 p:0248 s:0415 e:000414 BLOCK /usr/local/bundle/gems/datadog-2.29.0/lib/datadog/tracing/contrib/sidekiq/server_tracer.rb:74 [FINISH]
c:0062 p:0005 s:0409 e:000408 BLOCK /usr/local/bundle/gems/datadog-2.29.0/lib/datadog/tracing/trace_operation.rb:251
c:0061 p:0048 s:0405 e:000403 METHOD /usr/local/bundle/gems/datadog-2.29.0/lib/datadog/tracing/span_operation.rb:169
c:0060 p:0066 s:0398 e:000397 METHOD /usr/local/bundle/gems/datadog-2.29.0/lib/datadog/tracing/trace_operation.rb:251 [FINISH]
c:0059 p:0059 s:0381 e:000380 METHOD /usr/local/bundle/gems/datadog-2.29.0/lib/datadog/tracing/tracer.rb:452 [FINISH]
c:0058 p:0025 s:0362 e:000361 BLOCK /usr/local/bundle/gems/datadog-2.29.0/lib/datadog/tracing/tracer.rb:165
c:0057 p:0018 s:0359 e:000358 METHOD /usr/local/bundle/gems/datadog-2.29.0/lib/datadog/tracing/context.rb:45
c:0056 p:0062 s:0353 e:000352 METHOD /usr/local/bundle/gems/datadog-2.29.0/lib/datadog/tracing/tracer.rb:164 [FINISH]
c:0055 p:0027 s:0334 e:000333 METHOD /usr/local/bundle/gems/datadog-2.29.0/lib/datadog/tracing.rb:29
c:0054 p:0042 s:0319 e:000318 METHOD /usr/local/bundle/gems/datadog-2.29.0/lib/datadog/tracing/contrib/sidekiq/server_tracer.rb:33 [FINISH]
c:0053 p:0026 s:0310 e:000309 METHOD /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:182 [FINISH]
c:0052 p:0016 s:0302 e:000301 BLOCK /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:183
c:0051 p:0015 s:0299 e:000298 METHOD /usr/local/bundle/gems/rollbar-3.6.0/lib/rollbar/plugins/sidekiq/plugin.rb:11 [FINISH]
c:0050 p:0026 s:0291 e:000290 METHOD /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:182 [FINISH]
c:0049 p:0016 s:0283 e:000282 BLOCK /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:183
c:0048 p:0046 s:0280 e:000279 METHOD /usr/local/bundle/gems/sidekiq-pro-7.3.6/lib/sidekiq/batch/middleware.rb:58 [FINISH]
c:0047 p:0026 s:0270 e:000269 METHOD /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:182 [FINISH]
c:0046 p:0016 s:0262 e:000261 BLOCK /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:183
c:0045 p:0079 s:0259 e:000258 METHOD /usr/local/bundle/gems/sidekiq-ent-7.3.4/lib/sidekiq-ent/unique.rb:187 [FINISH]
c:0044 p:0026 s:0251 e:000250 METHOD /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:182 [FINISH]
c:0043 p:0016 s:0243 e:000242 BLOCK /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:183
c:0042 p:0014 s:0240 e:000239 METHOD /usr/local/bundle/gems/sidekiq-ent-7.3.4/lib/sidekiq-ent/limiter/middleware.rb:10 [FINISH]
c:0041 p:0026 s:0230 e:000229 METHOD /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:182 [FINISH]
c:0040 p:0016 s:0222 e:000221 BLOCK /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:183
c:0039 p:0002 s:0219 e:000218 METHOD /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/job/interrupt_handler.rb:9 [FINISH]
c:0038 p:0026 s:0211 e:000210 METHOD /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:182 [FINISH]
c:0037 p:0016 s:0203 e:000202 BLOCK /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:183
c:0036 p:0015 s:0200 e:000199 METHOD /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/metrics/tracking.rb:26
c:0035 p:0027 s:0191 e:000190 METHOD /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/metrics/tracking.rb:134 [FINISH]
c:0034 p:0026 s:0183 e:000182 METHOD /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:182
c:0033 p:0025 s:0175 e:000174 METHOD /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:173
c:0032 p:0016 s:0168 E:000e98 BLOCK /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:184
c:0031 p:0004 s:0164 e:000163 BLOCK /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:145
c:0030 p:0002 s:0161 e:000160 METHOD /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/job_retry.rb:118
c:0029 p:0051 s:0150 e:000149 BLOCK /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:144
c:0028 p:0002 s:0145 e:000144 BLOCK /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/rails.rb:27
c:0027 p:0008 s:0142 e:000141 BLOCK /usr/local/bundle/gems/activesupport-7.2.2.2/lib/active_support/reloader.rb:77
c:0026 p:0024 s:0138 e:000137 METHOD /usr/local/bundle/gems/activesupport-7.2.2.2/lib/active_support/execution_wrapper.rb:91 [FINISH]
c:0025 p:0016 s:0130 e:000129 METHOD /usr/local/bundle/gems/activesupport-7.2.2.2/lib/active_support/reloader.rb:74 [FINISH]
c:0024 p:0026 s:0125 e:000124 METHOD /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/rails.rb:26
c:0023 p:0006 s:0120 e:000119 BLOCK /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:139
c:0022 p:0028 s:0117 e:000116 METHOD /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:281
c:0021 p:0010 s:0111 e:000110 BLOCK /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:134
c:0020 p:0002 s:0108 e:000107 METHOD /usr/local/bundle/bundler/gems/smart-logger-ec314ac0e204/lib/smart_logger/patches/sidekiq/job_logger.rb:9
c:0019 p:0012 s:0102 e:000101 BLOCK /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:133
c:0018 p:0002 s:0099 e:000098 METHOD /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/job_retry.rb:85
c:0017 p:0010 s:0089 e:000088 BLOCK /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:132
c:0016 p:0129 s:0086 e:000085 METHOD /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/job_logger.rb:40
c:0015 p:0006 s:0078 e:000077 BLOCK /usr/local/bundle/bundler/gems/smart-logger-ec314ac0e204/lib/smart_logger/patches/sidekiq/job_logger.rb:14 [FINISH]
c:0014 p:0049 s:0075 e:000074 METHOD /usr/local/bundle/bundler/gems/smart-logger-ec314ac0e204/lib/smart_logger/correlation_id.rb:18
c:0013 p:0011 s:0068 e:000067 METHOD /usr/local/bundle/bundler/gems/smart-logger-ec314ac0e204/lib/smart_logger/patches/sidekiq/job_logger.rb:13
c:0012 p:0008 s:0062 e:000061 METHOD /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:131
c:0011 p:0014 s:0055 E:0018b8 BLOCK /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:183 [FINISH]
c:0010 p:---- s:0049 e:000048 CFUNC :handle_interrupt
c:0009 p:0008 s:0044 E:002530 BLOCK /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:182 [FINISH]
c:0008 p:---- s:0041 e:000040 CFUNC :handle_interrupt
c:0007 p:0037 s:0036 E:001d78 METHOD /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:181
c:0006 p:0017 s:0025 e:000024 METHOD /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:86
c:0005 p:0021 s:0020 e:000019 METHOD /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/processor.rb:76 [FINISH]
c:0004 p:---- s:0015 e:000014 IFUNC
c:0003 p:0002 s:0012 e:000011 METHOD /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/component.rb:10
c:0002 p:0026 s:0006 e:000005 BLOCK /usr/local/bundle/gems/sidekiq-7.3.9/lib/sidekiq/component.rb:19 [FINISH]
c:0001 p:---- s:0003 e:000002 DUMMY [FINISH]
Operating System
No response
How does Datadog help you?
No response
Tracer Version(s)
2.27.0, 2.29.0
Ruby Version(s)
ruby 3.4.9 (2026-03-11 revision 76cca827ab) +YJIT +PRISM [x86_64-linux]
Relevent Library and Version(s)
rails 7.2.2.2
Bug Report
We're seeing occasional segmentation fault errors pointing to the
CachingResolver, usually after hours of uptime, ever since we upgraded from ddtrace (version 1) to datadog gem (version 2). We've upgraded ruby from 3.3.4 to 3.4.9, but it didn't make much difference.Reproduction Code
No response
Configuration Block
Please note that we were trying a few things to fix the
CachingResolversegfault (like the@cache_mutexhere). That's why the trace doesn't point tolib/datadog/tracing/contrib/configuration/resolver.rb, but to our initializer instead (L87 was theif @cache.key?(value)).Error Logs
Operating System
No response
How does Datadog help you?
No response