TeraTerm: INT_DIVIDE_BY_ZEROで起動せず⇒AlphaBlend値のせいだった
いきなりTeraTermがエラーで起動できなくなってしまった。
Exception: INT_DIVIDE_BY_ZERO と出ているが、パソコン再起動か、TeraTermの再インストールで何とかなるか??
↓
で、パソコンを再起動してみても変化せず、そう言えばと考え直してみると、昨日にTeraTermの表示ウィンドウを少し透明化しようと、「その他の設定⇒表示」から「半透明度」の設定を行なったのを思い出した。
⇒
元々の値は「255」なのだが、これを少し下げて「245」にしていた。設定時には半透明表示も動作していて問題なかったのだが、その設定をTERATERM.INIに保存して、TeraTerm自体を再起動する際にエラーになるらしい。
いったん、C:\Program Files (x86)\teraterm\TERATERM.INIを別名に退避しておいて、その状況であればTeraTermが起動できることを確認した。テキストエディタでTERATERM.INIファイルを開くと該当する「AlphaBlend=245;」の行があったので、これを元の255に戻すと問題なく動作した。
他の値でもダメなのかと、「0」「10」やら「254」等も試してみたが、どれも同じように起動せず「255」でないとダメらしい。エラーからすると整数値割りの問題のようなので、255/255なら値が1で問題ないが、被除数が255未満の場合は1未満の値が整数化されて0となってエラーが発生しているのかもしれない。
以前のTeraTermであれば、設定ファイルに値を保存していても問題なかった気はするので、最近のTeraTermのバージョンの問題かも(手元の現行版は4.83 SVN# 5602)。
↓
TeraTermの最新版を確認すると4.105だった(改めて確認すると4.86はだいぶ古くて2014年のものだった)。新版に入れ替えると、AlphaBlendの値を保存しても問題なく起動できた。
また、不透明度の設定で「アクティブ時」「非アクティブ時」の設定ができるようになっていたので、アクティブ時=250、非アクティブ時=245と微妙に変えてみた。
アクティブ時の設定値に関してはAlphaBlendActiveという設定名になるもよう。
リンク:
[追記]
過去のチケットに本件が上がっていたようで、v4.102で修正されたらしい。
- チケット #38785: 半透明度の設定 – Tera Term – OSDN
- チケット #38870: Teraterm:Applicaion fault – Tera Term – OSDN
- Windows10 1809アップデート後TeraTerm起動不可: しがないNEの呟き