[DRE-maint] Bug#909397: ruby-state-machines-activemodel: FTBFS randomly (Expected: "empty", Actual: "nil")

Santiago Vila sanvila at debian.org
Sat Sep 22 23:50:34 BST 2018


Package: src:ruby-state-machines-activemodel
Version: 0.5.1-3
Severity: important
Tags: ftbfs

Dear maintainer:

I tried to build this package in buster but it failed:

--------------------------------------------------------------------------------
[...]
 debian/rules build-indep
dh build-indep --buildsystem=ruby --with ruby
   dh_update_autotools_config -i -O--buildsystem=ruby
   dh_autoreconf -i -O--buildsystem=ruby
   dh_auto_configure -i -O--buildsystem=ruby
	dh_ruby --configure
   dh_auto_build -i -O--buildsystem=ruby
	dh_ruby --build
   dh_ruby --build
   dh_auto_test -i -O--buildsystem=ruby
	dh_ruby --test
   create-stamp debian/debhelper-build-stamp
 fakeroot debian/rules binary-indep
dh binary-indep --buildsystem=ruby --with ruby
   dh_testroot -i -O--buildsystem=ruby
   dh_prep -i -O--buildsystem=ruby
   dh_auto_install -i -O--buildsystem=ruby
	dh_ruby --install /<<PKGBUILDDIR>>/debian/ruby-state-machines-activemodel
   dh_ruby --install
Invalid gemspec in [state_machines-activemodel.gemspec]: No such file or directory - git

┌──────────────────────────────────────────────────────────────────────────────┐
│ Install files                                                                │
└──────────────────────────────────────────────────────────────────────────────┘

install -d /<<PKGBUILDDIR>>/debian/ruby-state-machines-activemodel/usr/lib/ruby/vendor_ruby
install -D -m644 /<<PKGBUILDDIR>>/lib/state_machines-activemodel.rb /<<PKGBUILDDIR>>/debian/ruby-state-machines-activemodel/usr/lib/ruby/vendor_ruby/state_machines-activemodel.rb
install -D -m644 /<<PKGBUILDDIR>>/lib/state_machines/integrations/active_model/locale.rb /<<PKGBUILDDIR>>/debian/ruby-state-machines-activemodel/usr/lib/ruby/vendor_ruby/state_machines/integrations/active_model/locale.rb
install -D -m644 /<<PKGBUILDDIR>>/lib/state_machines/integrations/active_model/version.rb /<<PKGBUILDDIR>>/debian/ruby-state-machines-activemodel/usr/lib/ruby/vendor_ruby/state_machines/integrations/active_model/version.rb
install -D -m644 /<<PKGBUILDDIR>>/lib/state_machines/integrations/active_model.rb /<<PKGBUILDDIR>>/debian/ruby-state-machines-activemodel/usr/lib/ruby/vendor_ruby/state_machines/integrations/active_model.rb

┌──────────────────────────────────────────────────────────────────────────────┐
│ Install Rubygems integration metadata                                        │
└──────────────────────────────────────────────────────────────────────────────┘

generating gemspec at /<<PKGBUILDDIR>>/debian/ruby-state-machines-activemodel/usr/share/rubygems-integration/all/specifications/state_machines-activemodel-0.5.1.gemspec
/usr/bin/ruby2.5 /usr/bin/gem2deb-test-runner

┌──────────────────────────────────────────────────────────────────────────────┐
│ Checking Rubygems dependency resolution on ruby2.5                           │
└──────────────────────────────────────────────────────────────────────────────┘

Invalid gemspec in [state_machines-activemodel.gemspec]: No such file or directory - git
GEM_PATH=debian/ruby-state-machines-activemodel/usr/share/rubygems-integration/all:/var/lib/gems/2.5.0:/usr/lib/x86_64-linux-gnu/rubygems-integration/2.5.0:/usr/share/rubygems-integration/2.5.0:/usr/share/rubygems-integration/all ruby2.5 -e gem\ \"state_machines-activemodel\"

┌──────────────────────────────────────────────────────────────────────────────┐
│ Run tests for ruby2.5 from debian/ruby-tests.rake                            │
└──────────────────────────────────────────────────────────────────────────────┘

