昨年RDF/XMLのチェックと視覚化を試作・公開したときから、日本語を含むUTF-8のデータでときたまsegmentation faultエラーを生じてグラフが描けない現象に悩まされてきたのだが、Graphvizを新しいバージョンにアップデートしてみたら、ありがたいことにこのバグが解消されていた。W3CのRDF Validatorは相変わらず日本語をグラフ画像で描けないので、このツールが安定するのは多少なりとも意義があるかな。
Graphvizをコマンドラインで動かしてCoreダンプを取り、デバッグしてみると、どうやらlabels.cのlabel_size関数で、特定のパターンの文字列を扱うときに問題を生じるらしいことまでは分かったが、それ以上は手を付けられずにいた。ふと思い立ってGraphvizのサイトを確認したら、バージョンは昨年インストールしたときの2.2.1からいつの間にやら2.8になっていたので、もしやと思いアップデートしてみたところ、見事うまくいったという次第。
改めてBugリストをチェックしてみたら、これはどうやらBug 723: Memory exhaust with UTF-8 Japanese Katakanaとしてレポートされていた問題と同じ現象のようだ。これがいつFixされたのかよく分からないが、ツールを公開してすぐのタイミングでバグが報告されていたようなので、こまめにアップデートしていれば長期間悩む必要はなかったかも知れない。
とりあえずツール安定のお知らせと、万一Graphvizの同じ問題で困っている人のための情報共有として。
関連メモ:
- RDF Validator多国語対応が改善 (2006-11-26)
- RAPを使ったRDFグラフの視覚化と日本語処理 (2005-07-04)