Thunderbirdのバージョンが60になったらCPU使用率爆上げで死んだ原因を突き止めるのに丸1日かかった話

 SNS だぁ? LINE だぁ? インスタ映えが TikTok でイイ波乗ってんねぇだぁ? 知ったことか!!! 昭和生まれ昭和育ち、悪いヤツは大体メールフレンド、リアルタイムのメッセージングだったら男は黙って IRC!!! オケタニです。アラフィフです。フィフじゃないから。まだアラウンドだから。花の四十代なんだからぁぁぁーッ!!!

 そんなレガシー・ジェネレーションのオケタニだもんですから、メールでやりとり、とても大事です。だってさぁ、ほら、LINE とか FB Messenger とかは履歴のデータが自分の手元に残んないじゃないですかぁ。Instagram にしたって TikTok にしたって、サービス終了しちゃったらステキな photograph もイカした movie も全部なくなっちゃうじゃないですかあッ! あんなに流行った双子ダンスだってミクチャ終わっちゃってもう見れないじゃないですかあーッ! え? ミクチャ終わってない? 単にブームが終わっただけ? あ、そうですか。

メールソフトがないと生きていけないアタシ… 最後に残ったのは幸せの「青い鳥」だったの…

 メールにしても、まあ最近はもっぱら Gmail のアドレスを使うことがほとんどな昨今ではありますが、まさか Google が潰れるなんてことはよもやありえる話とは思えませんけども、クラウドに置きっぱなしだといつメールデータが消滅するかもわからないセキュリティ的にもハイリスクな世の中ですからオケタニはメールソフトでメールは送受信、データも HDD にきちんと保存派であります(Google 潰れるよりもお前の HDD が逝っちゃう逝っちゃう~の方が確率高いだろ!的な話はまぁ置いといて、と)。

 使っているメールソフトは Mozilla ThunderbirdAL-Mail から Outlook ExpressBecky を経て辿り着いたこのソフト、Ver.1.0 系列から使い始めて既に十余年。何度か重篤なクラッシュを経験しつつも他に良さげなチョイスもなく使い続けてまいりました。

20181115_tbiconlogo

 そんな Thunderbird も遂にバージョン 60 台に達し、まぁ巷では色々言われてはいるみたいですけども、「畳もオ○ナも新しい方がええやな!ゲヘヘヘヘ」と公言して憚らないオケタニですんで、早速アップグレードしてみました。実はこれまでずーっと32ビット版の Thunderbird を使っていたので、これを機に一旦アンインスコして、ここからゲットした64ビット版を新規にインストール(当然プロファイルとメールデータはバックアップしております)。で、起動したわけですが…

高まるCPU使用率。止まらない「応答なし」とエラーメッセージ

 タスクマネージャーを開いて Thunderbird の挙動をモニターしていると、起動直後から CPU 使用率は35~40%辺りをウロウロし Thunderbird のタスクには「応答なし」のエラーメッセージが… しかもその状態が1時間程経っても変わらないまま。

 実はバージョン 60 に上げる前(バージョン 52)の時も起動してからしばらく経つとその状態にいつもなっていたのですが、それもしばらく待つと解消されて普通に稼働していたので

(´・ω・`)「…ま、メールデータもでけぇしな。それくらいは仕方ないだろ。」

と、今まで捨て置いていたのですが、さすがに1時間以上もそんな状態が続いていては仕事もへったくれもない。これは何とかせねば…というわけで「Thunderbird 重い」とかでググって解決方法を探してみることに。

 という事で、ここからどういう手段を経て解決への道程を辿ったのかをご紹介してまいりましょう。尚、一連の作業は Thunderbird をセーフモードで起動(Shift キーを押しながら Thunderbird を起動する)して行っております。だって通常起動だと何もできねぇんだもんよぅ…

Thunderbird が重くなってしまった時の対処方法を調べよう

1. global-messages-db.sqlite の再構築/初期化

 Thunderbird が重くなった時の対処法を調べると、大体出てくるのがこれです。手順としては…

(1) Thunderbird を起動していない状態で、プロファイルフォルダを開く。

 環境によるが、大抵は

 C:\Users\(ユーザー名)\AppData\Roaming\Thunderbird\Profiles\xxxxxxxx.default

 がそれ。

(2) プロファイルフォルダ内にある global-messages-db.sqlite を削除

(3) メールの検索をしない人は Thunderbirdツールバー内の [ツール] > [オプション] > [詳細] > [一般]タブ > [グローバル検索と索引データベースを有効にする] のチェックを外すと尚良い。

 要はメール検索用のデータベースが肥大化するとそのファイルのアクセスに時間がかかるので削除して初期化することで軽くしようというもの。

 オケタニの環境ではこのファイルが 4GB くらいになっていたので、早速削除して Thunderbird を起動すると…

(´・ω・`)「…変わんないな。」

 という訳で、どうやらこれが原因ではない模様。

