[DRE-maint] Bug#816358: ruby-safe-yaml: FTBFS: undefined method `key?' for nil:NilClass

Chris Lamb lamby at debian.org
Tue Mar 1 07:06:26 UTC 2016


Source: ruby-safe-yaml
Version: 1.0.4-1
Severity: serious
Justification: fails to build from source
User: reproducible-builds at lists.alioth.debian.org
Usertags: ftbfs
X-Debbugs-Cc: reproducible-builds at lists.alioth.debian.org

Dear Maintainer,

ruby-safe-yaml fails to build from source in unstable/amd64:

[..]

  F....................................
  
  Failures:
  
    1) Psych unsafe_load with special whitelisted tags defined effectively ignores the whitelist (since everything is whitelisted)
       Failure/Error: result = YAML.unsafe_load <<-YAML.unindent
       NoMethodError:
         undefined method `key?' for nil:NilClass
       # ./spec/safe_yaml_spec.rb:51:in `block (4 levels) in <top (required)>'
  
    2) Psych safe_load with special whitelisted tags defined will allow objects to be deserialized for whitelisted tags
       Failure/Error: result = YAML.safe_load("--- !ruby/object:OpenStruct\ntable:\n  foo: bar\n")
       NoMethodError:
         undefined method `key?' for nil:NilClass
       # ./lib/safe_yaml/safe_to_ruby_visitor.rb:23:in `accept'
       # ./lib/safe_yaml/psych_resolver.rb:26:in `native_resolve'
       # ./lib/safe_yaml/resolver.rb:12:in `resolve_node'
       # ./lib/safe_yaml/resolver.rb:55:in `block in resolve_seq'
       # ./lib/safe_yaml/resolver.rb:55:in `each'
       # ./lib/safe_yaml/resolver.rb:55:in `inject'
       # ./lib/safe_yaml/resolver.rb:55:in `resolve_seq'
       # ./lib/safe_yaml/psych_resolver.rb:17:in `resolve_root'
       # ./lib/safe_yaml/resolver.rb:16:in `resolve_node'
       # ./lib/safe_yaml/load.rb:151:in `load'
       # ./lib/safe_yaml.rb:29:in `safe_load'
       # ./spec/safe_yaml_spec.rb:319:in `block (4 levels) in <top (required)>'
  
    3) Psych safe_load with special whitelisted tags defined will not allow non-whitelisted objects to be embedded within objects with whitelisted tags
       Failure/Error: result = YAML.safe_load <<-YAML.unindent
       NoMethodError:
         undefined method `key?' for nil:NilClass
       # ./lib/safe_yaml/safe_to_ruby_visitor.rb:23:in `accept'
       # ./lib/safe_yaml/psych_resolver.rb:26:in `native_resolve'
       # ./lib/safe_yaml/resolver.rb:12:in `resolve_node'
       # ./lib/safe_yaml/resolver.rb:55:in `block in resolve_seq'
       # ./lib/safe_yaml/resolver.rb:55:in `each'
       # ./lib/safe_yaml/resolver.rb:55:in `inject'
       # ./lib/safe_yaml/resolver.rb:55:in `resolve_seq'
       # ./lib/safe_yaml/psych_resolver.rb:17:in `resolve_root'
       # ./lib/safe_yaml/resolver.rb:16:in `resolve_node'
       # ./lib/safe_yaml/load.rb:151:in `load'
       # ./lib/safe_yaml.rb:29:in `safe_load'
       # ./spec/safe_yaml_spec.rb:331:in `block (4 levels) in <top (required)>'
  
    4) Psych safe_load with special whitelisted tags defined with the :raise_on_unknown_tag option enabled does not raise an exception as long as all tags are whitelisted
       Failure/Error: result = YAML.safe_load <<-YAML.unindent
       NoMethodError:
         undefined method `key?' for nil:NilClass
       # ./lib/safe_yaml/safe_to_ruby_visitor.rb:23:in `accept'
       # ./lib/safe_yaml/psych_resolver.rb:26:in `native_resolve'
       # ./lib/safe_yaml/resolver.rb:12:in `resolve_node'
       # ./lib/safe_yaml/resolver.rb:55:in `block in resolve_seq'
       # ./lib/safe_yaml/resolver.rb:55:in `each'
       # ./lib/safe_yaml/resolver.rb:55:in `inject'
       # ./lib/safe_yaml/resolver.rb:55:in `resolve_seq'
       # ./lib/safe_yaml/psych_resolver.rb:17:in `resolve_root'
       # ./lib/safe_yaml/resolver.rb:16:in `resolve_node'
       # ./lib/safe_yaml/load.rb:151:in `load'
       # ./lib/safe_yaml.rb:29:in `safe_load'
       # ./spec/safe_yaml_spec.rb:373:in `block (5 levels) in <top (required)>'
  
    5) Psych safe_load when options are passed direclty to #load which differ from the defaults (or, for example, when certain tags are whitelisted) goes with the default option when it is not overridden
       Failure/Error: YAML.safe_load(yaml, nil, options)
       NoMethodError:
         undefined method `key?' for nil:NilClass
       # ./lib/safe_yaml/safe_to_ruby_visitor.rb:23:in `accept'
       # ./lib/safe_yaml/psych_resolver.rb:26:in `native_resolve'
       # ./lib/safe_yaml/resolver.rb:12:in `resolve_node'
       # ./lib/safe_yaml/resolver.rb:55:in `block in resolve_seq'
       # ./lib/safe_yaml/resolver.rb:55:in `each'
       # ./lib/safe_yaml/resolver.rb:55:in `inject'
       # ./lib/safe_yaml/resolver.rb:55:in `resolve_seq'
       # ./lib/safe_yaml/psych_resolver.rb:17:in `resolve_root'
       # ./lib/safe_yaml/resolver.rb:16:in `resolve_node'
       # ./lib/safe_yaml/load.rb:151:in `load'
       # ./lib/safe_yaml.rb:29:in `safe_load'
       # ./spec/safe_yaml_spec.rb:7:in `safe_load_round_trip'
       # ./spec/safe_yaml_spec.rb:459:in `block (5 levels) in <top (required)>'
  
    6) Psych whitelist! with a Class as its argument successfully deserializes the specified class
       Failure/Error: YAML.safe_load(yaml, nil, options)
       NoMethodError:
         undefined method `key?' for nil:NilClass
       # ./lib/safe_yaml/safe_to_ruby_visitor.rb:23:in `accept'
       # ./lib/safe_yaml/psych_resolver.rb:26:in `native_resolve'
       # ./lib/safe_yaml/resolver.rb:12:in `resolve_node'
       # ./lib/safe_yaml/resolver.rb:55:in `block in resolve_seq'
       # ./lib/safe_yaml/resolver.rb:55:in `each'
       # ./lib/safe_yaml/resolver.rb:55:in `inject'
       # ./lib/safe_yaml/resolver.rb:55:in `resolve_seq'
       # ./lib/safe_yaml/psych_resolver.rb:17:in `resolve_root'
       # ./lib/safe_yaml/resolver.rb:16:in `resolve_node'
       # ./lib/safe_yaml/load.rb:151:in `load'
       # ./lib/safe_yaml.rb:29:in `safe_load'
       # ./spec/safe_yaml_spec.rb:7:in `safe_load_round_trip'
       # ./spec/safe_yaml_spec.rb:694:in `block (4 levels) in <top (required)>'
  
  Finished in 0.15867 seconds (files took 0.18452 seconds to load)
  129 examples, 6 failures
  
  Failed examples:
  
  rspec ./spec/safe_yaml_spec.rb:50 # Psych unsafe_load with special whitelisted tags defined effectively ignores the whitelist (since everything is whitelisted)
  rspec ./spec/safe_yaml_spec.rb:318 # Psych safe_load with special whitelisted tags defined will allow objects to be deserialized for whitelisted tags
  rspec ./spec/safe_yaml_spec.rb:330 # Psych safe_load with special whitelisted tags defined will not allow non-whitelisted objects to be embedded within objects with whitelisted tags
  rspec ./spec/safe_yaml_spec.rb:372 # Psych safe_load with special whitelisted tags defined with the :raise_on_unknown_tag option enabled does not raise an exception as long as all tags are whitelisted
  rspec ./spec/safe_yaml_spec.rb:458 # Psych safe_load when options are passed direclty to #load which differ from the defaults (or, for example, when certain tags are whitelisted) goes with the default option when it is not overridden
  rspec ./spec/safe_yaml_spec.rb:688 # Psych whitelist! with a Class as its argument successfully deserializes the specified class
  
  debian/ruby-tests.rb:16:in `block in <main>': unhandled exception
  	from debian/ruby-tests.rb:14:in `each'
  	from debian/ruby-tests.rb:14:in `<main>'
  ERROR: Test "ruby2.3" failed. Exiting.
  dh_auto_install: dh_ruby --install /home/lamby/temp/cdt.20160301070212.V3KnndVdwf/ruby-safe-yaml-1.0.4/debian/ruby-safe-yaml returned exit code 1
  debian/rules:6: recipe for target 'binary' failed
  make: *** [binary] Error 1

  [..]

The full build log is attached.


Regards,

-- 
      ,''`.
     : :'  :     Chris Lamb
     `. `'`      lamby at debian.org / chris-lamb.co.uk
       `-
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ruby-safe-yaml.1.0.4-1.unstable.amd64.log.txt.gz
Type: application/octet-stream
Size: 2775 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-ruby-extras-maintainers/attachments/20160301/334a6dea/attachment.obj>


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