Aws/s3 0.1.2 (point release)

A memory leak was discovered in the parsing code of aws/s3. The culprit
was a
bit of code that used the generator library which is implemented with
continuations. This (unnecessarily) fancy code was replaced with a
simple,
straight forward case statement. This not only got rid of the memory
leak, but
(since continuations are quite slow) sped up the unit tests from 8
seconds to
0.3 seconds.

The 0.1.2 point release fixes this memory leak. You should be able to
just
‘sudo gem update aws-s3’ to get the fix.

Big thanks to Remco van’t Veer (http://blog.remvee.net/) for reporting
the bug
and providing a lot of useful information as well as a script which
demonstrated the problem.

marcel

On Dec 1, 2006, at 9:34 PM, Marcel Molina Jr. wrote:

A memory leak was discovered in the parsing code of aws/s3. The
culprit was a
bit of code that used the generator library which is implemented with
continuations.

Generator was redone to use threads a while back, wasn’t it? Was
this not backported to the 1.8 branch?

James Edward G. II

On Sat, Dec 02, 2006 at 01:43:12PM +0900, James Edward G. II wrote:

On Dec 1, 2006, at 9:34 PM, Marcel Molina Jr. wrote:

A memory leak was discovered in the parsing code of aws/s3. The
culprit was a
bit of code that used the generator library which is implemented with
continuations.

Generator was redone to use threads a while back, wasn’t it? Was
this not backported to the 1.8 branch?

marcel:/opt/local/lib/ruby/1.8% which ruby
/opt/local/bin/ruby
marcel:/opt/local/lib/ruby/1.8% ruby -v
ruby 1.8.4 (2005-12-24) [i686-darwin8.5.2]
marcel:/opt/local/lib/ruby/1.8% grep Thread generator.rb
marcel:/opt/local/lib/ruby/1.8%

Doesn’t look like it.

Don’t have the source of 1.8.5 handy ATM.

marcel

On 12/2/06, Marcel Molina Jr. [email protected] wrote:

ruby 1.8.4 (2005-12-24) [i686-darwin8.5.2]
marcel:/opt/local/lib/ruby/1.8% grep Thread generator.rb
marcel:/opt/local/lib/ruby/1.8%

Doesn’t look like it.

Don’t have the source of 1.8.5 handy ATM.

Just installed stable-snapshot a few hours ago:

Mac-mini:~ frank$ cd /usr/local/lib/ruby/1.8/
Mac-mini:/usr/local/lib/ruby/1.8 frank$ grep Thread generator.rb
Mac-mini:/usr/local/lib/ruby/1.8 frank$ /usr/local/bin/ruby -v
ruby 1.8.5 (2006-12-01 patchlevel 5000) [powerpc-darwin8.8.0]