RUBYLIB=/<<PKGBUILDDIR>>/debian/ruby-state-machines-activemodel/usr/lib/ruby/vendor_ruby:. GEM_PATH=debian/ruby-state-machines-activemodel/usr/share/rubygems-integration/all:/var/lib/gems/2.5.0:/usr/lib/x86_64-linux-gnu/rubygems-integration/2.5.0:/usr/share/rubygems-integration/2.5.0:/usr/share/rubygems-integration/all ruby2.5 -S rake -f debian/ruby-tests.rake
/usr/bin/ruby2.5 -w -I"test"  "/usr/lib/ruby/vendor_ruby/rake/rake_test_loader.rb" "test/integration_test.rb" "test/machine_by_default_test.rb" "test/machine_errors_test.rb" "test/machine_multiple_test.rb" "test/machine_with_callbacks_test.rb" "test/machine_with_dirty_attribute_and_custom_attributes_during_loopback_test.rb" "test/machine_with_dirty_attribute_and_state_events_test.rb" "test/machine_with_dirty_attributes_and_custom_attribute_test.rb" "test/machine_with_dirty_attributes_during_loopback_test.rb" "test/machine_with_dirty_attributes_test.rb" "test/machine_with_dynamic_initial_state_test.rb" "test/machine_with_events_test.rb" "test/machine_with_failed_after_callbacks_test.rb" "test/machine_with_failed_before_callbacks_test.rb" "test/machine_with_initialized_state_test.rb" "test/machine_with_internationalization_test.rb" "test/machine_with_model_state_attribute_test.rb" "test/machine_with_non_model_state_attribute_undefined_test.rb" "test/machine_with_state_driven_validations_test.rb" "test/machine_with_states_test.rb" "test/machine_with_static_initial_state_test.rb" "test/machine_with_validations_and_custom_attribute_test.rb" "test/machine_with_validations_test.rb" "test/test_helper.rb" -v
/usr/lib/ruby/vendor_ruby/active_support/core_ext/hash/slice.rb:21: warning: method redefined; discarding old slice
/usr/lib/ruby/vendor_ruby/active_support/core_ext/hash/keys.rb:8: warning: method redefined; discarding old transform_keys
/usr/lib/ruby/vendor_ruby/active_support/core_ext/hash/keys.rb:19: warning: method redefined; discarding old transform_keys!
/usr/lib/ruby/vendor_ruby/state_machines/assertions.rb:14: warning: method redefined; discarding old assert_valid_keys
/usr/lib/ruby/vendor_ruby/active_support/core_ext/hash/keys.rb:71: warning: previous definition of assert_valid_keys was here
/usr/lib/ruby/vendor_ruby/active_support/core_ext/object/duplicable.rb:111: warning: BigDecimal.new is deprecated; use Kernel.BigDecimal method instead.
/usr/lib/ruby/vendor_ruby/active_support/core_ext/enumerable.rb:20: warning: method redefined; discarding old sum
/usr/lib/ruby/vendor_ruby/ruby-progressbar.rb:10: warning: `*' interpreted as argument prefix
/usr/lib/ruby/vendor_ruby/ruby-progressbar/length_calculator.rb:42: warning: assigned but unused variable - rows
/usr/lib/ruby/vendor_ruby/ruby-progressbar/components/estimated_timer.rb:69: warning: `*' interpreted as argument prefix
/usr/lib/ruby/vendor_ruby/ruby-progressbar/base.rb:151: warning: method redefined; discarding old last_update_length
/usr/lib/ruby/vendor_ruby/ruby-progressbar/formatter.rb:33: warning: instance variable @format_string not initialized
/usr/lib/ruby/vendor_ruby/ruby-progressbar/components/timer.rb:32: warning: instance variable @stopped_at not initialized
/usr/lib/ruby/vendor_ruby/ruby-progressbar/components/timer.rb:32: warning: instance variable @stopped_at not initialized
/usr/lib/ruby/vendor_ruby/ruby-progressbar/length_calculator.rb:16: warning: instance variable @current_length not initialized
/usr/lib/ruby/vendor_ruby/ruby-progressbar/components/timer.rb:28: warning: instance variable @started_at not initialized
Started with run options -v --seed 34023



