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

NoMethodError: undefined method `local_to_utc' for nil:NilClass #34555

Closed
yahonda opened this issue Nov 28, 2018 · 0 comments
Closed

NoMethodError: undefined method `local_to_utc' for nil:NilClass #34555

yahonda opened this issue Nov 28, 2018 · 0 comments

Comments

@yahonda
Copy link
Member

yahonda commented Nov 28, 2018

https://travis-ci.org/rails/rails/jobs/460633839 shows CI failure. I am able to reproduce it.

Steps to reproduce

$ cd activerecord
$ bin/test test/cases/serialized_attribute_test.rb test/cases/yaml_serialization_test.rb test/cases/multiparameter_attributes_test.rb --seed 14692 -n "/^(?:SerializedAttributeTest#(?:test_serialized_string_attribute)|YamlSerializationTest#(?:test_to_yaml_with_time_with_zone_should_not_raise_exception)|MultiParameterAttributeTest#(?:test_create_with_multiparameter_attributes_setting_date_attribute|test_multiparameter_attributes_on_time_with_empty_seconds|test_multiparameter_attributes_on_time_with_old_date|test_multiparameter_attributes_on_time_with_utc|test_multiparameter_attributes_setting_date_and_time_attribute))$/" -v

Expected behavior

It should pass.

Actual behavior

$ bin/test test/cases/serialized_attribute_test.rb test/cases/yaml_serialization_test.rb test/cases/multiparameter_attributes_test.rb --seed 14692 -n "/^(?:SerializedAttributeTest#(?:test_serialized_string_attribute)|YamlSerializationTest#(?:test_to_yaml_with_time_with_zone_should_not_raise_exception)|MultiParameterAttributeTest#(?:test_create_with_multiparameter_attributes_setting_date_attribute|test_multiparameter_attributes_on_time_with_empty_seconds|test_multiparameter_attributes_on_time_with_old_date|test_multiparameter_attributes_on_time_with_utc|test_multiparameter_attributes_setting_date_and_time_attribute))$/" -v
Using sqlite3
Run options: --seed 14692 -n "/^(?:SerializedAttributeTest#(?:test_serialized_string_attribute)|YamlSerializationTest#(?:test_to_yaml_with_time_with_zone_should_not_raise_exception)|MultiParameterAttributeTest#(?:test_create_with_multiparameter_attributes_setting_date_attribute|test_multiparameter_attributes_on_time_with_empty_seconds|test_multiparameter_attributes_on_time_with_old_date|test_multiparameter_attributes_on_time_with_utc|test_multiparameter_attributes_setting_date_and_time_attribute))$/" -v

# Running:

SerializedAttributeTest#test_serialized_string_attribute = 0.05 s = .
YamlSerializationTest#test_to_yaml_with_time_with_zone_should_not_raise_exception = 0.03 s = .
MultiParameterAttributeTest#test_multiparameter_attributes_on_time_with_old_date = 0.00 s = E


Error:
MultiParameterAttributeTest#test_multiparameter_attributes_on_time_with_old_date:
NoMethodError: undefined method `local_to_utc' for nil:NilClass
    /home/yahonda/git/rails/activerecord/lib/active_record/attribute_methods/time_zone_conversion.rb:42:in `set_time_zone_without_conversion'
    /home/yahonda/git/rails/activerecord/lib/active_record/attribute_methods/time_zone_conversion.rb:15:in `cast'
    /home/yahonda/git/rails/activemodel/lib/active_model/attribute.rb:174:in `type_cast'
    /home/yahonda/git/rails/activemodel/lib/active_model/attribute.rb:42:in `value'
    /home/yahonda/git/rails/activemodel/lib/active_model/attribute_set.rb:48:in `fetch_value'
    /home/yahonda/git/rails/activerecord/lib/active_record/attribute_methods/read.rb:53:in `_read_attribute'
    /home/yahonda/git/rails/activerecord/lib/active_record/attribute_methods/read.rb:21:in `written_on'
    /home/yahonda/git/rails/activerecord/test/cases/multiparameter_attributes_test.rb:111:in `test_multiparameter_attributes_on_time_with_old_date'


bin/test test/cases/multiparameter_attributes_test.rb:103

MultiParameterAttributeTest#test_create_with_multiparameter_attributes_setting_date_attribute = 0.00 s = E


Error:
MultiParameterAttributeTest#test_create_with_multiparameter_attributes_setting_date_attribute:
NoMethodError: undefined method `local_to_utc' for nil:NilClass
    /home/yahonda/git/rails/activerecord/lib/active_record/attribute_methods/time_zone_conversion.rb:42:in `set_time_zone_without_conversion'
    /home/yahonda/git/rails/activerecord/lib/active_record/attribute_methods/time_zone_conversion.rb:15:in `cast'
    /home/yahonda/git/rails/activemodel/lib/active_model/attribute.rb:174:in `type_cast'
    /home/yahonda/git/rails/activemodel/lib/active_model/attribute.rb:42:in `value'
    /home/yahonda/git/rails/activemodel/lib/active_model/attribute_set.rb:48:in `fetch_value'
    /home/yahonda/git/rails/activerecord/lib/active_record/attribute_methods/read.rb:53:in `_read_attribute'
    /home/yahonda/git/rails/activerecord/lib/active_record/attribute_methods/read.rb:21:in `written_on'
    /home/yahonda/git/rails/activerecord/test/cases/multiparameter_attributes_test.rb:305:in `test_create_with_multiparameter_attributes_setting_date_attribute'


bin/test test/cases/multiparameter_attributes_test.rb:303

