Issue #11408 has been updated by Mark Plaksin. Description updated
---------------------------------------- Bug #11408: Windows: "Could not evaluate: can't convert Fixnum into String" https://projects.puppetlabs.com/issues/11408 Author: Mark Plaksin Status: Unreviewed Priority: Normal Assignee: Category: agent Target version: Affected Puppet version: 2.7.9 Keywords: Branch: [ Yikes, sorry for the terrible formatting! Here's try #2 :) ] Hi, I'm a *nix admin testing Puppet on Windows for the first time. Everything installed fine but I get "Could not evaluate: can't convert Fixnum into String" when I run Puppet. Versions: - Windows 2008 - Puppet 2.7.9 on client and server - Facter 1.6.4 This looks similar to #10586 which is marked as a duplicate of #10614. I don't know enough to know whether my problem is really related or not. I'm running Puppet like this: C:\ProgramData\PuppetLabs\puppet\etc>puppet agent --verbose --server puppet.example.com -t --debug --trace --ignores --pluginsync and I get this stack trace: <pre> info: Retrieving plugin debug: file_metadata supports formats: b64_zlib_yaml marshal pson raw yaml; using pson debug: Using cached certificate for ca debug: Using cached certificate for yar debug: Using cached certificate_revocation_list for ca C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/util/windows/security.rb:577:in `pack' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/util/windows/security.rb:577:in `string_to_sid_ptr' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/provider/file/windows.rb:40:in `name2uid' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/type/file/owner.rb:13:in `insync?' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/type/file/owner.rb:12:in `map!' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/type/file/owner.rb:12:in `insync?' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/property.rb:162:in `safe_insync?' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/transaction/resource_harness.rb:61:in `perform_changes' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/transaction/resource_harness.rb:60:in `each' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/transaction/resource_harness.rb:60:in `perform_changes' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/transaction/resource_harness.rb:133:in `evaluate' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/transaction.rb:49:in `apply' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/transaction.rb:84:in `eval_resource' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/transaction.rb:103:in `evaluate' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/util.rb:476:in `thinmark' C:/Ruby187/lib/ruby/1.8/benchmark.rb:308:in `realtime' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/util.rb:475:in `thinmark' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/transaction.rb:103:in `evaluate' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/transaction.rb:380:in `traverse' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/transaction.rb:99:in `evaluate' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/resource/catalog.rb:141:in `apply' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/configurer/downloader.rb:32:in `evaluate' C:/Ruby187/lib/ruby/1.8/timeout.rb:67:in `timeout' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/configurer/downloader.rb:31:in `evaluate' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/configurer/plugin_handler.rb:19:in `download_plugins' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/configurer.rb:77:in `prepare' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/configurer.rb:137:in `run' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/agent.rb:39:in `run' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/agent/locker.rb:21:in `lock' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/agent.rb:39:in `run' C:/Ruby187/lib/ruby/1.8/sync.rb:230:in `synchronize' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/agent.rb:39:in `run' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/agent.rb:103:in `with_client' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/agent.rb:37:in `run' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/application.rb:172:in `call' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/application.rb:172:in `controlled_run' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/agent.rb:35:in `run' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/application/agent.rb:336:in `onetime' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/application/agent.rb:310:in `run_command' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/application.rb:306:in `run' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/application.rb:410:in `hook' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/application.rb:306:in `run' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/application.rb:401:in `exit_on_fail' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/application.rb:306:in `run' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/util/command_line.rb:69:in `execute' C:/Ruby187/bin/puppet:4 err: /File[C:/ProgramData/PuppetLabs/puppet/var/lib]: Could not evaluate: can't convert Fixnum into String </pre> I have no idea whether this this is in the right ballpark or not but If I add 'string = string.to_s' on line 577 of security.rb it gets further but still has trouble: <pre> info: Retrieving plugin debug: file_metadata supports formats: b64_zlib_yaml marshal pson raw yaml; using pson debug: Using cached certificate for ca debug: Using cached certificate for yar debug: Using cached certificate_revocation_list for ca C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/type/file/owner.rb:13:in `insync?' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/type/file/owner.rb:12:in `map!' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/type/file/owner.rb:12:in `insync?' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/property.rb:162:in `safe_insync?' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/transaction/resource_harness.rb:61:in `perform_changes' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/transaction/resource_harness.rb:60:in `each' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/transaction/resource_harness.rb:60:in `perform_changes' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/transaction/resource_harness.rb:133:in `evaluate' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/transaction.rb:49:in `apply' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/transaction.rb:84:in `eval_resource' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/transaction.rb:103:in `evaluate' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/util.rb:476:in `thinmark' C:/Ruby187/lib/ruby/1.8/benchmark.rb:308:in `realtime' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/util.rb:475:in `thinmark' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/transaction.rb:103:in `evaluate' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/transaction.rb:380:in `traverse' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/transaction.rb:99:in `evaluate' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/resource/catalog.rb:141:in `apply' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/configurer/downloader.rb:32:in `evaluate' C:/Ruby187/lib/ruby/1.8/timeout.rb:67:in `timeout' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/configurer/downloader.rb:31:in `evaluate' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/configurer/plugin_handler.rb:19:in `download_plugins' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/configurer.rb:77:in `prepare' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/configurer.rb:137:in `run' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/agent.rb:39:in `run' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/agent/locker.rb:21:in `lock' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/agent.rb:39:in `run' C:/Ruby187/lib/ruby/1.8/sync.rb:230:in `synchronize' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/agent.rb:39:in `run' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/agent.rb:103:in `with_client' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/agent.rb:37:in `run' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/application.rb:172:in `call' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/application.rb:172:in `controlled_run' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/agent.rb:35:in `run' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/application/agent.rb:336:in `onetime' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/application/agent.rb:310:in `run_command' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/application.rb:306:in `run' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/application.rb:410:in `hook' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/application.rb:306:in `run' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/application.rb:401:in `exit_on_fail' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/application.rb:306:in `run' C:/Ruby187/lib/ruby/site_ruby/1.8/puppet/util/command_line.rb:69:in `execute' C:/Ruby187/bin/puppet:4 err: /File[C:/ProgramData/PuppetLabs/puppet/var/lib]: Could not evaluate: Could not find user 2988 </pre> "2988" are the last 4 digits of the SID of the user I logged in with (via RDP). I was logged in via RDP as this user when I installed Ruby and Puppet. The cmd window in which I'm running puppet in running as Administrator. (I did become non-administrator when installing at least one gem because of some error about drive H: not being found...unfortunately I can't find the link that said "If this happens, install as non-Administrator) Note that running 'puppet apply' on this simple file resource works fine: <pre> file { 'c:\Users\happy\Downloads\test.txt': ensure => 'file', mode => '660', owner => 'Administrator', group => 'Administrators', content => 'Hi there', } </pre> Here is the output if 'puppet config print all' if that helps. <pre> allow_duplicate_certs = false archive_file_server = puppet archive_files = false async_storeconfigs = false authconfig = C:/ProgramData/PuppetLabs/puppet/etc/namespaceauth.conf autoflush = false autosign = C:/ProgramData/PuppetLabs/puppet/etc/autosign.conf bindaddress = 0.0.0.0 bucketdir = C:/ProgramData/PuppetLabs/puppet/var/bucket ca = true ca_days = "" ca_md = md5 ca_name = Puppet CA: yar ca_port = 8140 ca_server = puppet ca_ttl = 5y cacert = C:/ProgramData/PuppetLabs/puppet/etc/ssl/ca/ca_crt.pem cacrl = C:/ProgramData/PuppetLabs/puppet/etc/ssl/ca/ca_crl.pem cadir = C:/ProgramData/PuppetLabs/puppet/etc/ssl/ca cakey = C:/ProgramData/PuppetLabs/puppet/etc/ssl/ca/ca_key.pem capass = C:/ProgramData/PuppetLabs/puppet/etc/ssl/ca/private/ca.pass caprivatedir = C:/ProgramData/PuppetLabs/puppet/etc/ssl/ca/private capub = C:/ProgramData/PuppetLabs/puppet/etc/ssl/ca/ca_pub.pem catalog_format = "" catalog_terminus = compiler cert_inventory = C:/ProgramData/PuppetLabs/puppet/etc/ssl/ca/inventory.txt certdir = C:/ProgramData/PuppetLabs/puppet/etc/ssl/certs certdnsnames = "" certificate_revocation = true certname = yar classfile = C:/ProgramData/PuppetLabs/puppet/var/state/classes.txt client_datadir = C:/ProgramData/PuppetLabs/puppet/var/client_data clientbucketdir = C:/ProgramData/PuppetLabs/puppet/var/clientbucket clientyamldir = C:/ProgramData/PuppetLabs/puppet/var/client_yaml code = "" color = false confdir = C:/ProgramData/PuppetLabs/puppet/etc config = C:/ProgramData/PuppetLabs/puppet/etc/puppet.conf config_version = "" configprint = all configtimeout = 120 couchdb_url = http://127.0.0.1:5984/puppet csrdir = C:/ProgramData/PuppetLabs/puppet/etc/ssl/ca/requests daemonize = false dbadapter = sqlite3 dbconnections = "" dblocation = C:/ProgramData/PuppetLabs/puppet/var/state/clientconfigs.sqlite3 dbmigrate = false dbname = puppet dbpassword = puppet dbport = "" dbserver = localhost dbsocket = "" dbuser = puppet deviceconfig = C:/ProgramData/PuppetLabs/puppet/etc/device.conf devicedir = C:/ProgramData/PuppetLabs/puppet/var/devices diff = diff diff_args = -u dns_alt_names = "" document_all = false downcasefacts = false dynamicfacts = memorysize,memoryfree,swapsize,swapfree environment = production evaltrace = false external_nodes = none factdest = C:/ProgramData/PuppetLabs/puppet/var/facts/ factpath = C:/ProgramData/PuppetLabs/puppet/var/lib/facter;C:/ProgramData/PuppetLabs/puppet/var/facts facts_terminus = facter factsignore = .svn CVS factsource = puppet://puppet/facts/ factsync = false fileserverconfig = C:/ProgramData/PuppetLabs/puppet/etc/fileserver.conf filetimeout = 15 freeze_main = false genconfig = false genmanifest = false graph = false graphdir = C:/ProgramData/PuppetLabs/puppet/var/state/graphs group = puppet hostcert = C:/ProgramData/PuppetLabs/puppet/etc/ssl/certs/yar.pem hostcrl = C:/ProgramData/PuppetLabs/puppet/etc/ssl/crl.pem hostcsr = C:/ProgramData/PuppetLabs/puppet/etc/ssl/csr_yar.pem hostprivkey = C:/ProgramData/PuppetLabs/puppet/etc/ssl/private_keys/yar.pem hostpubkey = C:/ProgramData/PuppetLabs/puppet/etc/ssl/public_keys/yar.pem http_compression = false http_proxy_host = none http_proxy_port = 3128 httplog = $vardir/logThe Puppet log directory./http.log ignorecache = false ignoreimport = false ignoreschedules = false inventory_port = 8140 inventory_server = puppet inventory_terminus = facter keylength = 1024 lastrunfile = C:/ProgramData/PuppetLabs/puppet/var/state/last_run_summary.yaml lastrunreport = C:/ProgramData/PuppetLabs/puppet/var/state/last_run_report.yaml ldapattrs = all ldapbase = "" ldapclassattrs = puppetclass ldapnodes = false ldapparentattr = parentnode ldappassword = "" ldapport = 389 ldapserver = ldap ldapssl = false ldapstackedattrs = puppetvar ldapstring = (&(objectclass=puppetClient)(cn=%s)) ldaptls = false ldapuser = "" lexical = false libdir = C:/ProgramData/PuppetLabs/puppet/var/lib listen = false localcacert = C:/ProgramData/PuppetLabs/puppet/etc/ssl/certs/ca.pem localconfig = C:/ProgramData/PuppetLabs/puppet/var/state/localconfig logdir = $vardir/logThe Puppet log directory. manage_internal_file_permissions = true manifest = C:/ProgramData/PuppetLabs/puppet/etc/manifests/site.pp manifestdir = C:/ProgramData/PuppetLabs/puppet/etc/manifests masterhttplog = $vardir/logThe Puppet log directory./masterhttp.log masterlog = $vardir/logThe Puppet log directory./puppetmaster.log masterport = 8140 maximum_uid = 4294967290 mkusers = false modulepath = C:/ProgramData/PuppetLabs/puppet/etc/modules;/usr/share/puppet/modules name = config node_name = cert node_name_fact = "" node_name_value = yar node_terminus = plain noop = false onetime = false passfile = C:/ProgramData/PuppetLabs/puppet/etc/ssl/private/password path = none pidfile = C:/ProgramData/PuppetLabs/puppet/var/run/config.pid plugindest = C:/ProgramData/PuppetLabs/puppet/var/lib pluginsignore = .svn CVS .git pluginsource = puppet://puppet/plugins pluginsync = false postrun_command = "" preferred_serialization_format = pson prerun_command = "" privatedir = C:/ProgramData/PuppetLabs/puppet/etc/ssl/private privatekeydir = C:/ProgramData/PuppetLabs/puppet/etc/ssl/private_keys publickeydir = C:/ProgramData/PuppetLabs/puppet/etc/ssl/public_keys puppetdlockfile = C:/ProgramData/PuppetLabs/puppet/var/state/puppetdlock puppetdlog = $vardir/logThe Puppet log directory./puppetd.log puppetport = 8139 queue_source = stomp://localhost:61613/ queue_type = stomp rails_loglevel = info railslog = $vardir/logThe Puppet log directory./rails.log report = true report_port = 8140 report_server = puppet reportdir = C:/ProgramData/PuppetLabs/puppet/var/reports reportfrom = report@YAR. reports = store reportserver = puppet reporturl = http://localhost:3000/reports/upload req_bits = 2048 requestdir = C:/ProgramData/PuppetLabs/puppet/etc/ssl/certificate_requests resourcefile = C:/ProgramData/PuppetLabs/puppet/var/state/resources.txt rest_authconfig = C:/ProgramData/PuppetLabs/puppet/etc/auth.conf route_file = C:/ProgramData/PuppetLabs/puppet/etc/routes.yaml rrddir = C:/ProgramData/PuppetLabs/puppet/var/rrd rrdinterval = 1800 run_mode = user rundir = C:/ProgramData/PuppetLabs/puppet/var/run runinterval = 1800 sendmail = "" serial = C:/ProgramData/PuppetLabs/puppet/etc/ssl/ca/serial server = puppet server_datadir = C:/ProgramData/PuppetLabs/puppet/var/server_data servertype = webrick show_diff = false signeddir = C:/ProgramData/PuppetLabs/puppet/etc/ssl/ca/signed smtpserver = none splay = false splaylimit = 1800 ssl_client_header = HTTP_X_CLIENT_DN ssl_client_verify_header = HTTP_X_CLIENT_VERIFY ssldir = C:/ProgramData/PuppetLabs/puppet/etc/ssl statedir = C:/ProgramData/PuppetLabs/puppet/var/state statefile = C:/ProgramData/PuppetLabs/puppet/var/state/state.yaml storeconfigs = false storeconfigs_backend = active_record strict_hostname_checking = false summarize = false syslogfacility = daemon tagmap = C:/ProgramData/PuppetLabs/puppet/etc/tagmail.conf tags = "" templatedir = C:/ProgramData/PuppetLabs/puppet/var/templates thin_storeconfigs = false trace = false use_cached_catalog = false usecacheonfailure = true user = puppet vardir = C:/ProgramData/PuppetLabs/puppet/var yamldir = C:/ProgramData/PuppetLabs/puppet/var/yaml zlib = true </pre> -- You have received this notification because you have either subscribed to it, or are involved in it. To change your notification preferences, please click here: http://projects.puppetlabs.com/my/account -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/puppet-bugs?hl=en.
