Hi,

The following script segfaults with
ruby 1.7.3 (2002-10-07) [i386-cygwin] or [i386-mswin32]


---
class A
  @@ups = 1
end

N = 10**5
require 'benchmark'
Benchmark::bmbm {|test|
  test.report('bla') {
    a  = Array.new(N) {
      class A 
        $x = proc { @@ups }
      end
      $x
    }
    a.each {|t| t.call }
  }
}
---
Rehearsal ---------------------------------------
bla  16.434000   0.520000  16.954000 ( 17.926000)
----------------------------- total: 16.954000sec
          user     system      total        real
bla T:/rb81E.tmp:9: [BUG] Segmentation fault
This application has requested the Runtime to terminate
it in an unusual way. Please contact the application's
support team for more information.
---

This from a mswin run (compilied with Vc7 and stock compile
flags).  It neither crashes with a Seb-23 version nor 
N = 10**4  nor a simpler test
      
    ---
     class A 
        $a = Array.new(N) { proc { @@ups } }
     end
     $a.each {|t| t.call }
    ---


/Christoph