Issue #22375 has been updated by Josh Cooper.

>From Gary Larizza: I think I ran into something similar to this. I was 
>refactoring Jeff’s Tomcat module, and, using the following code:

<pre>
file { "/usr/tomcat/webapps/jenkins.war":
  ensure  => $ensure ? {
    'absent' => absent,
    default  => present,
  },
  source  => "puppet:///modules/tomcat/${jenkins_installer}",
  require => File['/usr/tomcat'],
  before  => Class['tomcat::service'],
  notify  => Service['tomcat'],
  # backup   => false,
}
</pre>

The Filebucket is setup like this in site.pp:

<pre>
filebucket { 'main':
  server => 'devopsdemo.puppetlabs.vm',
  path => false,
}

File { backup => 'main' }
</pre>

This is the default setup in PE as of 1.2.3 (the version I’m running). If I try 
to ensure that the war file is absent, I get the following (with stack trace)

<pre>
[root@localhost puppet]# puppet agent -t --trace
info: Retrieving plugin
info: Loading facts in facter_dot_d
info: Loading facts in facter_dot_d
info: Loading facts in facter_dot_d
info: Loading facts in facter_dot_d
info: Caching catalog for agent.puppetlabs.vm
info: Applying configuration version '1319048686'
notice: /Stage[main]/Tomcat::Jenkins/File[/usr/tomcat/webapps/jenkins]/ensure: 
removed
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/indirector/rest.rb:56:in `deserialize'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/indirector/rest.rb:107:in `save'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/indirector/indirection.rb:264:in 
`save'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/indirector.rb:68:in `save'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/file_bucket/dipper.rb:43:in `backup'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/util/backups.rb:83:in 
`backup_file_with_filebucket'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/util/backups.rb:28:in 
`perform_backup_with_bucket'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/util/backups.rb:15:in `perform_backup'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/type/file.rb:610:in `remove_existing'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/type/file/ensure.rb:153:in `sync'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/transaction/resource_harness.rb:114:in
 `apply_parameter'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/transaction/resource_harness.rb:56:in 
`perform_changes'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/transaction/resource_harness.rb:133:in
 `evaluate'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/transaction.rb:48:in `apply'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/transaction.rb:113:in 
`eval_children_and_apply_resource'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/transaction.rb:91:in `eval_resource'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/transaction.rb:138:in `evaluate'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/util.rb:429:in `thinmark'
/opt/puppet/lib/ruby/1.8/benchmark.rb:308:in `realtime'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/util.rb:428:in `thinmark'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/transaction.rb:137:in `evaluate'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/transaction.rb:130:in `each'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/transaction.rb:130:in `evaluate'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/resource/catalog.rb:147:in `apply'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/configurer.rb:120:in 
`retrieve_and_apply_catalog'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/util.rb:193:in `benchmark'
/opt/puppet/lib/ruby/1.8/benchmark.rb:308:in `realtime'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/util.rb:192:in `benchmark'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/configurer.rb:119:in 
`retrieve_and_apply_catalog'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/configurer.rb:150:in `run'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/agent.rb:39:in `run'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/agent/locker.rb:21:in `lock'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/agent.rb:39:in `run'
/opt/puppet/lib/ruby/1.8/sync.rb:230:in `synchronize'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/agent.rb:39:in `run'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/agent.rb:103:in `with_client'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/agent.rb:37:in `run'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/application.rb:172:in `call'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/application.rb:172:in `controlled_run'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/agent.rb:35:in `run'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/application/agent.rb:114:in `onetime'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/application/agent.rb:88:in 
`run_command'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/application.rb:305:in `run'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/application.rb:420:in `hook'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/application.rb:305:in `run'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/application.rb:411:in `exit_on_fail'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/application.rb:305:in `run'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/util/command_line.rb:62:in `execute'
/usr/local/bin/puppet:4
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/file_bucket/dipper.rb:49:in `backup'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/util/backups.rb:83:in 
`backup_file_with_filebucket'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/util/backups.rb:28:in 
`perform_backup_with_bucket'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/util/backups.rb:15:in `perform_backup'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/type/file.rb:610:in `remove_existing'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/type/file/ensure.rb:153:in `sync'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/transaction/resource_harness.rb:114:in
 `apply_parameter'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/transaction/resource_harness.rb:56:in 
`perform_changes'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/transaction/resource_harness.rb:133:in
 `evaluate'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/transaction.rb:48:in `apply'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/transaction.rb:113:in 
