Bug #2604

Ruby 1.8.1's known bad syck causes core dumps

Added by Ohad Levy 11 months ago. Updated 3 months ago.

Status:Closed Start:09/07/2009
Priority:Low Due date:
Assigned to:Markus Roberts % Done:

0%

Category:-
Target version:2.6.0
Affected version:0.25.4 Branch:http://github.com/MarkusQ/puppet/tree/ticket/0.25.x/2604
Keywords:
Votes: 3

Description

On RHE4 with ruby 1.81 puppet core dumps:


debug: Puppet::Network::Format[json]: false value when expecting true
debug: Format s not supported for Puppet::Resource::Catalog; has not implemented method 'from_s'
info: Caching catalog for fqdn
/usr/lib64/ruby/1.8/yaml/rubytypes.rb:315: [BUG] Segmentation fault
ruby 1.8.1 (2003-12-25) [x86_64-linux-gnu]

Aborted
ruby -v
ruby 1.8.1 (2003-12-25) [x86_64-linux-gnu]

remove_debug_msgs.patch (330 Bytes) Marc Fournier, 03/23/2010 11:18 am

History

Updated by James Turnbull 11 months ago

  • Status changed from Unreviewed to Accepted
  • Assigned to set to Luke Kanies
  • Target version set to 0.25.1

Luke/Markus – I think this is as a result of the yaml monkey patch from the looks of it.

Updated by Luke Kanies 11 months ago

  • Assigned to changed from Luke Kanies to Markus Roberts

Updated by Markus Roberts 11 months ago

This shouldn’t be a result of the monkey patch, since the patch is only applied on Ruby post 1.8.1 — it makes later versions produce backwards compatible yaml, and thus shouldn’t do anything when running on 1.8.1 (this has been tested).

I’ll look into it further.

Updated by Markus Roberts 11 months ago

This isn’t new; it’s a known problem with the syck that ships with 1.8.1 that’s been hitting puppet users for at least two years (see http://markmail.org/message/7mvykfazdqrktm7u). I’ll research a mitigation strategy.

Updated by Markus Roberts 11 months ago

  • Priority changed from Normal to Low

Updated by Markus Roberts 11 months ago

  • Subject changed from 0.25 core dumps with Ruby 1.8.1 to Ruby 1.8.1's known bad syck causes core dumps

Updated by Markus Roberts 11 months ago

The issue as reported elsewhere seems to revolve around strings over a certain size (4096 bytes) causing a buffer overrun in the c library.

One possible (not tested, just derived from looking at the code) workaround would be to force the use of base64 encoding (which does line breaks at a smaller size) for strings longer than this, e.g. by a dodge such as:

      my_string = ...
+     def my_string.is_binary_data?; true; end
+     def my_string.is_complex_yaml?; true; end
      my_string.to_yaml

The @is_bianary_data?@ and @is_complex_yaml?@ routines are queried inside String#to_yaml and forcing them to true would cause the base-64 encoding to be used.

Another possible fix would be to pass @{:UseFold => true; :BestWidth => 1024}@ to the string’s to_yaml() method.

Yet another (and probably the cleanest, as I think about it) would be to monkey patch String#to_yaml() for 1.8.1 to avoid the code with the buffer overflow problem altogether.

Updated by Ohad Levy 11 months ago

I did check RHE4 with RC1, but not with this exact manifest, nevertheless, this didn’t use to happen with 24.x (with the same manifest).

I would appreciate a transparent solution, as I have about 600 Nodes with Ruby 1.81 (and I need to introduce another 500 soon :)).

Updated by Markus Roberts 11 months ago

Testing (as in checking to see if it seems to work) isn’t sufficient with this sort of problem; slight changes in the configuration can cause memory corruption bugs to surface or not, depending on the area of memory that’s affected.

