Struts on Tomcat/Kaffe/GNU Classpath

Apache Strutsアプリケーション開発入門」(ASIN:4797327790)に添付のサンプルプログラムを Kaffe で動かそうとしても動かない。Tomcatlocalhost_log にえらい長いスタックダンプが出ているのでスタックオーバーフローらしい。gnu.xml.pipeline.ValidationConsumer$ChildrenRecognizer.acceptElement() で無限再帰している感じ。

コードをあれこれ調べるとどう考えても無限再帰する設計になってるとしか思えないので、バグ検索してみると同じ問題にぶつかってる人が既にレポートを出していた。修正を急かすためにコメントを追加しておいた。
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23910

ちょっとしたバグならパッチくらい自分で書くのだが、XML の validation アルゴリズムは詳しくないし。このバグをとりあえず回避するには javax.xml.parsers.SAXParserFactory.setValidating() を書き換えて、引数に true が指定されても無視するようにすればいい。(ひでぇ)