Issue #8229 has been updated by Charlie Sharpsteen.
Category changed from file to filebucket
Status changed from Investigating to Accepted
Alright, the issue here is that when we send files over the wire to and from a
filebucket, they are encoded to a JSON object of the following form:
<pre>
{'contents': '<exact content of the file>'}
</pre>
The problem is that we don't base64 encode the content of binary files---which
is very rough on the parser that is de-coding the JSON packet. Furthermore,
running megabytes of data through a JSON parser that is only ever returning a
hash with one entry set to those bytes is probably overkill.
----------------------------------------
Bug #8229: File bucket and Puppet File resource: fails with "regexp buffer
overflow" when backing up binary file
https://projects.puppetlabs.com/issues/8229#change-88923
* Author: Jeff McCune
* Status: Accepted
* Priority: High
* Assignee: Charlie Sharpsteen
* Category: filebucket
* Target version:
* Affected Puppet version: 2.6.0
* Keywords: puppet inspect upload archive customer
* Branch:
----------------------------------------
# Overview #
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?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.