2. dom.max_script_run_time の値を増やす

 次に見つけたのがこちら。

IBM Knowledge Center – アプリケーションへのアクセス (10.0 より前)

現在実行中の JavaScript がタイムアウトになった可能性があることが検出された場合に、Firefox ブラウザーはこの警告を出します。 この警告を無効にするには、以下のようにして、Firefox が、スクリプトが無応答であると通知する前にスクリプトの実行を待つ時間の長さを再構成してください。

 このサイトの説明は Firefox についてだけども、他のサイトを見るにどうやら Thunderbird も同じらしい。

 という訳で、設定エディタを開いて、下記の3つの数値を 20 または 40 に変えてみる。

  • dom.max_script_run_time
  • dom.max_chrome_script_run_time
  • dom.max_ext_script_run_time

 詳しいやり方は下記を参照いただければよろしいかと。

Thunderbirdが起動時に警告を吐いて止まる 異論は認める/ウェブリブログ

応答のないスクリプト警告 | Firefox ヘルプ

 デフォルトではいずれも 0~10 に設定されているので、これをガツンと上げて Thunderbird を再起動! すると…ッ!!!

(´・ω・`)「…やっぱり変わらんなあ。」

3. lightning を停止する

 この辺りまで進めたところでふと気がついたのが、上の 2 の辺りを調べていた時に Thunderbird が吐き出したエラーメッセージに calendar 関係のモジュールがタイムアウトしているっぽいという点。

(´・ω・`) 「カレンダー…? もしかして Lightning が悪さしてんちゃうか、これ。」

 アドオンマネージャーから Lightning のバージョンを確認してみると 6.2.3 となっている。どうやらこれは Thunderbird 60 用に搭載されたバージョンっぽいのだけども、Lightning の公式サイトを見てみると公開されているのは Ver.5.4 になっている。

Lightning :: Thunderbird 向けアドオン

(´・ω・`) 「ここにまだアップされてないって事は…もしかしてまだ安定してないバージョンなんじゃないの?」

 そこで、アドオンマネージャーで Lightning を「無効化」してみると…

 

20181115_ugokuzo

「こいつ…動くぞ!」

 

 CPU 使用率も起動時の数秒間だけ 30% オーバーになるもののすぐに10%前後に落ち着き、「応答なし」もエラーメッセージも出てこない。Thunderbird が激重になった原因は Lightning が何やら暴走しているのが原因のようである事が判明致しました。

 実はここに至るまでにほぼ丸一日をかけてしまったのですが、もうちょっと注意深く Thunderbird の挙動を見ていれば Lightning が怪しいという事にもっと早く気づいたはずですし、そもそも「セーフモードでは起動できる→アドオンとか超怪しい」という原因特定のド基礎を見逃している辺りで何とまぁ時間の無駄遣いをしたもんだなぁ、と…

 まぁ仕事もねぇから時間だけはあるしな!!! ええヒマつぶしでしたわ! ガッハッハッハッ!!!

 _(:3」∠)_ (←自分で言ったことにダメージを受けている)

※追記

 それから1~2日くらいは特に問題がなかったんですけども、ある日 Thunderbird を起動すると、またもや calendar 関係のエラーと 40% 前後の CPU 使用率、「応答なし」メッセージが…(´・ω・`) どうもアドオンを無効化しても何やら裏で動いているご様子。

 というわけで、「まぁどうせもう Thunderbird で Google カレンダー使うつもりないしな。」というわけで、Lightning をまるっとアドオンマネージャーから削除しました。それ以降、3~4日ほど経過してますけど今のところ問題は再発せず。

 何やねんなもう(´・ω・`)

コメント