前田です。
どうもsubの様子が変です。

sub("<body>", "<body bgcolor=\"cornsilk\" link=\"DarkGreen\" vlink=\"chocolate\">")

でSegmentation faultしてしまいます。
再現性は100%です。

bash$ ruby -e '"<body>".sub("<body>", "<body bgcolor=\"cornsilk\" link=\"DarkGreen\" vlink=\"chocolate\">")'
-e:1: [BUG] Segmentation fault
IOT trap/Abort (core dumped)

なぜか

sub("<body>", "<body bgcolor=\"cornsilk\" link=\"DarkGreen\" vlink=\"grey\">")

とかなら大丈夫です。

一応バックトレースを取ってみたのですが、

Program received signal SIGSEGV, Segmentation fault.
0x4008928e in free ()
(gdb) bt
#0  0x4008928e in free ()
#1  0x400f3d5c in ?? ()

という感じで原因がよくわかりませんでした。

こんな動作はうちだけでしょうか?

-- 
前田 修吾