Jira (PUP-8418) TypeError no implicit conversion of nil into String in puppet 5.3.4

2 views
Skip to first unread message

Matej Žerovnik (JIRA)

unread,
Feb 6, 2018, 1:06:03 AM2/6/18
to puppe...@googlegroups.com
Matej Žerovnik created an issue
 
Puppet / Bug PUP-8418
TypeError no implicit conversion of nil into String in puppet 5.3.4
Issue Type: Bug Bug
Affects Versions: PUP 5.3.4
Assignee: Unassigned
Created: 2018/02/05 10:05 PM
Priority: Normal Normal
Reporter: Matej Žerovnik

Puppet Version:
Puppet Server Version:
OS Name/Version:

Describe your issue in as much detail as possible…
Describe steps to reproduce…

Desired Behavior:

Actual Behavior:

Please take a moment and attach any relevant log output and/or manifests. This will help us immensely when troubleshooting the issue.

Examples:
Run puppet agent with --test --trace --debug

Relevant sections of /var/log/puppetlabs/puppetserver/puppetserver.log or any applicable logs from the same directory.

For more detailed information turn up the server logs by upping the log level in the server's logback.xml

Relevant sections of configurations files (puppet.conf, hiera.conf, Server's conf.d, defaults/sysconfig)

For memory issues with server heap dumps are also helpful.

Add Comment Add Comment
 
This message was sent by Atlassian JIRA (v7.5.1#75006-sha1:7df2574)
Atlassian logo

Matej Žerovnik (JIRA)

unread,
Feb 6, 2018, 1:10:03 AM2/6/18
to puppe...@googlegroups.com
Matej Žerovnik updated an issue
Change By: Matej Žerovnik
Acceptance Criteria: Puppet Version: 5.3.4
Puppet Server Version: /
OS Name/Version: CentOS docker container

My rspec tests are failing since I upgraded to puppet 5.3.4. Tests are working OK on 3.8.x and 5.3.3.

Error:
{code:java}
Failures:
1) logstash main class should compile into a catalogue without dependency cycles
Failure/Error: it { should compile.with_all_deps }

TypeError:
no implicit conversion of nil into String
# /usr/local/bundle/gems/puppet-5.3.4/lib/puppet/module.rb:316:in `join'
# /usr/local/bundle/gems/puppet-5.3.4/lib/puppet/module.rb:316:in `has_translations?'
# /usr/local/bundle/gems/puppet-5.3.4/lib/puppet/gettext/module_translations.rb:12:in `block in load_from_modulepath'
# /usr/local/bundle/gems/puppet-5.3.4/lib/puppet/gettext/module_translations.rb:11:in `each'
# /usr/local/bundle/gems/puppet-5.3.4/lib/puppet/gettext/module_translations.rb:11:in `load_from_modulepath'
# /usr/local/bundle/gems/puppet-5.3.4/lib/puppet/node/environment.rb:444:in `use_text_domain'
# /usr/local/bundle/gems/puppet-5.3.4/lib/puppet/indirector/catalog/compiler.rb:52:in `find'
# /usr/local/bundle/gems/puppet-5.3.4/lib/puppet/indirector/indirection.rb:198:in `find'
# /usr/local/bundle/gems/rspec-puppet-2.6.9/lib/rspec-puppet/adapters.rb:83:in `catalog'
# /usr/local/bundle/gems/rspec-puppet-2.6.9/lib/rspec-puppet/adapters.rb:161:in `catalog'
# /usr/local/bundle/gems/rspec-puppet-2.6.9/lib/rspec-puppet/support.rb:354:in `build_catalog_without_cache'
# /usr/local/bundle/gems/rspec-puppet-2.6.9/lib/rspec-puppet/support.rb:375:in `block in build_catalog'
# /usr/local/bundle/gems/rspec-puppet-2.6.9/lib/rspec-puppet/cache.rb:17:in `call'
# /usr/local/bundle/gems/rspec-puppet-2.6.9/lib/rspec-puppet/cache.rb:17:in `get'
# /usr/local/bundle/gems/rspec-puppet-2.6.9/lib/rspec-puppet/support.rb:374:in `build_catalog'
# /usr/local/bundle/gems/rspec-puppet-2.6.9/lib/rspec-puppet/support.rb:75:in `block in load_catalogue'
# /usr/local/bundle/gems/rspec-puppet-2.6.9/lib/rspec-puppet/support.rb:319:in `with_vardir'
# /usr/local/bundle/gems/rspec-puppet-2.6.9/lib/rspec-puppet/support.rb:69:in `load_catalogue'
# /usr/local/bundle/gems/rspec-puppet-2.6.9/lib/rspec-puppet/example/class_example_group.rb:7:in `catalogue'
# /usr/local/bundle/gems/rspec-puppet-2.6.9/lib/rspec-puppet/support.rb:10:in `block in subject'
# /usr/local/bundle/gems/rspec-puppet-2.6.9/lib/rspec-puppet/matchers/compile.rb:23:in `call'
# /usr/local/bundle/gems/rspec-puppet-2.6.9/lib/rspec-puppet/matchers/compile.rb:23:in `matches?'
# ./spec/classes/init_spec.rb:33:in `block (3 levels) in <top (required)>'
{code}
 

Desired Behavior:

Tests should pass without a problem.

Actual Behavior:

I get a 'no implicit conversion of nil into String' error for all tests

 
*Puppet Version:*
*Puppet Server Version:*
*OS Name/Version:*


Describe your issue in as much detail as possible…
Describe steps to reproduce…

*Desired Behavior:*

*Actual Behavior:*


Please take a moment and attach any relevant log output and/or manifests. This will help us immensely when troubleshooting the issue.

Examples:
Run puppet agent with --test --trace --debug

Relevant sections of {{/var/log/puppetlabs/puppetserver/puppetserver.log}} or any applicable logs from the same directory.

For more detailed information turn up the server logs by upping the log level in the server's logback.xml

Relevant sections of configurations files (puppet.conf, hiera.conf, Server's conf.d, defaults/sysconfig)

For memory issues with server heap dumps are also helpful.

Matej Žerovnik (JIRA)

unread,
Feb 6, 2018, 1:13:03 AM2/6/18
to puppe...@googlegroups.com
Change By: Matej Žerovnik
Acceptance Criteria:
  I hope this is a puppet bug. If not, please let me know which component is problematic and I'll open a bug there.
*Puppet Version:*
*Puppet Server Version:*
*OS Name/Version:*

Describe your issue in as much detail as possible…
Describe steps to reproduce…

*Desired Behavior:*

*Actual Behavior:*

Please take a moment and attach any relevant log output and/or manifests. This will help us immensely when troubleshooting the issue.

Examples:
Run puppet agent with --test --trace --debug

Relevant sections of {{/var/log/puppetlabs/puppetserver/puppetserver.log}} or any applicable logs from the same directory.

For more detailed information turn up the server logs by upping the log level in the server's logback.xml

Relevant sections of configurations files (puppet.conf, hiera.conf, Server's conf.d, defaults/sysconfig)

For memory issues with server heap dumps are also helpful.
Add Comment Add Comment
 

Matej Žerovnik (JIRA)

unread,
Feb 6, 2018, 2:29:02 AM2/6/18
to puppe...@googlegroups.com
*Puppet Version:* 5.3.4
*Puppet Server Version:*
/
*OS Name/Version:*
CentOS7  docker container

Describe your issue My rspec tests are failing since I upgraded to puppet 5.3.4. Tests are working OK on 3.8.x and 5.3.3.


Error:
{code:java}Failures:
1) logstash main class should compile into a catalogue without dependency cycles
Failure/Error: it { should compile.with_all_deps }
TypeError:
no implicit conversion of nil into String
# /usr/local/bundle/gems/puppet-5.3.4/lib/puppet/module.rb:316: in as much detail as possible… `join'
Describe steps to reproduce… # /usr/local/bundle/gems/puppet-5.3.4/lib/puppet/module.rb:316:in `has_translations?'
# /usr/local/bundle/gems/puppet-5.3.4/lib/puppet/gettext/module_translations.rb:12:in `block in load_from_modulepath'
*Desired Behavior # /usr/local/bundle/gems/puppet-5.3.4/lib/puppet/gettext/module_translations.rb : * 11:in `each'
# /usr/local/bundle/gems/puppet-5.3.4/lib/puppet/gettext/module_translations.rb:11:in `load_from_modulepath'
*Actual Behavior # /usr/local/bundle/gems/puppet-5.3.4/lib/puppet/node/environment.rb : * 444:in `use_text_domain'
# /usr/local/bundle/gems/puppet-5.3.4/lib/puppet/indirector/catalog/compiler.rb:52:in `find'
Please take a moment and attach any relevant log output and # / or manifests usr/local/bundle/gems/puppet-5 . This will help us immensely when troubleshooting the issue 3 . 4/lib/puppet/indirector/indirection.rb:198:in `find'
# /usr/local/bundle/gems/rspec-puppet-2.6.9/lib/rspec-puppet/adapters.rb:83:in `catalog'
Examples # /usr/local/bundle/gems/rspec-puppet-2.6.9/lib/rspec-puppet/adapters.rb : 161:in `catalog'
Run # /usr/local/bundle/gems/rspec- puppet agent with - 2.6.9/lib/rspec - test puppet/support.rb:354:in `build_catalog_without_cache'
# /usr/local/bundle/gems/rspec
- puppet - trace 2.6.9/lib/rspec - puppet/support.rb:375:in `block in build_catalog'
# /usr/local/bundle/gems/rspec
- debug puppet-2.6.9/lib/rspec-puppet/cache.rb:17:in `call'
# /usr/local/bundle/gems/rspec-puppet-2.6.9/lib/rspec-puppet/cache.rb:17:in `get'
Relevant sections of {{ # / var usr / log local / puppetlabs bundle / puppetserver gems / puppetserver rspec-puppet-2 . log}} or any applicable logs from the same directory 6 . 9/lib/rspec-puppet/support.rb:374:in `build_catalog'
# /usr/local/bundle/gems/rspec-puppet-2.6.9/lib/rspec-puppet/support.rb:75:in `block in load_catalogue'
For more detailed information turn up the server logs by upping the log level # /usr/local/bundle/gems/rspec-puppet-2.6.9/lib/rspec-puppet/support.rb:319: in the server `with_vardir ' s logback
# /usr/local/bundle/gems/rspec-puppet-2
. xml 6.9/lib/rspec-puppet/support.rb:69:in `load_catalogue'
# /usr/local/bundle/gems/rspec-puppet-2.6.9/lib/rspec-puppet/example/class_example_group.rb:7:in `catalogue'
Relevant sections of configurations files ( # /usr/local/bundle/gems/rspec- puppet -2 . conf, hiera 6 . conf, Server 9/lib/rspec-puppet/support.rb:10:in `block in subject ' s conf
# /usr/local/bundle/gems/rspec-puppet-2
. d, defaults 6.9 / sysconfig lib/rspec-puppet/matchers/compile.rb:23:in `call'

# /usr/local/bundle/gems/rspec-puppet-2.6.9/lib/rspec-puppet/matchers/compile.rb:23:in `matches?'
# ./spec/classes/init_spec.rb:33:in `block (3 levels
) in <top (required)>'
{code}
For memory issues with server heap dumps are also helpful
 

*Desired Behavior:*


Tests should pass without a problem
.

*Actual Behavior:*


I get a 'no implicit conversion of nil into String' error for all tests

I hope this is a puppet bug. If not, please let me know which component is problematic and I'll open a bug there.

Henrik Lindberg (JIRA)

unread,
Feb 6, 2018, 4:16:03 AM2/6/18
to puppe...@googlegroups.com
Henrik Lindberg commented on Bug PUP-8418
 
Re: TypeError no implicit conversion of nil into String in puppet 5.3.4

This seems to be a problem with rspec-puppet and I18N - suspect something is missing in the setup

Gavin Williams (JIRA)

unread,
Feb 6, 2018, 5:19:03 AM2/6/18
to puppe...@googlegroups.com

Matej Žerovnik (JIRA)

unread,
Feb 6, 2018, 8:00:06 AM2/6/18
to puppe...@googlegroups.com

Thank you very much for response and opening of the ticket. Since it works under 5.3.3, I just assume it was something in puppet 5.3.4 that was broken.

Will follow the ticket in rspec-puppet.

Gavin Williams (JIRA)

unread,
Feb 6, 2018, 8:50:04 AM2/6/18
to puppe...@googlegroups.com

Maggie Dreyer (JIRA)

unread,
Feb 6, 2018, 12:22:05 PM2/6/18
to puppe...@googlegroups.com
Maggie Dreyer commented on Bug PUP-8418
 
Re: TypeError no implicit conversion of nil into String in puppet 5.3.4

This is definitely a Puppet bug, related to calling GettextSetup.initialize, probably either in Puppet's Rakefile or in the puppetlabs_spec_helper Rakefile. Puppet and GettextSetup make different assumptions about how the underlying fast_gettext library is used, that we are working to reconcile. See PUP-8407 (https://github.com/puppetlabs/puppet/commit/4ad1f430c09df91238e9710fb617786b36a08efa) for one example of a patch. However, now that it appears that this is happening in more than one place, I would like to fix this in GettextSetup itself.

We'll look into this further; thanks for bringing this to our attention!

Josh Cooper (JIRA)

unread,
Feb 6, 2018, 8:33:03 PM2/6/18
to puppe...@googlegroups.com
Josh Cooper commented on Bug PUP-8418

This issue is due interactions between puppet and gettext-setup, which can be triggered a number of different ways, one of which is to require 'semantic_puppet' because it calls GettextSetup.initialize.

Here's a summary of what needs to be fixed:

  1. Update gettext-setup-gem so that it only overrides FastGettext.default_available_locales = nil when it's initialize method is called. See https://github.com/puppetlabs/gettext-setup-gem/issues/61.
  2. Update puppetlabs_spec_helper rake task to no longer call GettextSetup.initialize It only needs to require the gettext.rake. See MODULES-6606.
  3. Puppet (as a gem) has a runtime dependency on gettext-setup due to https://github.com/puppetlabs/puppet/blob/master/ext/project_data.yaml#L24. We meant to do that in PUP-8249, but unfortunately gem records its gem dependencies in multiple places. See PUP-8432.
  4. Update semantic_puppet

The modules team recently pushed a new version of puppet_pot_generator which removed the unnecessary dependency on semantic_puppet. The former is a dependency of puppet-module-dev which is included in every module.

Josh Cooper (JIRA)

unread,
Feb 7, 2018, 3:13:06 AM2/7/18
to puppe...@googlegroups.com

Josh Cooper (JIRA)

unread,
Feb 7, 2018, 3:13:07 AM2/7/18
to puppe...@googlegroups.com

Josh Cooper (JIRA)

unread,
Feb 7, 2018, 3:13:08 AM2/7/18
to puppe...@googlegroups.com

Josh Cooper (JIRA)

unread,
Feb 7, 2018, 3:13:08 AM2/7/18
to puppe...@googlegroups.com

Josh Cooper (JIRA)

unread,
Feb 7, 2018, 3:13:09 AM2/7/18
to puppe...@googlegroups.com

Josh Cooper (JIRA)

unread,
Feb 7, 2018, 3:13:10 AM2/7/18
to puppe...@googlegroups.com
Josh Cooper updated an issue
Change By: Josh Cooper
Fix Version/s: PUP 5.4.0
Fix Version/s: PUP 5.3.5

Kenn Hussey (JIRA)

unread,
Feb 9, 2018, 1:23:04 PM2/9/18
to puppe...@googlegroups.com
Kenn Hussey commented on Bug PUP-8418
 
Re: TypeError no implicit conversion of nil into String in puppet 5.3.4

Josh Cooper are we still trying to get this into 5.3.5 / 5.4.0 or should it be retargeted at this point?

Kenn Hussey (JIRA)

unread,
Feb 9, 2018, 5:14:06 PM2/9/18
to puppe...@googlegroups.com

Kenn Hussey (JIRA)

unread,
Feb 9, 2018, 5:14:07 PM2/9/18
to puppe...@googlegroups.com
Kenn Hussey updated an issue
Change By: Kenn Hussey
Fix Version/s: PUP 5.3.5
Fix Version/s: PUP 5.4.0
Fix Version/s: PUP 5.4.z
Fix Version/s: PUP 5.3.z

Josh Cooper (JIRA)

unread,
Feb 9, 2018, 5:56:04 PM2/9/18
to puppe...@googlegroups.com

Josh Cooper (JIRA)

unread,
Feb 12, 2018, 12:29:04 PM2/12/18
to puppe...@googlegroups.com
Josh Cooper commented on Bug PUP-8418
 
Re: TypeError no implicit conversion of nil into String in puppet 5.3.4

Kenn Hussey I believe the root cause will be fixed in gettext-setup and that this can be retargeted for 5.3.6/5.4.1.

Josh Cooper (JIRA)

unread,
Feb 12, 2018, 12:36:04 PM2/12/18
to puppe...@googlegroups.com

Josh Cooper (JIRA)

unread,
Feb 12, 2018, 2:56:05 PM2/12/18
to puppe...@googlegroups.com

Josh Cooper (JIRA)

unread,
Mar 12, 2018, 1:46:06 PM3/12/18
to puppe...@googlegroups.com
Josh Cooper commented on Bug PUP-8418
 
Re: TypeError no implicit conversion of nil into String in puppet 5.3.4

3 of the 4 items above are complete, and the 4th item will be done in the next few days. I don't think there's anything remaining to do for puppet or puppet-agent. Closing this as a dup of PUP-8407.

This message was sent by Atlassian JIRA (v7.7.1#77002-sha1:e75ca93)
Atlassian logo

John Duarte (JIRA)

unread,
Oct 21, 2019, 10:58:04 AM10/21/19
to puppe...@googlegroups.com
John Duarte updated an issue
 
Change By: John Duarte
QA Risk Assessment: Needs Assessment No Action
Reply all
Reply to author
Forward
0 new messages