From: "Aleksi Niemelä" Date: 2000-11-02T01:56:42+09:00 Subject: [ruby-talk:5979] RE: Garbage collection bug: unknown data type 40 Jo reports: > The following is a program that makes ruby crash with the error > message: > > ./bicapitalize.rb:19: [BUG] gc_sweep(): unknown data type 40 > ruby 1.6.1 (2000-09-27) [i586-linux-gnu] > Aborted Doesn't crash on me. $ cat /etc/redhat-release Red Hat Linux release 6.1 (Cartman) $ ruby -v ruby 1.6.2 (2000-10-16) [i686-linux] $ uname -a Linux 2.2.12-20smp #1 SMP Mon Sep 27 10:34:45 EDT 1999 i686 unknown > and writing to stdout. With a sufficiently large input, the error > message will appear. At least on my machine: Or then I didn't have "sufficiently large input". My test was chunk of ruby code 110MB (this small lib of mine doesn't follow the rule Don't Repeat Yourself literally :). The running time was 10:10 and the process kept steadily it's hunger for memory around 1.4 MB. As I couldn't get it crash I didn't try to make it smaller. Are you sure there's nothing on your example program which could be taken away and still crash on every run. - Aleksi Ps. without any doubt you know you can achieve elite-style output shorter by saying: cat input | ruby -pe 'gsub!(/\w/){|c| rand < .3 ? c.upcase : c.downcase }' :)