今回の電王戦用のponanzaが棋譜ファイルを保存できなくてなにやらお困りの様子です。
これからponanzaを見に行くのだが、様々な点で制限が掛かって、ponanzaに会う前から悲鳴を上げている状況。 嬉しい悲鳴という意味もなくはないのだが。
— Shota Chida (@mizumon_) January 17, 2016
うーん、将棋所で対局の終了時に、「ハンドルされていない例外」というのが出てしまう・・・ wainさんらしき方が将棋所の掲示板に書き込まれているけれど・・・
— Shota Chida (@mizumon_) January 17, 2016
棋譜保存のところにチェックを入れても、kifファイルが現れない。 対局一覧の所には表示されているけれど、これでは少し困る。初期段階の問題が生じていたようで、色々試しているものの、兄弟子らと苦戦している。
— Shota Chida (@mizumon_) January 17, 2016
@mizumon_ ponanzaが対局終了後に自動棋譜保存をオンにしていると棋譜保存できない問題なのですが、ponanzaの名前がいま[ponanza[feature:12345]]みたいになっていると思います。(続)
— 山本一成@Ponanza電王 (@issei_y) January 18, 2016
原因は思考エンジン名に使われていた”:”にあるようです。将棋所では思考エンジン名をそのまま棋譜ファイル名に使おうとするのでファイル名で使えない文字を使うとそこで例外が出て将棋所が落ちてしまうのです。
私もこの問題8年ぐらい前にハマった覚えがあります。
将棋所、普通、そんなところ保存する前にエスケープするだろと。
というか、思考エンジン名ぐらい、GUI側で変更できるようにしとけよと。
まあ、言いたいことが色々無いではありませんが、例によって「文句言うなら、お前がGUI作れよ」というツッコミはご容赦願いたいところでありますよ。
>まあ、言いたいことが色々無いではありませんが、例によって「文句言うなら、お前がGUI作れよ」というツッコミはご容赦願いたいところでありますよ。
皆が便利になるように、、、と無償で作って公開して使ってもらって、、、。
最初は「便利だ」と感謝されて。
それで多くの人が使うようになって、、、。
知らぬ間に業界スタンダードみたいになって。
そのうちに今度は「あれが足りない、ここがよくない。」と不満タラタラ。
・・・・・
まあこれもネット社会の宿命のような気がします。
そうして、解決策はいろいろとあるように思われます。
でもキーパーソンは、やっぱり最初の作者さんになりますか。
思考エンジンから受け取ったエンジン名のエスケープをせずに(UCI/USI原案ではここに使える文字セットは規定されていないのに)ファイル名に使うのは、ユーザーからの入力をサニタイズせずにそのままSQLに使うぐらいの愚行であると思いますけどね。(この設計が意図的なものであるならば。)
この設計が意図的ではなく単なる人為的なミスなのであれば、「まあ、そういうこともあるよね~」ぐらいの笑い話でありますよ。