ThunderbirdがフィードURLにアクセスしなくなる
先日、RSSリーダーとして利用しているThunderbirdがフィードのURLにアクセスしてないことに気付いた。気付いたのは7/3の昼で6/26の14:23からアクセスしてなかった。Thunderbirdは長い間起動したままだった。その間にPCをスタンバイ状態にしたことはあるが、PCをシャットダウンしたことはなく、Thunderbirdを終了したことも無かった。今ではThunderbirdを再起動することでフィードのURLにアクセスするようになった。このトラブルを再現する実験に成功したので、メモしておく。
私のThunderbirdには181件のフィードが登録されている。アクセスしなくなったのはその中の一部で、私が気付いたのはツイッターのJSONデータをRSSフィードに変換した64件。このフィードはGoogle App Engine(GAE)で作成している(Twitterで取得したユーザーのJSONデータをRSSフィードに変換する(GAEを使う))のでGAEのログを見るとアクセス履歴が分かる。アクセスが止まった時、64件の内6件にアクセスした記録があった。しかし、そのアクセスでThunderbirdがフィードを取得した形跡はない。自分のPCのイベントビューアや我が家のルーターなどの各種ログと、再現実験から、当時の私の行動を推察すると、ThunderbirdがフィードURLにアクセスを開始した直後、取得前にPCをスタンバイ(今ではスリープ?)状態にしたらしい。再現実験の結果、それが今回のトラブルの原因であると思われる。
再現実験は次のように行う。
- アクセスログを確認できるフィードURLを大量に用意する。
- 用意したフィードURLをThunderbirdにフォルダでグループ分けして登録する。
- アカウント設定で「新着記事を60分ごとに確認する」設定にする。
- タスクマネージャを起動し、最小化してタスクトレイに入れる。
- フィードURLのアクセスログで前回のアクセス時刻を確認して覚える。(フィードURLを更新しておくとThunderbirdで更新されないことでアクセスしてないことが確認できる)
- 次のアクセス時刻が近付いたらタスクトレイのタスクマネージャのアイコンに注目する。
- PCをスタンバイ状態にする準備をする。
- タスクマネージャのアイコンでCPU使用率が上昇した直後にPCをスタンバイ状態にする。
- 30分以上経過したらPCをスタンバイ状態から復帰する。(この時にThunderbirdがフィードURLへのアクセスを再開したら再現実験失敗)
- Thunderbirdがメッセージを取得してないこと(フィードURLから取得してないこと)を確認する。
- フィードURLのログでアクセスが中断されていることを確認する。
- 次のアクセス時刻になってもThunderbirdがフィードURLにアクセスしなかったら、再現実験成功。
- 念のためにフィードURLのログでアクセスされてないことを確認する。
- 念のために、1時間後、2時間後もフィードURLにアクセスしてないことを確認する。アクセスしたら再現実験失敗。
- 念のために手動(ブログアカウントを選択した状態で受信ボタンをクリック)で新着メッセージを取得してもフィードURLにアクセスしないことを確認する。(私の場合は手動でも取得できなくなっていた)
PCをスタンバイ状態にするタイミングと復帰するまでの時間が重要らしく、私は一度失敗している。PCをスタンバイ状態から復帰させた直後にThunderbirdがフィードURLへのアクセスを再開した。
また、フィードURLへのアクセスが止まった64件以外のフィードでは、定期的なアクセスが継続していたものもあり、その違いがどこにあるかは分からない。すぐに分かる違いは、フィードURLへのアクセスが止まった64件は全て同じドメインであることと同じフォルダに登録してあることである。ただし、同じフォルダの別のドメインのフィードURLにはアクセスが継続していた形跡があるので、アクセスが中断されたドメインに関してだけ、Thunderbirdを再起動するまでアクセスしなくなるのかもしれない。
私の場合、フィードURLは60分ごとに確認していて、PCをスタンバイ状態にするタイミングに重なることはめったにないと思うが、今回のトラブルに気付くのが1週間も遅れたため、6/26から7/3までのツイートを確認しにくくなった。少なくともThunderbirdで見ることはできなくなり、Twilogを利用してないアカウントではツイッター本家などを利用するしかなくなり、さらにはツイッター本家で遡れる件数が限られているので、ツイート数の多いアカウントについては6/26からしばらくの間のツイートを確認することができなくなった。残念である。このようなバグが解消されることを願う。もう再現実験を行う気がないし、今後は注意して頻繁にThunderbirdを終了することにするので、バグが解消されたかどうかを私が知ることはないだろうが…。
追記(2015/8/18):
ここに書いた原因とは別の原因でThunderbird 38.2.0 が新着記事の確認をしないケースが見られた。
一連の過程は次のツイートに連続して返信している。
Thunderbirdが時間になってもフィードのダウンロードを開始しなかった。次の開始時間の5分前にスリープ状態にして、ダウンロード時間を15分くらい過ぎてからスリープを解除したんだけど、今までは、その解除のタイミングでダウンロードを開始した。今回は開始しなかった。様子を見る。
— 正己 (@self7777) 2015, 8月 15
追記(2015/8/20):
Thunderbird 38.2.0 で生じている新着記事の確認間隔がアカウント設定通りにならない問題の再現実験のツイート。起動時の状態を設定するオフライン設定をデフォルトの「検出された状態に自動的に従う」のまま行った場合と「オンライン」に変更した場合。共に問題が生じた。
5:15にThunderbirdをテストプロファイルで起動。オフライン設定は「検出された状態に自動的に従う」のまま。自動で新着記事が確認されなかったが、手動で新着記事の確認もしない。通常なら6:15に自動で新着記事を確認。 pic.twitter.com/TaHAGfzAuP
— 正己 (@self7777) 2015, 8月 19
11:15にThunderbirdをテストプロファイルで起動。オフライン設定の起動時の状態は「オンライン」にしてある。自動で新着記事が確認されなかったが、手動で新着記事の確認もしない。通常なら12:15に自動で新着記事を確認。 pic.twitter.com/60Q7psHyOg
— 正己 (@self7777) 2015, 8月 20
コメント 0