MultiParameterAttributeTest#test_multiparameter_attributes_setting_date_and_time_attribute = 0.00 s = E


Error:
MultiParameterAttributeTest#test_multiparameter_attributes_setting_date_and_time_attribute:
NoMethodError: undefined method `local_to_utc' for nil:NilClass
    /home/yahonda/git/rails/activerecord/lib/active_record/attribute_methods/time_zone_conversion.rb:42:in `set_time_zone_without_conversion'
    /home/yahonda/git/rails/activerecord/lib/active_record/attribute_methods/time_zone_conversion.rb:15:in `cast'
    /home/yahonda/git/rails/activemodel/lib/active_model/attribute.rb:174:in `type_cast'
    /home/yahonda/git/rails/activemodel/lib/active_model/attribute.rb:42:in `value'
    /home/yahonda/git/rails/activemodel/lib/active_model/attribute_set.rb:48:in `fetch_value'
    /home/yahonda/git/rails/activerecord/lib/active_record/attribute_methods/read.rb:53:in `_read_attribute'
    /home/yahonda/git/rails/activerecord/lib/active_record/attribute_methods/read.rb:21:in `written_on'
    /home/yahonda/git/rails/activerecord/test/cases/multiparameter_attributes_test.rb:317:in `test_multiparameter_attributes_setting_date_and_time_attribute'


bin/test test/cases/multiparameter_attributes_test.rb:310

MultiParameterAttributeTest#test_multiparameter_attributes_on_time_with_utc = 0.00 s = E


Error:
MultiParameterAttributeTest#test_multiparameter_attributes_on_time_with_utc:
NoMethodError: undefined method `local_to_utc' for nil:NilClass
    /home/yahonda/git/rails/activerecord/lib/active_record/attribute_methods/time_zone_conversion.rb:42:in `set_time_zone_without_conversion'
    /home/yahonda/git/rails/activerecord/lib/active_record/attribute_methods/time_zone_conversion.rb:15:in `cast'
    /home/yahonda/git/rails/activemodel/lib/active_model/attribute.rb:174:in `type_cast'
    /home/yahonda/git/rails/activemodel/lib/active_model/attribute.rb:42:in `value'
    /home/yahonda/git/rails/activemodel/lib/active_model/attribute_set.rb:48:in `fetch_value'
    /home/yahonda/git/rails/activerecord/lib/active_record/attribute_methods/read.rb:53:in `_read_attribute'
    /home/yahonda/git/rails/activerecord/lib/active_record/attribute_methods/read.rb:21:in `written_on'
    /home/yahonda/git/rails/activerecord/test/cases/multiparameter_attributes_test.rb:186:in `block in test_multiparameter_attributes_on_time_with_utc'
    /home/yahonda/git/rails/activerecord/test/cases/helper.rb:87:in `with_timezone_config'
    /home/yahonda/git/rails/activerecord/test/cases/multiparameter_attributes_test.rb:179:in `test_multiparameter_attributes_on_time_with_utc'


bin/test test/cases/multiparameter_attributes_test.rb:178

MultiParameterAttributeTest#test_multiparameter_attributes_on_time_with_empty_seconds = 0.00 s = E


Error:
MultiParameterAttributeTest#test_multiparameter_attributes_on_time_with_empty_seconds:
NoMethodError: undefined method `local_to_utc' for nil:NilClass
    /home/yahonda/git/rails/activerecord/lib/active_record/attribute_methods/time_zone_conversion.rb:42:in `set_time_zone_without_conversion'
    /home/yahonda/git/rails/activerecord/lib/active_record/attribute_methods/time_zone_conversion.rb:15:in `cast'
    /home/yahonda/git/rails/activemodel/lib/active_model/attribute.rb:174:in `type_cast'
    /home/yahonda/git/rails/activemodel/lib/active_model/attribute.rb:42:in `value'
    /home/yahonda/git/rails/activemodel/lib/active_model/attribute_set.rb:48:in `fetch_value'
    /home/yahonda/git/rails/activerecord/lib/active_record/attribute_methods/read.rb:53:in `_read_attribute'
    /home/yahonda/git/rails/activerecord/lib/active_record/attribute_methods/read.rb:21:in `written_on'
    /home/yahonda/git/rails/activerecord/test/cases/multiparameter_attributes_test.rb:292:in `block in test_multiparameter_attributes_on_time_with_empty_seconds'
    /home/yahonda/git/rails/activerecord/test/cases/helper.rb:87:in `with_timezone_config'
    /home/yahonda/git/rails/activerecord/test/cases/multiparameter_attributes_test.rb:285:in `test_multiparameter_attributes_on_time_with_empty_seconds'


bin/test test/cases/multiparameter_attributes_test.rb:284


Finished in 0.095618s, 73.2077 runs/s, 10.4582 assertions/s.
7 runs, 1 assertions, 0 failures, 5 errors, 0 skips
$

System configuration

Rails version: master branch

Ruby version: ruby -v
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux]
It also reproduces with ruby 2.5.3p105 (2018-10-18 revision 65156) [x86_64-linux]

kamipo added a commit that referenced this issue Feb 28, 2019
This fixes both #34555 and #34738.

Revert "Merge pull request #34900 from gmcgibbon/fix_test_find_only_some_columns"

This reverts commit ff807f8, reversing
changes made to 9f1a07a.

Revert "Merge pull request #34560 from gmcgibbon/fix_decorate_leak_on_serial_attr_test"

This reverts commit bd62389, reversing
changes made to ec66c6a.

Revert "Fix unstable `test_serialized_attribute_works_under_concurrent_initial_access` test"

This reverts commit 65c4b1b.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants