2003/05/28

ATOK不調の原因判明

いやぁ、ここ数ヶ月ずっとATOKの不調に悩まされてまして、ATOKを使うソフトなら何でも、アプリケーションを終了時にNULL参照してこけるエラー(というか、アプリ本体じゃなくてIMEのほうでエラーを吐いてこけてるので、終了時の処理でこける分には問題なかったんですが)が発生していて、明らかに「これはATOKが終了処理でなんかまずいことになってるに違いない」とOSの再インストールまで検討したんですが、問題はもっともっと根本的なところに存在していたのでした。

今日、なにげなくデフラグするぐらいの断片かが起こっているかデフラグツールの分析でディスク状態をチェックしたんですが、なんと、分析結果レポートにATOK14U1.DICというファイルが2.00GBとか書いてあるんです。これ、……私が6年間ずっと使い続けてるユーザー辞書ファイル(のメインのやつ)なんですが、あきらかに、2GBっていうのはおかしいです。おかしすぎます。

一体中がどうなっているのかとファイルを開こうにも、いつも使ってるバイナリエディタじゃ「メモリが足りません」とかいわれて開けませんし(むしろ、開けたところでどうしようもないですが)、そもそも、ATOKはこんなでかいユーザー辞書をホントに読み込んでいるんでしょうか? 辞書ユーティリティでもあっさりとエラーが見つかり、この6年間鍛え続けたユーザー辞書にはサヨナラ、ということになったわけですが、さすがに指をくわえてさくっと消してしまうというわけにも行きません。辞書ユーティリティで辞書内のどこら辺でエラーが出ているのかを特定して、昔のバックアップから引っ張ってきたユーザー辞書に、そのエラーの出ていない部分を合併してユーザー辞書の構成し直しを試みました。

とりあえず、もうかれこれ1年半もバックアップを取っていなかったので、Windows XPの出た2001年11月のバックアップからユーザー辞書を引っ張り出し、これに今の2GBのユーザー辞書の壊れていない部分を合併。……どうも壊れているのは1カ所だけのようなので、その周辺は消えることになりましたがほぼ現在の辞書をそのまま移植できたようです。で、新しくユーザー辞書を作り直したところで、さっそく辞書ユーティリティーから内容整理を行って辞書ファイルの最適化を実行。……エラーで落ちた。

おいっ、どういうことだっ、ということで、1年半前のバックアップのそのままの辞書ファイルを内容整理してみると、この時点でエラーが出ます。つまり、Windows XPが出た時点で、私のユーザー辞書は壊れていたと。で、その壊れたユーザー辞書を壊れたまま1年半も使い続けていたと。そんな事実にちょっとクラクラしつつ、さらに古いバックアップからユーザー辞書を探してきました。

出てきたのは、2001年6月のものですので、ちょうど大学に入って3ヶ月目、このサイトが出来て2ヶ月目という頃のもの。この時点でのユーザー辞書に登録されてる単語数はわずか700程度。内容整理を行っても当然エラーが出ません。ということで、これを土台にしてユーザー辞書の再構築をもう一度実行。……辞書の合併で5100個ほど単語が追加されて辞書の再構築が完了。内容整理でエラーが出ないことを確認し、学習領域を広げておきました。

ということで、たぶんATOKの調子もこれでよくなるものだと思ってますが、……まさか、壊れたユーザー辞書を少なくとも1年半以上使っていたというのはちょっとショックでした…。原因はよく分かりませんが、やっぱりオンメモリ辞書なのかなぁ…。

これを読んでぴーんと来た人、辞書のチェックをお勧めします。ってかPCを本格的に使ってる人は、HDDと同様にIME辞書のメンテナンスもきちんとやらんとダメですねぇ。久々にいい教訓を得られました。

うされもん @acidlemonについて

|'-')/ acidlemonです。鎌倉市在住で、鎌倉で働く普通のITエンジニアです。

30年弱住んだ北海道を離れ、鎌倉でまったりぽわぽわしています。

外部サイト情報

  • twitter
  • github
  • facebook
  • instagram
  • work on kayac