These syck bugs (syck is the c library shipped with ruby and used for yaml serialization) are an infrequently occurring set of bugs first “fixed” almost six years ago (see http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/1785) then just over five years ago (see http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/3973) and then again a few months later (http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/4052), and so on to the present (see http://redmine.ruby-lang.org/issues/show/990).

The particular case we’re seeing here appears to be one of the ones that was fixed in 2004 or so, given the location of the error and other indicia. Redhat appears to be shipping a version with the patches applied in RHEL5 but not in RHEL4, possibly because of related structural refactorings.

As for a transparent solution, I agree that would be best. I’m trying to devise one, but haven’t yet come up with an idea that I’m pleased with.

Updated by Markus Roberts 10 months ago

  • Status changed from Accepted to Ready for Testing
  • Branch set to http://github.com/MarkusQ/puppet/tree/ticket/master/2604

Kludgy monkey patch to avoid the issue up at http://github.com/MarkusQ/puppet/tree/ticket/master/2604

Updated by Markus Roberts 10 months ago

  • Assigned to changed from Markus Roberts to Ohad Levy

Updated by Markus Roberts 10 months ago

  • Status changed from Ready for Testing to Accepted
  • Assigned to changed from Ohad Levy to Markus Roberts
  • Target version changed from 0.25.1 to 0.25.2

My patch works, in that it base-64 encodes strings over 2k, but it won’t fix the problem because ruby 1.8.1’s yaml fails to load base-64 encoded data correctly. For example, on a fresh unpatched ruby 1.8.1

    YAML.dump " \n\x0"

produces valid output. But

    YAML.load(YAML.dump(" \n\x0"))

blows chunks.

Back to the drawing board and pushing out to 0.25.2

Updated by Markus Roberts 9 months ago

  • Status changed from Accepted to Closed

This issue has been rendered irrelevant by the inclusion of PSON as of 0.25.1.

Updated by Ohad Levy 6 months ago

  • Status changed from Closed to Re-opened
  • Target version changed from 0.25.2 to 0.25.5
  • Affected version changed from 0.25.0 to 0.25.4

it seems that pson did solve the issue, however, it happen again when the client tries to store the local cached catalog.

I’ve commented out the local cache catalog write and was able to avoid the segfault.

It would be great if we can get rid of the yaml based catalog when using pson.

Updated by Markus Roberts 4 months ago

  • Status changed from Re-opened to Ready for Testing
  • Branch changed from http://github.com/MarkusQ/puppet/tree/ticket/master/2604 to http://github.com/MarkusQ/puppet/tree/ticket/0.25.x/2604

Updated by Marc Fournier 4 months ago

I’ve just tested your work on a couple of machines. I had to stack http://github.com/bkearney/puppet/ticket/0.25.x/3379 on top of it, otherwise puppet was almost unusable.

I noticed you forgot to remove a debug message and a lot of stuff gets printed now. You’ll find a one-line fix in the attached patch.

So: RHEL 4.8 i386: works as expected RHEL 4.8 x86_64: works as expected, but emits a couple of warnings (see below) RHEL 5.4 x86_64: works as expected Debian 5.0.4 amd64: works as expected

Although I would be glad to see 0.25.5 work on RHEL4, this was just 10 minutes of random tests on a few nodes. Replacing the library providing yaml seems quite bold to me but you certainly know better :–)

As the 2 error messages I get seem to go away when selinux is disabled, I suppose this is unrelated. I’ll investigate and open another bug report if needed.

# RUBYLIB="lib/" sbin/puppetd -t
err: Could not create resources for managing Puppet's files and directories in sections [:main, :puppetd, :ssl]: Invalid context to parse: <>
err: Could not create resources for managing Puppet's files and directories in sections [:puppetd]: Invalid context to parse: <>
info: Retrieving plugin
warning: Fact syncing is deprecated as of 0.25 -- use 'pluginsync' instead
info: Retrieving fact
info: Caching catalog for node.example.com
info: Applying configuration version '1269338588'
warning: Value of 'preferred_serialization_format' (pson) is invalid for report, using default (marshal)
notice: Finished catalog run in 21.55 seconds

