Actions
Bug #17213
closedRails CI against Ruby 3.0.0dev fails likely since a53e2850c572135ed657144bc14e47b29c64fa94
Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.8.0dev (2020-05-21T19:08:38Z v3_0_0_preview1~1778 a53e2850c5) [x86_64-linux]
Description
Rails CI against Ruby 3.0.0dev fails likely since a53e2850c572135ed657144bc14e47b29c64fa94 . This is the oldest failure https://buildkite.com/rails/rails/builds/69461#777c707f-7056-4959-9924-36dac592b737
Steps to reproduce¶
- Install Docker
- Install Ruby 2.7.1 (or whatever Ruby version to run rake)
- Create Ruby docker image for a53e2850c572135ed657144bc14e47b29c64fa94
git clone https://github.com/ruby/ruby-docker-images.git
cd ruby-docker-images
rake docker:build ruby_version=master:a53e2850c572135ed657144bc14e47b29c64fa94
- Run Rails CI using the Docker image created in step 3
cd ~
git clone https://github.com/rails/rails.git
cd rails
git clone https://github.com/rails/buildkite-config .buildkite/
RUBY_IMAGE=rubylang/ruby:master-a53e2850c572135ed657144bc14e47b29c64fa94-bionic docker-compose -f .buildkite/docker-compose.yml build base && CI=1 docker-compose -f .buildkite/docker-compose.yml run default runner railties 'ruby -v ; ruby -w -Itest -Ilib -I../activesupport/lib -I../actionpack/lib -I../actionview/lib -I../activemodel/lib test/railties/engine_test.rb --seed 31510'
Actual result¶
$ RUBY_IMAGE=rubylang/ruby:master-a53e2850c572135ed657144bc14e47b29c64fa94-bionic docker-compose -f .buildkite/docker-compose.yml build base && CI=1 docker-compose -f .buildkite/docker-compose.yml run default runner railties 'ruby -v ; ruby -w -Itest -Ilib -I../activesupport/lib -I../actionpack/lib -I../actionview/lib -I../activemodel/lib test/railties/engine_test.rb --seed 31510'
... snip ...
+++ railties: ruby -v ; ruby -w -Itest -Ilib -I../activesupport/lib -I../actionpack/lib -I../actionview/lib -I../activemodel/lib test/railties/engine_test.rb --seed 31510
ruby 2.8.0dev (2020-05-21T19:08:38Z v3_0_0_preview1~1778 a53e2850c5) [x86_64-linux]
warning @rails/webpacker > webpack > watchpack > watchpack-chokidar2 > chokidar@2.1.8: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
warning @rails/webpacker > webpack > watchpack > watchpack-chokidar2 > chokidar > fsevents@1.2.13: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.
warning @rails/webpacker > webpack > micromatch > snapdragon > source-map-resolve > resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
warning @rails/webpacker > webpack > micromatch > snapdragon > source-map-resolve > urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
/usr/local/lib/ruby/gems/2.8.0/gems/mail-2.7.1/lib/mail/parsers/address_lists_parser.rb:32454: warning: statement not reached
/usr/local/lib/ruby/gems/2.8.0/gems/mail-2.7.1/lib/mail/parsers/address_lists_parser.rb:32615: warning: statement not reached
/usr/local/lib/ruby/gems/2.8.0/gems/mail-2.7.1/lib/mail/parsers/address_lists_parser.rb:32651: warning: statement not reached
/usr/local/lib/ruby/gems/2.8.0/gems/mail-2.7.1/lib/mail/parsers/address_lists_parser.rb:32740: warning: statement not reached
/usr/local/lib/ruby/gems/2.8.0/gems/mail-2.7.1/lib/mail/parsers/address_lists_parser.rb:32756: warning: statement not reached
/usr/local/lib/ruby/gems/2.8.0/gems/mail-2.7.1/lib/mail/parsers/address_lists_parser.rb:32822: warning: statement not reached
/usr/local/lib/ruby/gems/2.8.0/gems/mail-2.7.1/lib/mail/parsers/address_lists_parser.rb:32863: warning: statement not reached
/usr/local/lib/ruby/gems/2.8.0/gems/mail-2.7.1/lib/mail/parsers/address_lists_parser.rb:32888: warning: statement not reached
/usr/local/lib/ruby/gems/2.8.0/gems/mail-2.7.1/lib/mail/parsers/address_lists_parser.rb:31984: warning: assigned but unused variable - testEof
Run options: --seed 31510
# Running:
/usr/local/lib/ruby/gems/2.8.0/gems/zeitwerk-2.4.0/lib/zeitwerk/kernel.rb:34: [BUG] Segmentation fault at 0x0000000000000000
ruby 2.8.0dev (2020-05-21T19:08:38Z v3_0_0_preview1~1778 a53e2850c5) [x86_64-linux]
-- Control frame information -----------------------------------------------
c:0047 p:---- s:0255 e:000254 CFUNC :require
c:0046 p:0052 s:0250 e:000249 METHOD /usr/local/lib/ruby/gems/2.8.0/gems/zeitwerk-2.4.0/lib/zeitwerk/kernel.rb:34 [FINISH]
c:0045 p:0447 s:0244 e:000240 CLASS /rails/activerecord/lib/active_record/base.rb:300
c:0044 p:0007 s:0238 e:000237 CLASS /rails/activerecord/lib/active_record/base.rb:265
c:0043 p:0073 s:0235 e:000234 TOP /rails/activerecord/lib/active_record/base.rb:15 [FINISH]
c:0042 p:---- s:0232 e:000231 CFUNC :require
c:0041 p:0052 s:0227 e:000226 METHOD /usr/local/lib/ruby/gems/2.8.0/gems/zeitwerk-2.4.0/lib/zeitwerk/kernel.rb:34 [FINISH]
c:0040 p:0023 s:0221 e:000218 METHOD /rails/activerecord/lib/active_record/railties/controller_runtime.rb:31
c:0039 p:0008 s:0212 e:000210 METHOD /rails/actionpack/lib/action_controller/metal/instrumentation.rb:45
c:0038 p:0021 s:0205 e:000204 METHOD /rails/actionpack/lib/action_controller/metal/implicit_render.rb:35
c:0037 p:0011 s:0200 e:000199 BLOCK /rails/actionpack/lib/action_controller/metal/basic_implicit_render.rb:6 [FINISH]
c:0036 p:---- s:0197 e:000196 CFUNC :tap
c:0035 p:0013 s:0193 e:000192 METHOD /rails/actionpack/lib/action_controller/metal/basic_implicit_render.rb:6
c:0034 p:0009 s:0187 e:000186 METHOD /rails/actionpack/lib/abstract_controller/base.rb:228
c:0033 p:0024 s:0181 e:000180 METHOD /rails/actionpack/lib/action_controller/metal/rendering.rb:30
c:0032 p:0009 s:0176 e:000175 BLOCK /rails/actionpack/lib/abstract_controller/callbacks.rb:42
c:0031 p:0090 s:0173 e:000171 METHOD /rails/activesupport/lib/active_support/callbacks.rb:106
c:0030 p:0006 s:0163 e:000162 METHOD /rails/actionpack/lib/abstract_controller/callbacks.rb:41
c:0029 p:0008 s:0158 e:000157 METHOD /rails/actionpack/lib/action_controller/metal/rescue.rb:22
c:0028 p:0009 s:0152 e:000151 BLOCK /rails/actionpack/lib/action_controller/metal/instrumentation.rb:34
c:0027 p:0010 s:0147 e:000146 BLOCK /rails/activesupport/lib/active_support/notifications.rb:203
c:0026 p:0022 s:0144 e:000143 METHOD /rails/activesupport/lib/active_support/notifications/instrumenter.rb:24
c:0025 p:0023 s:0136 e:000135 METHOD /rails/activesupport/lib/active_support/notifications.rb:203
c:0024 p:0098 s:0130 e:000129 METHOD /rails/actionpack/lib/action_controller/metal/instrumentation.rb:33
c:0023 p:0017 s:0124 e:000123 METHOD /rails/actionpack/lib/action_controller/metal/params_wrapper.rb:245
c:0022 p:0026 s:0119 e:000118 METHOD /rails/activerecord/lib/active_record/railties/controller_runtime.rb:27
c:0021 p:0082 s:0113 e:000112 METHOD /rails/actionpack/lib/abstract_controller/base.rb:165
c:0020 p:0062 s:0106 e:000105 METHOD /rails/actionview/lib/action_view/rendering.rb:39
c:0019 p:0017 s:0100 e:000099 METHOD /rails/actionpack/lib/action_controller/metal.rb:190
#<Thread:0x0000563ba506efc8 /usr/local/lib/ruby/gems/2.8.0/gems/minitest-5.14.2/lib/minitest/parallel.rb:28 run> terminated with exception (report_on_exception is true):
/rails/activesupport/lib/active_support/testing/isolation.rb:23:in `load': marshal data too short (ArgumentError)
from /rails/activesupport/lib/active_support/testing/isolation.rb:23:in `run'
from /usr/local/lib/ruby/gems/2.8.0/gems/minitest-5.14.2/lib/minitest.rb:1029:in `run_one_method'
from /usr/local/lib/ruby/gems/2.8.0/gems/minitest-5.14.2/lib/minitest/parallel.rb:33:in `block (2 levels) in start'
/rails/activesupport/lib/active_support/testing/isolation.rb:23:in `load': marshal data too short (ArgumentError)
from /rails/activesupport/lib/active_support/testing/isolation.rb:23:in `run'
from /usr/local/lib/ruby/gems/2.8.0/gems/minitest-5.14.2/lib/minitest.rb:1029:in `run_one_method'
from /usr/local/lib/ruby/gems/2.8.0/gems/minitest-5.14.2/lib/minitest/parallel.rb:33:in `block (2 levels) in start'
$
Expected result¶
It should not cause segmentation fault as the previous commit ba7f4bb0af82bc9a7e392608fd7f6a316bec7c9f
$ RUBY_IMAGE=rubylang/ruby:master-ba7f4bb0af82bc9a7e392608fd7f6a316bec7c9f-bionic docker-compose -f .buildkite/docker-compose.yml build base &&
CI=1 docker-compose -f .buildkite/docker-compose.yml run default runner railties 'ruby -v ; ruby -w -Itest -Ilib -I../activesupport/lib -I../actionpack/lib -I../actionview/lib -I../activemodel/lib test/railties/engine_test.rb --seed 31510'
... snip ...
+++ railties: ruby -v ; ruby -w -Itest -Ilib -I../activesupport/lib -I../actionpack/lib -I../actionview/lib -I../activemodel/lib test/railties/engine_test.rb --seed 31510
ruby 2.8.0dev (2020-05-21T04:31:36Z v3_0_0_preview1~1779 ba7f4bb0af) [x86_64-linux]
warning @rails/webpacker > webpack > watchpack > watchpack-chokidar2 > chokidar@2.1.8: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
warning @rails/webpacker > webpack > watchpack > watchpack-chokidar2 > chokidar > fsevents@1.2.13: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.
warning @rails/webpacker > webpack > micromatch > snapdragon > source-map-resolve > resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
warning @rails/webpacker > webpack > micromatch > snapdragon > source-map-resolve > urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
/usr/local/lib/ruby/gems/2.8.0/gems/mail-2.7.1/lib/mail/parsers/address_lists_parser.rb:32454: warning: statement not reached
/usr/local/lib/ruby/gems/2.8.0/gems/mail-2.7.1/lib/mail/parsers/address_lists_parser.rb:32615: warning: statement not reached
/usr/local/lib/ruby/gems/2.8.0/gems/mail-2.7.1/lib/mail/parsers/address_lists_parser.rb:32651: warning: statement not reached
/usr/local/lib/ruby/gems/2.8.0/gems/mail-2.7.1/lib/mail/parsers/address_lists_parser.rb:32740: warning: statement not reached
/usr/local/lib/ruby/gems/2.8.0/gems/mail-2.7.1/lib/mail/parsers/address_lists_parser.rb:32756: warning: statement not reached
/usr/local/lib/ruby/gems/2.8.0/gems/mail-2.7.1/lib/mail/parsers/address_lists_parser.rb:32822: warning: statement not reached
/usr/local/lib/ruby/gems/2.8.0/gems/mail-2.7.1/lib/mail/parsers/address_lists_parser.rb:32863: warning: statement not reached
/usr/local/lib/ruby/gems/2.8.0/gems/mail-2.7.1/lib/mail/parsers/address_lists_parser.rb:32888: warning: statement not reached
/usr/local/lib/ruby/gems/2.8.0/gems/mail-2.7.1/lib/mail/parsers/address_lists_parser.rb:31984: warning: assigned but unused variable - testEof
Run options: --seed 31510
# Running:
.............../usr/local/lib/ruby/gems/2.8.0/gems/delayed_job-4.1.8/lib/delayed/worker.rb:288: warning: method redefined; discarding old max_attempts
/usr/local/lib/ruby/gems/2.8.0/gems/delayed_job-4.1.8/lib/delayed/worker.rb:22: warning: previous definition of max_attempts was here
/usr/local/lib/ruby/gems/2.8.0/gems/delayed_job-4.1.8/lib/delayed/worker.rb:292: warning: method redefined; discarding old max_run_time
/usr/local/lib/ruby/gems/2.8.0/gems/delayed_job-4.1.8/lib/delayed/worker.rb:22: warning: previous definition of max_run_time was here
/usr/local/lib/ruby/gems/2.8.0/gems/zeitwerk-2.4.0/lib/zeitwerk/kernel.rb:34: warning: /usr/local/lib/ruby/gems/2.8.0/gems/zeitwerk-2.4.0/lib/zeitwerk/kernel.rb:34: warning: loading in progress, circular require considered harmful - /usr/local/lib/ruby/gems/2.8.0/gems/delayed_job-4.1.8/lib/delayed_job.rb
from /usr/local/lib/ruby/gems/2.8.0/gems/minitest-5.14.2/lib/minitest/parallel.rb:33:in `block (2 levels) in start'
from /usr/local/lib/ruby/gems/2.8.0/gems/minitest-5.14.2/lib/minitest.rb:1029:in `run_one_method'
from /rails/activesupport/lib/active_support/testing/isolation.rb:19:in `run'
from /rails/activesupport/lib/active_support/testing/isolation.rb:32:in `run_in_isolation'
from /rails/activesupport/lib/active_support/testing/isolation.rb:32:in `fork'
from /rails/activesupport/lib/active_support/testing/isolation.rb:34:in `block in run_in_isolation'
from /rails/activesupport/lib/active_support/testing/isolation.rb:20:in `block in run'
from /usr/local/lib/ruby/gems/2.8.0/gems/minitest-5.14.2/lib/minitest/test.rb:93:in `run'
from /usr/local/lib/ruby/gems/2.8.0/gems/minitest-5.14.2/lib/minitest/test.rb:211:in `with_info_handler'
from /usr/local/lib/ruby/gems/2.8.0/gems/minitest-5.14.2/lib/minitest.rb:367:in `on_signal'
from /usr/local/lib/ruby/gems/2.8.0/gems/minitest-5.14.2/lib/minitest/test.rb:94:in `block in run'
from /usr/local/lib/ruby/gems/2.8.0/gems/minitest-5.14.2/lib/minitest.rb:272:in `time_it'
from /usr/local/lib/ruby/gems/2.8.0/gems/minitest-5.14.2/lib/minitest/test.rb:95:in `block (2 levels) in run'
from /usr/local/lib/ruby/gems/2.8.0/gems/minitest-5.14.2/lib/minitest/test.rb:195:in `capture_exceptions'
from /usr/local/lib/ruby/gems/2.8.0/gems/minitest-5.14.2/lib/minitest/test.rb:98:in `block (3 levels) in run'
from test/railties/engine_test.rb:901:in `block in <class:EngineTest>'
from /rails/railties/lib/rails/engine.rb:560:in `load_seed'
from /rails/railties/lib/rails/engine.rb:560:in `load'
from /rails/tmp/d20201003-137-ay5nkq/app/db/seeds.rb:1:in `<top (required)>'
from /usr/local/lib/ruby/gems/2.8.0/gems/zeitwerk-2.4.0/lib/zeitwerk/kernel.rb:34:in `require'
from /usr/local/lib/ruby/gems/2.8.0/gems/zeitwerk-2.4.0/lib/zeitwerk/kernel.rb:34:in `require'
from /rails/activejob/lib/active_job/base.rb:17:in `<top (required)>'
from /rails/activejob/lib/active_job/base.rb:63:in `<module:ActiveJob>'
from /rails/activejob/lib/active_job/base.rb:77:in `<class:Base>'
from /rails/activesupport/lib/active_support/lazy_load_hooks.rb:51:in `run_load_hooks'
from /rails/activesupport/lib/active_support/lazy_load_hooks.rb:51:in `each'
from /rails/activesupport/lib/active_support/lazy_load_hooks.rb:52:in `block in run_load_hooks'
from /rails/activesupport/lib/active_support/lazy_load_hooks.rb:66:in `execute_hook'
from /rails/activesupport/lib/active_support/lazy_load_hooks.rb:61:in `with_execution_control'
from /rails/activesupport/lib/active_support/lazy_load_hooks.rb:71:in `block in execute_hook'
from /rails/activesupport/lib/active_support/lazy_load_hooks.rb:71:in `class_eval'
from /rails/activejob/lib/active_job/railtie.rb:28:in `block (2 levels) in <class:Railtie>'
from /rails/activejob/lib/active_job/railtie.rb:28:in `each'
from /rails/activejob/lib/active_job/railtie.rb:30:in `block (3 levels) in <class:Railtie>'
from /rails/activejob/lib/active_job/queue_adapter.rb:40:in `queue_adapter='
from /rails/activejob/lib/active_job/queue_adapters.rb:137:in `lookup'
from /rails/activejob/lib/active_job/queue_adapters.rb:137:in `const_get'
from /usr/local/lib/ruby/gems/2.8.0/gems/zeitwerk-2.4.0/lib/zeitwerk/kernel.rb:34:in `require'
from /usr/local/lib/ruby/gems/2.8.0/gems/zeitwerk-2.4.0/lib/zeitwerk/kernel.rb:34:in `require'
from /rails/activejob/lib/active_job/queue_adapters/delayed_job_adapter.rb:3:in `<top (required)>'
from /usr/local/lib/ruby/gems/2.8.0/gems/zeitwerk-2.4.0/lib/zeitwerk/kernel.rb:34:in `require'
from /usr/local/lib/ruby/gems/2.8.0/gems/zeitwerk-2.4.0/lib/zeitwerk/kernel.rb:34:in `require'
from /usr/local/lib/ruby/gems/2.8.0/gems/delayed_job-4.1.8/lib/delayed_job.rb:14:in `<top (required)>'
from /usr/local/lib/ruby/gems/2.8.0/gems/zeitwerk-2.4.0/lib/zeitwerk/kernel.rb:34:in `require'
from /usr/local/lib/ruby/gems/2.8.0/gems/zeitwerk-2.4.0/lib/zeitwerk/kernel.rb:34:in `require'
from /usr/local/lib/ruby/gems/2.8.0/gems/delayed_job-4.1.8/lib/delayed/railtie.rb:1:in `<top (required)>'
from /usr/local/lib/ruby/gems/2.8.0/gems/zeitwerk-2.4.0/lib/zeitwerk/kernel.rb:34:in `require'
from /usr/local/lib/ruby/gems/2.8.0/gems/zeitwerk-2.4.0/lib/zeitwerk/kernel.rb:34:in `require'
......................../usr/local/lib/ruby/gems/2.8.0/gems/semantic_range-2.3.0/lib/semantic_range/range.rb:194: warning: assigned but unused variable - pr
/usr/local/lib/ruby/gems/2.8.0/gems/semantic_range-2.3.0/lib/semantic_range/range.rb:252: warning: assigned but unused variable - fpr
/usr/local/lib/ruby/gems/2.8.0/gems/semantic_range-2.3.0/lib/semantic_range/range.rb:253: warning: assigned but unused variable - fb
/usr/local/lib/ruby/gems/2.8.0/gems/semantic_range-2.3.0/lib/semantic_range/range.rb:259: warning: assigned but unused variable - tb
.........../usr/local/lib/ruby/gems/2.8.0/gems/semantic_range-2.3.0/lib/semantic_range/range.rb:194: warning: assigned but unused variable - pr
/usr/local/lib/ruby/gems/2.8.0/gems/semantic_range-2.3.0/lib/semantic_range/range.rb:252: warning: assigned but unused variable - fpr
/usr/local/lib/ruby/gems/2.8.0/gems/semantic_range-2.3.0/lib/semantic_range/range.rb:253: warning: assigned but unused variable - fb
/usr/local/lib/ruby/gems/2.8.0/gems/semantic_range-2.3.0/lib/semantic_range/range.rb:259: warning: assigned but unused variable - tb
.
Finished in 34.113826s, 1.4950 runs/s, 3.4883 assertions/s.
51 runs, 119 assertions, 0 failures, 0 errors, 0 skips
$
Files
Actions
Like0
Like0Like0Like0Like0Like0Like0Like0Like0