Progress: |/usr/lib/ruby/vendor_ruby/ruby-progressbar/components/timer.rb:32: warning: instance variable @stopped_at not initialized
 FAIL["test_should_support_nil_state_key", Minitest::Result, 2018-09-21 23:01:20 +0000]
 test_should_support_nil_state_key#Minitest::Result (1537570880.71s)
        Expected: "empty"
          Actual: "nil"
        /usr/lib/ruby/vendor_ruby/minitest/assertions.rb:139:in `assert'
        /usr/lib/ruby/vendor_ruby/minitest/assertions.rb:174:in `assert_equal'
        /<<PKGBUILDDIR>>/test/machine_with_internationalization_test.rb:100:in `test_should_support_nil_state_key'
        /usr/lib/ruby/vendor_ruby/minitest/test.rb:98:in `block (3 levels) in run'
        /usr/lib/ruby/vendor_ruby/minitest/test.rb:195:in `capture_exceptions'
        /usr/lib/ruby/vendor_ruby/minitest/test.rb:95:in `block (2 levels) in run'
        /usr/lib/ruby/vendor_ruby/minitest.rb:265:in `time_it'
        /usr/lib/ruby/vendor_ruby/minitest/test.rb:94:in `block in run'
        /usr/lib/ruby/vendor_ruby/minitest.rb:360:in `on_signal'
        /usr/lib/ruby/vendor_ruby/minitest/test.rb:211:in `with_info_handler'
        /usr/lib/ruby/vendor_ruby/minitest/test.rb:93:in `run'
        /usr/lib/ruby/vendor_ruby/minitest/reporters.rb:44:in `run_with_hooks'
        /usr/lib/ruby/vendor_ruby/minitest.rb:960:in `run_one_method'
        /usr/lib/ruby/vendor_ruby/minitest.rb:334:in `run_one_method'
        /usr/lib/ruby/vendor_ruby/minitest.rb:321:in `block (2 levels) in run'
        /usr/lib/ruby/vendor_ruby/minitest.rb:320:in `each'
        /usr/lib/ruby/vendor_ruby/minitest.rb:320:in `block in run'
        /usr/lib/ruby/vendor_ruby/minitest.rb:360:in `on_signal'
        /usr/lib/ruby/vendor_ruby/minitest.rb:347:in `with_info_handler'
        /usr/lib/ruby/vendor_ruby/minitest.rb:319:in `run'
        /usr/lib/ruby/vendor_ruby/minitest.rb:159:in `block in __run'
        /usr/lib/ruby/vendor_ruby/minitest.rb:159:in `map'
        /usr/lib/ruby/vendor_ruby/minitest.rb:159:in `__run'
        /usr/lib/ruby/vendor_ruby/minitest.rb:136:in `run'
        /usr/lib/ruby/vendor_ruby/minitest.rb:63:in `block in autorun'

====================================================================|

Finished in 0.38551s
82 tests, 90 assertions, 1 failures, 0 errors, 0 skips
rake aborted!
Command failed with status (1): [ruby -w -I"test"  "/usr/lib/ruby/vendor_ruby/rake/rake_test_loader.rb" "test/integration_test.rb" "test/machine_by_default_test.rb" "test/machine_errors_test.rb" "test/machine_multiple_test.rb" "test/machine_with_callbacks_test.rb" "test/machine_with_dirty_attribute_and_custom_attributes_during_loopback_test.rb" "test/machine_with_dirty_attribute_and_state_events_test.rb" "test/machine_with_dirty_attributes_and_custom_attribute_test.rb" "test/machine_with_dirty_attributes_during_loopback_test.rb" "test/machine_with_dirty_attributes_test.rb" "test/machine_with_dynamic_initial_state_test.rb" "test/machine_with_events_test.rb" "test/machine_with_failed_after_callbacks_test.rb" "test/machine_with_failed_before_callbacks_test.rb" "test/machine_with_initialized_state_test.rb" "test/machine_with_internationalization_test.rb" "test/machine_with_model_state_attribute_test.rb" "test/machine_with_non_model_state_attribute_undefined_test.rb" "test/machine_with_state_driven_validations_test.rb" "test/machine_with_states_test.rb" "test/machine_with_static_initial_state_test.rb" "test/machine_with_validations_and_custom_attribute_test.rb" "test/machine_with_validations_test.rb" "test/test_helper.rb" -v]

Tasks: TOP => default
(See full trace by running task with --trace)
ERROR: Test "ruby2.5" failed. Exiting.
dh_auto_install: dh_ruby --install /<<PKGBUILDDIR>>/debian/ruby-state-machines-activemodel returned exit code 1
make: *** [debian/rules:8: binary-indep] Error 1
dpkg-buildpackage: error: fakeroot debian/rules binary-indep subprocess returned exit status 2
--------------------------------------------------------------------------------

I assume this will happen randomly because the build log contains a line
saying "random seed" which is different each time.

In fact, I only have this failed build log for now, however, I wonder if the random seed
appearing in the build log would be enough to reproduce the problem.

If yes, then this will surely happen in the buildds (sooner or later,
since it's random), and according to some people, this would make the
bug to be serious. If that's the case I would recommend choosing a
fixed random seed which is known not to make the tests to fail.

Thanks.



More information about the Pkg-ruby-extras-maintainers mailing list