`eval_children_and_apply_resource'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/transaction.rb:91:in `eval_resource'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/transaction.rb:138:in `evaluate'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/util.rb:429:in `thinmark'
/opt/puppet/lib/ruby/1.8/benchmark.rb:308:in `realtime'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/util.rb:428:in `thinmark'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/transaction.rb:137:in `evaluate'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/transaction.rb:130:in `each'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/transaction.rb:130:in `evaluate'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/resource/catalog.rb:147:in `apply'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/configurer.rb:120:in 
`retrieve_and_apply_catalog'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/util.rb:193:in `benchmark'
/opt/puppet/lib/ruby/1.8/benchmark.rb:308:in `realtime'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/util.rb:192:in `benchmark'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/configurer.rb:119:in 
`retrieve_and_apply_catalog'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/configurer.rb:150:in `run'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/agent.rb:39:in `run'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/agent/locker.rb:21:in `lock'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/agent.rb:39:in `run'
/opt/puppet/lib/ruby/1.8/sync.rb:230:in `synchronize'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/agent.rb:39:in `run'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/agent.rb:103:in `with_client'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/agent.rb:37:in `run'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/application.rb:172:in `call'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/application.rb:172:in `controlled_run'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/agent.rb:35:in `run'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/application/agent.rb:114:in `onetime'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/application/agent.rb:88:in 
`run_command'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/application.rb:305:in `run'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/application.rb:420:in `hook'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/application.rb:305:in `run'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/application.rb:411:in `exit_on_fail'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/application.rb:305:in `run'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/util/command_line.rb:62:in `execute'
/usr/local/bin/puppet:4
err: /Stage[main]/Tomcat::Jenkins/File[/usr/tomcat/webapps/jenkins.war]/ensure: 
change from file to absent failed: Could not back up 
/usr/tomcat/webapps/jenkins.war: Error 400 on SERVER: Could not intern from 
pson: regexp buffer overflow
notice: /Stage[main]/Tomcat::Service/Service[tomcat]: Dependency 
File[/usr/tomcat/webapps/jenkins.war] has failures: true
warning: /Stage[main]/Tomcat::Service/Service[tomcat]: Skipping because of 
failed dependencies
notice: /Stage[main]/Tomcat::Service/File[/usr/bin/tomcat-check-script]: 
Dependency File[/usr/tomcat/webapps/jenkins.war] has failures: true
warning: /Stage[main]/Tomcat::Service/File[/usr/bin/tomcat-check-script]: 
Skipping because of failed dependencies
notice: /Stage[main]/Tomcat::Service/Exec[tomcat-check-script]: Dependency 
File[/usr/tomcat/webapps/jenkins.war] has failures: true
warning: /Stage[main]/Tomcat::Service/Exec[tomcat-check-script]: Skipping 
because of failed dependencies
notice: Finished catalog run in 15.52 seconds
</pre>

Setting the backup parameter to take the value of false in the resource allows 
it to be removed.

----------------------------------------
Bug #22375: (#8229) File bucket and Puppet File resource: fails with "regexp 
buffer overflow" when backing up binary file
https://projects.puppetlabs.com/issues/22375#change-97061

* Author: Josh Cooper
* Status: Accepted
* Priority: Normal
* Assignee: Josh Cooper
* Category: 
* Target version: 
* Affected Puppet version: 2.6.0
* Keywords: puppet inspect upload archive customer
* Branch: 
----------------------------------------
This is a duplicate of bug #8229, which I accidentally deleted.

When uploading files using puppet inspect I often get this on the managed node 
side of the equation:

<pre>
/usr/lib/ruby/1.8/timeout.rb:64:in `rbuf_fill': execution expired 
(Timeout::Error)
        from /usr/lib/ruby/1.8/net/protocol.rb:134:in `rbuf_fill'
        from /usr/lib/ruby/1.8/net/protocol.rb:116:in `readuntil'
        from /usr/lib/ruby/1.8/net/protocol.rb:126:in `readline'
        from /usr/lib/ruby/1.8/net/http.rb:2028:in `read_status_line'
        from /usr/lib/ruby/1.8/net/http.rb:2017:in `read_new'
        from /usr/lib/ruby/1.8/net/http.rb:1051:in `request'
        from /usr/lib/ruby/1.8/net/http.rb:1037:in `request'
        from /usr/lib/ruby/1.8/net/http.rb:543:in `start'
        from /usr/lib/ruby/1.8/net/http.rb:1035:in `request'
        from /usr/lib/ruby/1.8/net/http.rb:857:in `put'
        from /usr/lib/ruby/site_ruby/1.8/puppet/indirector/rest.rb:107:in `save'
        from 
/usr/lib/ruby/site_ruby/1.8/puppet/indirector/indirection.rb:264:in `save'
        from /usr/lib/ruby/site_ruby/1.8/puppet/indirector.rb:68:in `save'
        from /usr/lib/ruby/site_ruby/1.8/puppet/file_bucket/dipper.rb:43:in 
`backup'
        from /usr/lib/ruby/site_ruby/1.8/puppet/application/inspect.rb:157:in 
`run_command'
        from /usr/lib/ruby/site_ruby/1.8/puppet/application/inspect.rb:117:in 
`each'
        from /usr/lib/ruby/site_ruby/1.8/puppet/application/inspect.rb:117:in 
`run_command'
        from /usr/lib/ruby/site_ruby/1.8/puppet/util.rb:193:in `benchmark'
        from /usr/lib/ruby/1.8/benchmark.rb:308:in `realtime'
        from /usr/lib/ruby/site_ruby/1.8/puppet/util.rb:192:in `benchmark'
        from /usr/lib/ruby/site_ruby/1.8/puppet/application/inspect.rb:101:in 
`run_command'
        from /usr/lib/ruby/site_ruby/1.8/puppet/application.rb:305:in `run'
        from /usr/lib/ruby/site_ruby/1.8/puppet/application.rb:420:in `hook'
        from /usr/lib/ruby/site_ruby/1.8/puppet/application.rb:305:in `run'
        from /usr/lib/ruby/site_ruby/1.8/puppet/application.rb:411:in 
`exit_on_fail'
        from /usr/lib/ruby/site_ruby/1.8/puppet/application.rb:305:in `run'
        from /usr/lib/ruby/site_ruby/1.8/puppet/util/command_line.rb:62:in 
`execute'
        from /usr/bin/puppet:4
</pre>

On the master side, I saw this error message but did not have trace enabled:

<pre>
err: Could not intern from pson: regexp buffer overflow
</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 unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/puppet-bugs.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to