Actions
Bug #21802
opensegmentation fault when installing gems on CI
Bug #21802:
segmentation fault when installing gems on CI
Status:
Open
Assignee:
-
Target version:
-
ruby -v:
ruby 3.4.8 (2025-12-17 revision 995b59f666) +YJIT +PRISM [x86_64-linux]
Description
hey!
recently, we updated to Bundler v4 (currently running v4.0.3) and Ruby 3.4.8. Since then, one of our CircleCI steps has been failing repeatedly, often without logs. Sometimes it does fail with a log
Installing faraday-typhoeus 1.1.0
Fetching http 5.3.1
/usr/*****/lib/ruby/site_ruby/3.4.0/rubygems/package.rb:369: [BUG] Segmentation fault at 0x00007f336df8c100
ruby 3.4.8 (2025-12-17 revision 995b59f666) +PRISM [x86_64-linux]
-- Control frame information -----------------------------------------------
c:0026 p:---- s:0142 e:000141 CFUNC :each_value
c:0025 p:0078 s:0138 e:000137 METHOD /usr/*****/lib/ruby/site_ruby/3.4.0/rubygems/package.rb:369
c:0024 p:0030 s:0131 e:000130 METHOD /usr/*****/lib/ruby/site_ruby/3.4.0/rubygems/package.rb:678
c:0023 p:0005 s:0125 e:000124 BLOCK /usr/*****/lib/ruby/site_ruby/3.4.0/rubygems/package.rb:697
c:0022 p:0053 s:0121 e:000120 METHOD /usr/*****/lib/ruby/site_ruby/3.4.0/rubygems/package/tar_reader.rb:67
c:0021 p:0005 s:0114 e:000113 METHOD /usr/*****/lib/ruby/site_ruby/3.4.0/rubygems/package.rb:696
c:0020 p:0011 s:0108 e:000107 BLOCK /usr/*****/lib/ruby/site_ruby/3.4.0/rubygems/package.rb:626
c:0019 p:0020 s:0104 e:000103 METHOD /usr/*****/lib/ruby/site_ruby/3.4.0/rubygems/package/tar_reader.rb:25
c:0018 p:0007 s:0098 e:000097 BLOCK /usr/*****/lib/ruby/site_ruby/3.4.0/rubygems/package.rb:623 [FINISH]
c:0017 p:---- s:0094 e:000093 CFUNC :open
c:0016 p:0013 s:0088 e:000087 METHOD /usr/*****/lib/ruby/site_ruby/3.4.0/rubygems/package/file_source.rb:30
c:0015 p:0015 s:0083 e:000082 METHOD /usr/*****/lib/ruby/site_ruby/3.4.0/rubygems/package.rb:622
c:0014 p:0008 s:0078 e:000077 METHOD /usr/*****/lib/ruby/site_ruby/3.4.0/rubygems/package.rb:603
c:0013 p:0005 s:0074 e:000073 METHOD /usr/*****/lib/ruby/site_ruby/3.4.0/rubygems/installer.rb:254
c:0012 p:0020 s:0070 e:000069 METHOD /home/circleci/.rubygems/gems/bundler-4.0.2/lib/bundler/rubygems_gem_installer.rb:140
c:0011 p:0196 s:0066 e:000065 METHOD /home/circleci/.rubygems/gems/bundler-4.0.2/lib/bundler/source/rubygems.rb:195
c:0010 p:0025 s:0052 e:000051 METHOD /home/circleci/.rubygems/gems/bundler-4.0.2/lib/bundler/installer/gem_installer.rb:54
c:0009 p:0003 s:0048 e:000047 METHOD /home/circleci/.rubygems/gems/bundler-4.0.2/lib/bundler/installer/gem_installer.rb:17
c:0008 p:0037 s:0042 e:000041 METHOD /home/circleci/.rubygems/gems/bundler-4.0.2/lib/bundler/installer/parallel_installer.rb:133
c:0007 p:0007 s:0033 e:000032 BLOCK /home/circleci/.rubygems/gems/bundler-4.0.2/lib/bundler/installer/parallel_installer.rb:124
c:0006 p:0009 s:0028 e:000027 METHOD /home/circleci/.rubygems/gems/bundler-4.0.2/lib/bundler/worker.rb:62
c:0005 p:0030 s:0021 e:000019 BLOCK /home/circleci/.rubygems/gems/bundler-4.0.2/lib/bundler/worker.rb:57
c:0004 p:0017 s:0016 e:000015 METHOD <internal:kernel>:168
c:0003 p:0004 s:0011 e:000010 METHOD /home/circleci/.rubygems/gems/bundler-4.0.2/lib/bundler/worker.rb:54
c:0002 p:0005 s:0006 e:000005 BLOCK /home/circleci/.rubygems/gems/bundler-4.0.2/lib/bundler/worker.rb:90 [FINISH]
c:0001 p:---- s:0003 e:000002 DUMMY [FINISH]
-- Ruby level backtrace information ----------------------------------------
/home/circleci/.rubygems/gems/bundler-4.0.2/lib/bundler/worker.rb:90:in 'block (2 levels) in create_threads'
/home/circleci/.rubygems/gems/bundler-4.0.2/lib/bundler/worker.rb:54:in 'process_queue'
<internal:kernel>:168:in 'loop'
/home/circleci/.rubygems/gems/bundler-4.0.2/lib/bundler/worker.rb:57:in 'block in process_queue'
/home/circleci/.rubygems/gems/bundler-4.0.2/lib/bundler/worker.rb:62:in 'apply_func'
/home/circleci/.rubygems/gems/bundler-4.0.2/lib/bundler/installer/parallel_installer.rb:124:in 'block in worker_pool'
/home/circleci/.rubygems/gems/bundler-4.0.2/lib/bundler/installer/parallel_installer.rb:133:in 'do_install'
/home/circleci/.rubygems/gems/bundler-4.0.2/lib/bundler/installer/gem_installer.rb:17:in 'install_from_spec'
/home/circleci/.rubygems/gems/bundler-4.0.2/lib/bundler/installer/gem_installer.rb:54:in 'install'
/home/circleci/.rubygems/gems/bundler-4.0.2/lib/bundler/source/rubygems.rb:195:in 'install'
/home/circleci/.rubygems/gems/bundler-4.0.2/lib/bundler/rubygems_gem_installer.rb:140:in 'spec'
/usr/*****/lib/ruby/site_ruby/3.4.0/rubygems/installer.rb:254:in 'spec'
/usr/*****/lib/ruby/site_ruby/3.4.0/rubygems/package.rb:603:in 'spec'
/usr/*****/lib/ruby/site_ruby/3.4.0/rubygems/package.rb:622:in 'verify'
/usr/*****/lib/ruby/site_ruby/3.4.0/rubygems/package/file_source.rb:30:in 'with_read_io'
/usr/*****/lib/ruby/site_ruby/3.4.0/rubygems/package/file_source.rb:30:in 'open'
/usr/*****/lib/ruby/site_ruby/3.4.0/rubygems/package.rb:623:in 'block in verify'
/usr/*****/lib/ruby/site_ruby/3.4.0/rubygems/package/tar_reader.rb:25:in 'new'
/usr/*****/lib/ruby/site_ruby/3.4.0/rubygems/package.rb:626:in 'block (2 levels) in verify'
/usr/*****/lib/ruby/site_ruby/3.4.0/rubygems/package.rb:696:in 'verify_files'
/usr/*****/lib/ruby/site_ruby/3.4.0/rubygems/package/tar_reader.rb:67:in 'each'
/usr/*****/lib/ruby/site_ruby/3.4.0/rubygems/package.rb:697:in 'block in verify_files'
/usr/*****/lib/ruby/site_ruby/3.4.0/rubygems/package.rb:678:in 'verify_entry'
/usr/*****/lib/ruby/site_ruby/3.4.0/rubygems/package.rb:369:in 'digest'
/usr/*****/lib/ruby/site_ruby/3.4.0/rubygems/package.rb:369:in 'each_value'
-- Threading information ---------------------------------------------------
Total ractor count: 1
Ruby thread count for this ractor: 44
-- Machine register context ------------------------------------------------
RIP: 0x00007f336df8bffe RBP: 0x00007f333dd38270 RSP: 0x00007f333dd38190
RAX: 0x00007f336df8c100 RBX: 0x000055fb7a768350 RCX: 0x000055fb7956d330
RDX: 0x0000000000000000 RDI: 0x00007f336e501740 RSI: 0x0000000000000000
R8: 0x0000000000000003 R9: 0x000055fb7fd9ab78 R10: 0x0000000055550083
R11: 0x000055fb7fe9a1c1 R12: 0x00007f328c55e568 R13: 0x00007f328c55e568
R14: 0x000055fb7fe9a1a8 R15: 0x0000000000000000 EFL: 0x0000000000010202
-- C level backtrace information -------------------------------------------
/bin/bash: line 5: 1060 Killed bundle install
while trying to find the root cause, I noticed that rolling back to Ruby 3.4.7 solves the issue .
there's not a lot going on with the CI step, too:
verify-contract:
docker:
- image: cimg/ruby:3.4.8-node
environment:
RAILS_ENV: test
MYSQL_HOST: 127.0.0.1
MYSQL_STATSDB_HOST: 127.0.0.1
CONTRACT_URL: << pipeline.parameters.contract_url >>
CONSUMER_NAME: << pipeline.parameters.consumer_name >>
CONSUMER_VERSION: << pipeline.parameters.consumer_version >>
PROVIDER_VERSION: << pipeline.parameters.provider_version >>
PUBLISH_VERIFICATION_RESULTS: true
DYNAMODB_AWS_REGION: us-east-1
DYNAMODB_AWS_ACCESS_KEY_ID: local
DYNAMODB_AWS_SECRET_ACCESS_KEY: local
DYNAMODB_AWS_ENDPOINT: http://dynamodb:8000
- image: cimg/mysql:8.0.42
environment:
MYSQL_ALLOW_EMPTY_PASSWORD: 1
- image: cimg/redis:8.4.0
- image: amazon/dynamodb-local:latest
name: dynamodb
command: ["-jar", "DynamoDBLocal.jar", "-sharedDb"]
steps:
- checkout
- vault/get-secrets:
template-preset: "ruby-gem-read"
- run:
name: Install bundler
command: |
gem install bundler
- run:
name: Ruby Environment Information
command: |
gem env
bundle config
- run:
name: Install deps and verify contracts
command: |
if [ ! -z "${PROVIDER_VERSION}" ]; then
git checkout ${PROVIDER_VERSION}
fi
bundle config https://rubygems.pkg.github.com/xxxxx "${RUBYGEMS_USER}:${RUBYGEMS_PASSWORD}"
bundle install
bundle clean --force
bundle exec rake database:recreate_all
if [[ -z "$CONTRACT_URL" ]]; then
bundle exec rake pact:verify
else
bundle exec rake pact:verify:at[$CONTRACT_URL] || true
fi
Updated by luizkowalski (Luiz Kowalski) about 14 hours ago
- ruby -v changed from ruby 3.4.8 (2025-12-17 revision 995b59f666) +YJIT +PRISM [aarch64-linux] to ruby 3.4.8 (2025-12-17 revision 995b59f666) +YJIT +PRISM [x86_64-linux]
Updated by ufuk (Ufuk Kayserilioglu) about 11 hours ago
Please post the C level backtrace as well. Usually that's very helpful.
Updated by luizkowalski (Luiz Kowalski) about 10 hours ago
ufuk (Ufuk Kayserilioglu) wrote in #note-2:
Please post the C level backtrace as well. Usually that's very helpful.
any idea how I could do that? the job inside the CI most of the time simply dies with an output like this:
/bin/bash: line 5: 1058 Killed bundle install
Exited with code exit status 137
is there an env var I can set maybe that would make it more verbose in this case?
Actions