# RUBYLIB="lib/" sbin/puppetd -t --trace --debug
debug: Failed to load library 'shadow' for feature 'libshadow'
debug: Puppet::Type::User::ProviderPw: file pw does not exist
debug: Failed to load library 'ldap' for feature 'ldap'
debug: Puppet::Type::User::ProviderLdap: feature ldap is missing
debug: Puppet::Type::User::ProviderUser_role_add: file roleadd does not exist
debug: Puppet::Type::User::ProviderDirectoryservice: file /usr/bin/dscl does not exist
debug: /File[/var/lib/puppet/lib]/seluser: Found seluser default 'system_u' for /var/lib/puppet/lib
debug: /File[/var/lib/puppet/lib]/selrole: Found selrole default 'object_r' for /var/lib/puppet/lib
debug: /File[/var/lib/puppet/lib]/seltype: Found seltype default 'var_lib_t' for /var/lib/puppet/lib
debug: /File[/var/lib/puppet/ssl/csr_node.example.com.pem]/seluser: Found seluser default 'system_u' for /var/lib/puppet/ssl/csr_node.example.com.pem
debug: /File[/var/lib/puppet/ssl/csr_node.example.com.pem]/selrole: Found selrole default 'object_r' for /var/lib/puppet/ssl/csr_node.example.com.pem
debug: /File[/var/lib/puppet/ssl/csr_node.example.com.pem]/seltype: Found seltype default 'var_lib_t' for /var/lib/puppet/ssl/csr_node.example.com.pem
debug: /File[/var/lib/puppet/ssl/private_keys]/seluser: Found seluser default 'system_u' for /var/lib/puppet/ssl/private_keys
debug: /File[/var/lib/puppet/ssl/private_keys]/selrole: Found selrole default 'object_r' for /var/lib/puppet/ssl/private_keys
debug: /File[/var/lib/puppet/ssl/private_keys]/seltype: Found seltype default 'var_lib_t' for /var/lib/puppet/ssl/private_keys
debug: /File[/var/lib/puppet/ssl]/seluser: Found seluser default 'system_u' for /var/lib/puppet/ssl
debug: /File[/var/lib/puppet/ssl]/selrole: Found selrole default 'object_r' for /var/lib/puppet/ssl
debug: /File[/var/lib/puppet/ssl]/seltype: Found seltype default 'var_lib_t' for /var/lib/puppet/ssl
debug: /File[/var/lib/puppet/ssl/crl.pem]/seluser: Found seluser default 'system_u' for /var/lib/puppet/ssl/crl.pem
debug: /File[/var/lib/puppet/ssl/crl.pem]/selrole: Found selrole default 'object_r' for /var/lib/puppet/ssl/crl.pem
debug: /File[/var/lib/puppet/ssl/crl.pem]/seltype: Found seltype default 'var_lib_t' for /var/lib/puppet/ssl/crl.pem
debug: /File[/var/lib/puppet/ssl/private]/seluser: Found seluser default 'system_u' for /var/lib/puppet/ssl/private
debug: /File[/var/lib/puppet/ssl/private]/selrole: Found selrole default 'object_r' for /var/lib/puppet/ssl/private
debug: /File[/var/lib/puppet/ssl/private]/seltype: Found seltype default 'var_lib_t' for /var/lib/puppet/ssl/private
debug: /File[/var/lib/puppet/ssl/certs/ca.pem]/seluser: Found seluser default 'system_u' for /var/lib/puppet/ssl/certs/ca.pem
debug: /File[/var/lib/puppet/ssl/certs/ca.pem]/selrole: Found selrole default 'object_r' for /var/lib/puppet/ssl/certs/ca.pem
debug: /File[/var/lib/puppet/ssl/certs/ca.pem]/seltype: Found seltype default 'var_lib_t' for /var/lib/puppet/ssl/certs/ca.pem
debug: /File[/var/puppet/state/puppetdlock]/seluser: Found seluser default 'system_u' for /var/puppet/state/puppetdlock
debug: /File[/var/puppet/state/puppetdlock]/selrole: Found selrole default 'object_r' for /var/puppet/state/puppetdlock
debug: /File[/var/puppet/state/puppetdlock]/seltype: Found seltype default 'var_t' for /var/puppet/state/puppetdlock
debug: /File[/var/puppet/state/state.yaml]/seluser: Found seluser default 'system_u' for /var/puppet/state/state.yaml
debug: /File[/var/puppet/state/state.yaml]/selrole: Found selrole default 'object_r' for /var/puppet/state/state.yaml
debug: /File[/var/puppet/state/state.yaml]/seltype: Found seltype default 'var_t' for /var/puppet/state/state.yaml
debug: /File[/var/puppet/state/classes.txt]/seluser: Found seluser default 'system_u' for /var/puppet/state/classes.txt
debug: /File[/var/puppet/state/classes.txt]/selrole: Found selrole default 'object_r' for /var/puppet/state/classes.txt
debug: /File[/var/puppet/state/classes.txt]/seltype: Found seltype default 'var_t' for /var/puppet/state/classes.txt
debug: /File[/var/puppet/facts]/seluser: Found seluser default 'system_u' for /var/puppet/facts
debug: /File[/var/puppet/facts]/selrole: Found selrole default 'object_r' for /var/puppet/facts
debug: /File[/var/puppet/facts]/seltype: Found seltype default 'var_t' for /var/puppet/facts
debug: /File[/var/lib/puppet/ssl/private_keys/node.example.com.pem]/seluser: Found seluser default 'system_u' for /var/lib/puppet/ssl/private_keys/node.example.com.pem
debug: /File[/var/lib/puppet/ssl/private_keys/node.example.com.pem]/selrole: Found selrole default 'object_r' for /var/lib/puppet/ssl/private_keys/node.example.com.pem
debug: /File[/var/lib/puppet/ssl/private_keys/node.example.com.pem]/seltype: Found seltype default 'var_lib_t' for /var/lib/puppet/ssl/private_keys/node.example.com.pem
debug: /File[/var/puppet/run]/seluser: Found seluser default 'system_u' for /var/puppet/run
debug: /File[/var/puppet/run]/selrole: Found selrole default 'object_r' for /var/puppet/run
debug: /File[/var/puppet/run]/seltype: Found seltype default 'var_t' for /var/puppet/run
debug: /File[/var/puppet]/seluser: Found seluser default 'system_u' for /var/puppet
debug: /File[/var/puppet]/selrole: Found selrole default 'object_r' for /var/puppet
debug: /File[/var/puppet]/seltype: Found seltype default 'var_t' for /var/puppet
debug: /File[/var/puppet/state/graphs]/seluser: Found seluser default 'system_u' for /var/puppet/state/graphs
debug: /File[/var/puppet/state/graphs]/selrole: Found selrole default 'object_r' for /var/puppet/state/graphs
debug: /File[/var/puppet/state/graphs]/seltype: Found seltype default 'var_t' for /var/puppet/state/graphs
debug: /File[/var/lib/puppet/ssl/public_keys]/seluser: Found seluser default 'system_u' for /var/lib/puppet/ssl/public_keys
debug: /File[/var/lib/puppet/ssl/public_keys]/selrole: Found selrole default 'object_r' for /var/lib/puppet/ssl/public_keys
debug: /File[/var/lib/puppet/ssl/public_keys]/seltype: Found seltype default 'var_lib_t' for /var/lib/puppet/ssl/public_keys
debug: /File[/etc/puppet]/seluser: Found seluser default 'system_u' for /etc/puppet
debug: /File[/etc/puppet]/selrole: Found selrole default 'object_r' for /etc/puppet
debug: /File[/etc/puppet]/seltype: Found seltype default 'etc_t' for /etc/puppet
debug: /File[/var/lib/puppet/ssl/public_keys/node.example.com.pem]/seluser: Found seluser default 'system_u' for /var/lib/puppet/ssl/public_keys/node.example.com.pem
debug: /File[/var/lib/puppet/ssl/public_keys/node.example.com.pem]/selrole: Found selrole default 'object_r' for /var/lib/puppet/ssl/public_keys/node.example.com.pem
debug: /File[/var/lib/puppet/ssl/public_keys/node.example.com.pem]/seltype: Found seltype default 'var_lib_t' for /var/lib/puppet/ssl/public_keys/node.example.com.pem
./lib/puppet/util/selinux.rb:73:in `parse_selinux_context'
./lib/puppet/type/file/selcontext.rb:40:in `retrieve_default_context'
./lib/puppet/type/file/selcontext.rb:69:in `default'
./lib/puppet/type/file/selcontext.rb:69:in `default'
./lib/puppet/type.rb:575:in `set_default'
./lib/puppet/type.rb:1955:in `set_parameters'
./lib/puppet/type.rb:1954:in `each'
./lib/puppet/type.rb:1954:in `set_parameters'
./lib/puppet/type.rb:1916:in `initialize'
./lib/puppet/type/file.rb:406:in `initialize'
./lib/puppet/resource.rb:172:in `new'
./lib/puppet/resource.rb:172:in `to_ral'
./lib/puppet/resource/catalog.rb:576:in `send'
./lib/puppet/resource/catalog.rb:576:in `to_catalog'
./lib/puppet/resource/catalog.rb:554:in `each'
./lib/puppet/resource/catalog.rb:554:in `to_catalog'
./lib/puppet/resource/catalog.rb:474:in `to_ral'
./lib/puppet/util/settings.rb:630:in `use'
./lib/puppet/util/settings.rb:624:in `synchronize'
./lib/puppet/util/settings.rb:624:in `use'
./lib/puppet/application/puppetd.rb:207:in `run_setup'
./lib/puppet/application/puppetd.rb:178:in `run_setup'
./lib/puppet/application.rb:216:in `run'
./lib/puppet/application.rb:216:in `exit_on_fail'
./lib/puppet/application.rb:216:in `run'
sbin/puppetd:159
err: Could not create resources for managing Puppet's files and directories in sections [:main, :puppetd, :ssl]: Invalid context to parse: <>
debug: /File[/var/lib/puppet/ssl/certs]/seluser: Found seluser default 'system_u' for /var/lib/puppet/ssl/certs
debug: /File[/var/lib/puppet/ssl/certs]/selrole: Found selrole default 'object_r' for /var/lib/puppet/ssl/certs
debug: /File[/var/lib/puppet/ssl/certs]/seltype: Found seltype default 'var_lib_t' for /var/lib/puppet/ssl/certs
debug: /File[/var/puppet]/seluser: Found seluser default 'system_u' for /var/puppet
debug: /File[/var/puppet]/selrole: Found selrole default 'object_r' for /var/puppet
debug: /File[/var/puppet]/seltype: Found seltype default 'var_t' for /var/puppet
debug: /File[/var/lib/puppet/ssl/public_keys]/seluser: Found seluser default 'system_u' for /var/lib/puppet/ssl/public_keys
debug: /File[/var/lib/puppet/ssl/public_keys]/selrole: Found selrole default 'object_r' for /var/lib/puppet/ssl/public_keys
debug: /File[/var/lib/puppet/ssl/public_keys]/seltype: Found seltype default 'var_lib_t' for /var/lib/puppet/ssl/public_keys
debug: /File[/var/puppet/state]/seluser: Found seluser default 'system_u' for /var/puppet/state
debug: /File[/var/puppet/state]/selrole: Found selrole default 'object_r' for /var/puppet/state
debug: /File[/var/puppet/state]/seltype: Found seltype default 'var_t' for /var/puppet/state
debug: /File[/var/lib/puppet/ssl/private_keys]/seluser: Found seluser default 'system_u' for /var/lib/puppet/ssl/private_keys
debug: /File[/var/lib/puppet/ssl/private_keys]/selrole: Found selrole default 'object_r' for /var/lib/puppet/ssl/private_keys
debug: /File[/var/lib/puppet/ssl/private_keys]/seltype: Found seltype default 'var_lib_t' for /var/lib/puppet/ssl/private_keys
debug: /File[/var/lib/puppet/ssl/crl.pem]/seluser: Found seluser default 'system_u' for /var/lib/puppet/ssl/crl.pem
debug: /File[/var/lib/puppet/ssl/crl.pem]/selrole: Found selrole default 'object_r' for /var/lib/puppet/ssl/crl.pem
debug: /File[/var/lib/puppet/ssl/crl.pem]/seltype: Found seltype default 'var_lib_t' for /var/lib/puppet/ssl/crl.pem
debug: /File[/var/puppet/run]/seluser: Found seluser default 'system_u' for /var/puppet/run
debug: /File[/var/puppet/run]/selrole: Found selrole default 'object_r' for /var/puppet/run
debug: /File[/var/puppet/run]/seltype: Found seltype default 'var_t' for /var/puppet/run
debug: /File[/var/lib/puppet/ssl/certs/ca.pem]/seluser: Found seluser default 'system_u' for /var/lib/puppet/ssl/certs/ca.pem
debug: /File[/var/lib/puppet/ssl/certs/ca.pem]/selrole: Found selrole default 'object_r' for /var/lib/puppet/ssl/certs/ca.pem
debug: /File[/var/lib/puppet/ssl/certs/ca.pem]/seltype: Found seltype default 'var_lib_t' for /var/lib/puppet/ssl/certs/ca.pem
debug: /File[/var/lib/puppet/ssl/private_keys/node.example.com.pem]/seluser: Found seluser default 'system_u' for /var/lib/puppet/ssl/private_keys/node.example.com.pem
debug: /File[/var/lib/puppet/ssl/private_keys/node.example.com.pem]/selrole: Found selrole default 'object_r' for /var/lib/puppet/ssl/private_keys/node.example.com.pem
debug: /File[/var/lib/puppet/ssl/private_keys/node.example.com.pem]/seltype: Found seltype default 'var_lib_t' for /var/lib/puppet/ssl/private_keys/node.example.com.pem
debug: /File[/var/lib/puppet/ssl/private]/seluser: Found seluser default 'system_u' for /var/lib/puppet/ssl/private
debug: /File[/var/lib/puppet/ssl/private]/selrole: Found selrole default 'object_r' for /var/lib/puppet/ssl/private
debug: /File[/var/lib/puppet/ssl/private]/seltype: Found seltype default 'var_lib_t' for /var/lib/puppet/ssl/private
debug: /File[/var/puppet/facts]/seluser: Found seluser default 'system_u' for /var/puppet/facts
debug: /File[/var/puppet/facts]/selrole: Found selrole default 'object_r' for /var/puppet/facts
debug: /File[/var/puppet/facts]/seltype: Found seltype default 'var_t' for /var/puppet/facts
debug: /File[/var/lib/puppet/ssl/certificate_requests]/seluser: Found seluser default 'system_u' for /var/lib/puppet/ssl/certificate_requests
debug: /File[/var/lib/puppet/ssl/certificate_requests]/selrole: Found selrole default 'object_r' for /var/lib/puppet/ssl/certificate_requests
debug: /File[/var/lib/puppet/ssl/certificate_requests]/seltype: Found seltype default 'var_lib_t' for /var/lib/puppet/ssl/certificate_requests
debug: /File[/var/lib/puppet/ssl/certs/node.example.com.pem]/seluser: Found seluser default 'system_u' for /var/lib/puppet/ssl/certs/node.example.com.pem
debug: /File[/var/lib/puppet/ssl/certs/node.example.com.pem]/selrole: Found selrole default 'object_r' for /var/lib/puppet/ssl/certs/node.example.com.pem
debug: /File[/var/lib/puppet/ssl/certs/node.example.com.pem]/seltype: Found seltype default 'var_lib_t' for /var/lib/puppet/ssl/certs/node.example.com.pem
debug: /File[/etc/puppet]/seluser: Found seluser default 'system_u' for /etc/puppet
debug: /File[/etc/puppet]/selrole: Found selrole default 'object_r' for /etc/puppet
debug: /File[/etc/puppet]/seltype: Found seltype default 'etc_t' for /etc/puppet
debug: /File[/var/lib/puppet/ssl/csr_node.example.com.pem]/seluser: Found seluser default 'system_u' for /var/lib/puppet/ssl/csr_node.example.com.pem
debug: /File[/var/lib/puppet/ssl/csr_node.example.com.pem]/selrole: Found selrole default 'object_r' for /var/lib/puppet/ssl/csr_node.example.com.pem
debug: /File[/var/lib/puppet/ssl/csr_node.example.com.pem]/seltype: Found seltype default 'var_lib_t' for /var/lib/puppet/ssl/csr_node.example.com.pem
debug: /File[/var/lib/puppet/ssl]/seluser: Found seluser default 'system_u' for /var/lib/puppet/ssl
debug: /File[/var/lib/puppet/ssl]/selrole: Found selrole default 'object_r' for /var/lib/puppet/ssl
debug: /File[/var/lib/puppet/ssl]/seltype: Found seltype default 'var_lib_t' for /var/lib/puppet/ssl
debug: /File[/var/lib/puppet/lib]/seluser: Found seluser default 'system_u' for /var/lib/puppet/lib
debug: /File[/var/lib/puppet/lib]/selrole: Found selrole default 'object_r' for /var/lib/puppet/lib
debug: /File[/var/lib/puppet/lib]/seltype: Found seltype default 'var_lib_t' for /var/lib/puppet/lib
debug: /File[/var/puppet/log]/seluser: Found seluser default 'system_u' for /var/puppet/log
debug: /File[/var/puppet/log]/selrole: Found selrole default 'object_r' for /var/puppet/log
debug: /File[/var/puppet/log]/seltype: Found seltype default 'var_t' for /var/puppet/log
debug: /File[/var/lib/puppet/ssl/public_keys/node.example.com.pem]/seluser: Found seluser default 'system_u' for /var/lib/puppet/ssl/public_keys/node.example.com.pem
debug: /File[/var/lib/puppet/ssl/public_keys/node.example.com.pem]/selrole: Found selrole default 'object_r' for /var/lib/puppet/ssl/public_keys/node.example.com.pem
debug: /File[/var/lib/puppet/ssl/public_keys/node.example.com.pem]/seltype: Found seltype default 'var_lib_t' for /var/lib/puppet/ssl/public_keys/node.example.com.pem
debug: /File[/var/lib/puppet/ssl/public_keys]: Autorequiring File[/var/lib/puppet/ssl]
debug: /File[/var/lib/puppet/ssl/crl.pem]: Autorequiring File[/var/lib/puppet/ssl]
debug: /File[/var/lib/puppet/ssl/private_keys/node.example.com.pem]: Autorequiring File[/var/lib/puppet/ssl/private_keys]
debug: /File[/var/lib/puppet/ssl/certs/node.example.com.pem]: Autorequiring File[/var/lib/puppet/ssl/certs]
debug: /File[/var/lib/puppet/ssl/private_keys]: Autorequiring File[/var/lib/puppet/ssl]
debug: /File[/var/puppet/state]: Autorequiring File[/var/puppet]
debug: /File[/var/puppet/log]: Autorequiring File[/var/puppet]
debug: /File[/var/puppet/facts]: Autorequiring File[/var/puppet]
debug: /File[/var/puppet/run]: Autorequiring File[/var/puppet]
debug: /File[/var/lib/puppet/ssl/certs]: Autorequiring File[/var/lib/puppet/ssl]
debug: /File[/var/lib/puppet/ssl/certs/ca.pem]: Autorequiring File[/var/lib/puppet/ssl/certs]
debug: /File[/var/lib/puppet/ssl/private]: Autorequiring File[/var/lib/puppet/ssl]
debug: /File[/var/lib/puppet/ssl/certificate_requests]: Autorequiring File[/var/lib/puppet/ssl]
debug: /File[/var/lib/puppet/ssl/csr_node.example.com.pem]: Autorequiring File[/var/lib/puppet/ssl]
debug: /File[/var/lib/puppet/ssl/public_keys/node.example.com.pem]: Autorequiring File[/var/lib/puppet/ssl/public_keys]
debug: /File[/var/puppet/run]: Changing mode
debug: /File[/var/puppet/run]: 1 change(s)
debug: /File[/var/puppet/run]/mode: mode changed '755' to '1777'
debug: Finishing transaction 91454963324 with 1 changes
debug: Using cached certificate for ca, good until Mon Jun 17 14:23:14 UTC 2013
debug: Using cached certificate for node.example.com, good until Mon Sep 15 06:57:55 UTC 2014
debug: /File[/var/puppet/state/state.yaml]/seluser: Found seluser default 'system_u' for /var/puppet/state/state.yaml
debug: /File[/var/puppet/state/state.yaml]/selrole: Found selrole default 'object_r' for /var/puppet/state/state.yaml
debug: /File[/var/puppet/state/state.yaml]/seltype: Found seltype default 'var_t' for /var/puppet/state/state.yaml
./lib/puppet/util/selinux.rb:73:in `parse_selinux_context'
./lib/puppet/type/file/selcontext.rb:40:in `retrieve_default_context'
./lib/puppet/type/file/selcontext.rb:69:in `default'
./lib/puppet/type/file/selcontext.rb:69:in `default'
./lib/puppet/type.rb:575:in `set_default'
./lib/puppet/type.rb:1955:in `set_parameters'
./lib/puppet/type.rb:1954:in `each'
./lib/puppet/type.rb:1954:in `set_parameters'
./lib/puppet/type.rb:1916:in `initialize'
./lib/puppet/type/file.rb:406:in `initialize'
./lib/puppet/resource.rb:172:in `new'
./lib/puppet/resource.rb:172:in `to_ral'
./lib/puppet/resource/catalog.rb:576:in `send'
./lib/puppet/resource/catalog.rb:576:in `to_catalog'
./lib/puppet/resource/catalog.rb:554:in `each'
./lib/puppet/resource/catalog.rb:554:in `to_catalog'
./lib/puppet/resource/catalog.rb:474:in `to_ral'
./lib/puppet/util/settings.rb:630:in `use'
./lib/puppet/util/settings.rb:624:in `synchronize'
./lib/puppet/util/settings.rb:624:in `use'
./lib/puppet/configurer.rb:74:in `initialize'
./lib/puppet/agent.rb:126:in `new'
./lib/puppet/agent.rb:126:in `with_client'
./lib/puppet/agent.rb:60:in `run'
./lib/puppet/application/puppetd.rb:103:in `onetime'
./lib/puppet/application/puppetd.rb:94:in `onetime'
./lib/puppet/application.rb:226:in `send'
./lib/puppet/application.rb:226:in `run_command'
./lib/puppet/application.rb:217:in `run'
./lib/puppet/application.rb:217:in `exit_on_fail'
./lib/puppet/application.rb:217:in `run'
sbin/puppetd:159
err: Could not create resources for managing Puppet's files and directories in sections [:puppetd]: Invalid context to parse: <>
debug: Loaded state in 0.04 seconds
info: Retrieving plugin
[...]

# setenforce 0
# getenforce 
Permissive
# RUBYLIB="lib/" sbin/puppetd -t 
info: Retrieving plugin
warning: Fact syncing is deprecated as of 0.25 -- use 'pluginsync' instead
info: Retrieving fact
info: Caching catalog for node.example.com
info: Applying configuration version '1269342250'
notice: //os-kis-base/Exec[setenforce 1]/returns: executed successfully
warning: Value of 'preferred_serialization_format' (pson) is invalid for report, using default (marshal)
notice: Finished catalog run in 20.51 seconds

Updated by James Turnbull 4 months ago

Pushed in commit:“e44430b5e185918204faf004e1916e60c1801e87” in branch 0.25.x

Updated by Markus Roberts 4 months ago

  • Status changed from Ready for Testing to Available In Testing Branch

Updated by James Turnbull 4 months ago

  • Target version changed from 0.25.5 to 2.6.0

Updated by Markus Roberts 3 months ago

  • Status changed from Available In Testing Branch to Closed

Pushed as commit:“4820a1b569444f942b3ceb6ee3a0832ed6faf613” in master

Also available in: Atom PDF