MozillaZine.jp フォーラム
https://forums.mozillazine.jp/

Thunderbirdが起動できない
https://forums.mozillazine.jp/viewtopic.php?f=3&t=14274
ページ 11

作成者:  Takashi [ 2013年8月29日(木) 15:04 ]
記事の件名:  Thunderbirdが起動できない

外部プログラムからthunderbird.exeをキックし、
Thunderbirdを起動させているのですが、
ある特定のPCで不定期に以下の事象が確認されています。

「thunderbird.exe」のプロセスは起動するが、
PC上にThunderbirdのアプリケーションは表示されない。
(メールサーバのIMAP/POPログにアクセス形跡なし。)

[環境]
 Thunderbird: 17.0.6
OS: Windows XP SP3

何かご存知でしたら、情報を頂けないでしょうか。
よろしくお願いします。

作成者:  偶然的通行人 [ 2013年8月29日(木) 19:40 ]
記事の件名:  Re: Thunderbirdが起動できない

Takashi さんが書きました:
外部プログラムからthunderbird.exeをキックし、
Thunderbirdを起動させているのですが、
ある特定のPCで不定期に以下の事象が確認されています。

不定期に起こるというあたりが、けっこう面倒な感じがしますね。

Thunderbird の公式サポートページは、Firefox のそれに比べて更新されていない内容が多いので、ちょっと使えない部分もあります。
同じ Mozilla 製品である Firefox サポート記事を参考にしてみてください。当然、細部は違うわけですが、基本的な考え方は共通しているので、トラブルシューティングの指針にはなるかと思います。
(参考)
・Firefox が起動できない
http://support.mozilla.org/ja/kb/firefox-wont-start-find-solutions


すでに問題点の切り分けを進めておられると思いますが、当該環境で Thunderbird を単独で起動させたときは、正常に起動するのでしょうか?

もし「外部プログラムからthunderbird.exeをキックし」の工程は正常に実行されていることが確実なら、Thunderbird 側の起動に問題があることになります。
タスクマネージャで見るとプロセスには thunderbird.exe があるということは、Thunderbird は起動を試みようとはしているが、プロファイルの読み込みで躓いているのかもしれませんね。
「外部プログラム」を関与させないで Thunderbird を起動させたとき、適正に動作するかどうかをキッチリ確認することで、トラブルシューティングの駒を一歩進められるのではないかと思います。
(参考)
・セーフモード
http://support.mozillamessaging.com/ja/kb/safe-mode
・プロファイル
http://support.mozillamessaging.com/ja/kb/profiles
・複数のプロファイルを使用する
http://support.mozillamessaging.com/ja/kb/using-multiple-profiles


ストレートな解決策ではありませんが、とりあえず情報まで。的外れな話だったらすみません。

【おことわり】
ゲスト(未登録)ユーザーで投稿しようとした場合、本文にフル URL や [url] タグで設定されたリンクがあるとスパム判定されるケースがあります。
今回もその制約に引っかかって投稿できなかったので、「URL を自動的にパースしない」の設定で投稿しています。ご容赦ください。

作成者:  takashi [ 2013年8月29日(木) 20:41 ]
記事の件名:  Re: Thunderbirdが起動できない

情報ありがとうございます。

外部プログラムがthunderbird.exeの起動コマンド実行していることは確認できていますので、
本問題発生時に、thunderbird.exeを手動実行し、Thunderbirdのアプリケーションが表示されるかを
確認したいと思います。

作成者:  takashi [ 2013年8月30日(金) 09:35 ]
記事の件名:  Re: Thunderbirdが起動できない

thunderbird.exeを手動実行してもNGでした。

問題発生時に、タスクマネージャーを見ると、
 プロセス一覧にthunderbird.exeがいるのですが、
 アプリケーション一覧にはThunderbirdが存在しません。

thunderbird.exeを手動実行すると、

 プロセス一覧にthunderbird.exeがもう1つ現れるだけで、

 アプリケーション一覧にはThunderbirdが出てきません。

プロセス一覧にあるthunderbird.exeのメモリ使用量も30MB程度で、
正常起動時に比べメモリ使用量も少ない状況です。

thunderbird.exeが正常起動できない状況と思われます。

作成者:  kiki [ 2013年8月30日(金) 10:18 ]
記事の件名:  外部プログラムから Thunderbird が起動できない

 
ただ単に、thunderbird.exe を実行しただけならば、プロセスだけがある状態になります。

Thunderbird は、profiles.ini に記述されている条件で、プロファイルを読み込んで、起動す
るしくみになっています。
そのことをご存じでしょうか?

ですので、
・どのように、外部プログラムから thunderbird.exe をキックして、起動させているのか
・profiles.ini で、どのように Thunderbird のプロファイルを、設定・記述しているのか
によって、動作・挙動が異なります。

どのように、外部プログラムから thunderbird.exe をキックしているのでしょうか?
具体的に、提示・紹介してください。
また、profiles.ini は、どのようになっていますか?
これも、具体的に、提示・紹介してください。


もし、私が、同様の起動方法をとるのならば、コマンドラインオプションを追記・指定して、
起動するプロファイルも指定しておくようにします。

(例)thunderbird.exe -ProfileManager プロファイル名
    注:プロファイル名は、profiles.ini に記述されているプロファイル名です。

[参照]
コマンドラインオプション - Mozilla | MDN
Profiles.ini file - MozillaZine Knowledge Base


【大きなお世話】
Thunderbird 17.0.6 は、サポートが終了している、古いバージョンです。
使い続けるのは、危険です。
すみやかに、最新バージョン(現在は 17.0.8)にアップデートされるのを、お勧めします。

作成者:  通行人 [ 2013年8月30日(金) 11:09 ]
記事の件名:  Re: Thunderbirdが起動できない

takashi さんが書きました:
thunderbird.exeが正常起動できない状況と思われます。

Thunderbirdが正常に終了していない、という状況ではないですか?

Winだと、thunderbird.exeが起動すると、DDEで、既に起動中のThunderbirdがいるかどうかを確認し、居ればそちらのプロセスに「ウインドウをもう一つ開いてね」というリクエストを送り、返事が来たら終了、で、居なければ、指定されたプロファイルを使って自分がThunderbirdとして動いて、DDEの口をあけて他からのリクエストを待っている、というような感じになっています。
ですから、Tb17が動いている時にTb10を起動しても、新しく開くウィンドウはTb17になります。
また、"thunderbird,exe -no-remote -p 別のプロファイル"で起動すると、DDEで他のThunderbirdの存在を確認しないし、DDEの口をあけて待つこともしないで、Thunderbirdとして動くので、複数のバージョンのTbを同時に動かすこともできます。

必ずしも起こるわけではなさそうですし、状況の説明だと、
Tbの終了時に、Tbのウィンドウを直ぐに閉じたあと、DDEの口を閉じる前の段階でハングし、
後で起動された別のthunderbird.exeのプロセスは、DDEの口が開いているからリクエストを投げて応答を待っているが、
前に起動した方のthunderbird,exeはハングしていて、永久に応答を返さない、
というような印象を受けます。

Thunderbirdが正常に終了していない、ということだとすると、以下のようなことが考えられます。

前のTbを終了した後、どのくらいの時間をあけて次のTbの起動のリクエストをだしていますか?
30分以内で、IMAPを使っている場合だと、IDLEの途中で接続が切れている時にTbを終了すると、次のIDLEのインターバル(30分間隔)のためにDONEを送って、IDLE terminatedのレスポンス待ちでタイムアウトが起こるまで、終了が完了しない、というような問題が起こっている可能性があります。

Tbは、どのようにして終了させていますか?
Tbは、どのようなタイミングで起動させていますか?
Tbが終了中なのに外部プログラムがthunderbird.exeを起動していて、Tbの終了処理中にDDE経由のリクエストが来るとタイミングによってはTbがハング、というような問題も考えられます。、

作成者:  偶然的通行人 [ 2013年8月31日(土) 09:34 ]
記事の件名:  Re: Thunderbirdが起動できない > 外部プログラムからの呼び出し

kiki さんと 通行人 さんから詳しいリプライが寄せられていますので、ざっくりと......。

前便でのぼくの書き方が悪かったのかもしれませんが、「外部プログラム」を関与させないで、標準的な状態から単独で Thunderbird を正常に起動させることができるかどうか、を確認していただければと思いました。

1 [外部プログラム] ―//―> 2 [thunderbird.exe 実行] ―//―> 3 [プロファイル読み込み開始] ―//―> 4 [正常な起動の完了]

このうち、2 - 4 間の動作を確認する作業をなさってはどうかというつもりで申し上げました。
1 - 2 間については、何かのコマンドオプションを指定しているか否かとか、同一 PC 上での話なのかリモートなのか、そのあたりの詳しい事情がわかりませんから、「外部プログラムがthunderbird.exeの起動コマンド実行していることは確認できています」のお言葉を信じることを前提にしての話です。

標準的な手順で Thunderbird を起動できないならセーフモードでの起動をテストし、それも不可能なら新しいプロファイルを追加作成して起動の可否を確かめていくことで、問題の所在を絞り込んでいけるのではないかと思ったのですが......。
一方、Thunderbird 単独で常に問題なく起動できることが確認できるのなら、1 - 2 間のプロセスに問題がある可能性も否定できないと思います。このあたりは 通行人 さんがヒントを寄せてくださっていますね。

とりあえず以上です。

作成者:  takashi [ 2013年9月02日(月) 12:00 ]
記事の件名:  Re: Thunderbirdが起動できない

返信ありがとうございます。

Thunderbirdが正常に終了していないという状況は発生していません。
Thunderbird起動停止時のログを出力させているのですが、
Thunderbirdが正常に終了された(Thunderbird.exeが落ちた)ことを確認できています。

また、PC起動直後でも本事象が発生しております。
(情報提供できておらず申し訳ありません。)

このPCでは以前「Thunderbird 1.0.6」を使用していましたが、
本事象は1度も発生しませんでした。
前述の通り、事象発生時に「Thunderbird.exe」を手動実行しても、
「Thunderbird.exe」のプロセスが増えるだけで、
Thunderbirdが起動できない状況にあります。
アプリケーション一覧にはThunderbirdが出てきません。
プロセス一覧にあるthunderbird.exeのメモリ使用量も30MB程度で、
正常起動時に比べメモリ使用量も少ない状況です。

また、このPCですが、
元々英語OSだったものを日本語で表示させるようにしている
ことがわかりました。

■外部プログラムからの起動方法
・以下のコマンドを実行しています。
   c:\Program Files\Mozilla Thunderbird\Thunderbird.exe -P "uid" -UILocale ja-JP
■「profiles.ini」内容
[General]
StartWithLastProfile=1
[Profile0]
Name=aaa
IsRelative=0
Path=C:\Program Files\Mozilla Thunderbird\Users\aaa
Default=1
[Profile1]
Name=bbb
IsRelative=0
Path=C:\Program Files\Mozilla Thunderbird\Users\bbb
起動コマンドが良くないのでしょうか。

作成者:  kiki [ 2013年9月02日(月) 12:59 ]
記事の件名:  Re: 外部プログラムから Thunderbird が起動できない

 
まず最初に、補足説明です。

【Thunderbird の標準起動について】
通常、Thunderbird をインストールしたら、標準起動用のショートカットが自動的に作成されます。
それらは、デスクトップと、プログラムメニューに置かれます。
 #インストール時に、任意に、作成しない選択も可能です。

そして、そこから起動すると、自動的にデフォルトのプロファイルが作成されて、それを読み込んで
起動して、Thunderbird のウィンドウが開きます。
 #初期インストール後の初回起動時に、デフォルトのプロファイルを作成します。

これにより、profiles.ini に、起動するデフォルトのプロファイルが記述されます。
次回の起動時にも、この情報を参照して、起動するようになります。
 #これが、標準仕様です。

偶然的通行人 さんが、先に書かれたのは、この起動方法を云われているのですが、通常起動は、どの
ようにされているのでしょうか?
また、通常起動(標準起動)をされたら、どうなりますか?
ちゃんと、正常起動しますか?

なぜ、この通常起動の確認をお尋ねするかというと、通常起動ができない状態ならば、外部プログラ
ムから呼び出しても、正常に起動できないからです。
おそらく、偶然的通行人 さんも、この点を推察された上で、確認のお尋ねをされたと思います。
もし、この通常起動ができないのならば、どこかが壊れているか、おかしいことになっています。


【外部プログラムからの thunderbid.exe キック(呼び出し・実行)について】
上記の理由から、外部プログラムから、どのようにキックされているのか、profiles.ini にどのように
記述されているのか、をお尋ねしたのです。
特に、profiles.ini に記述されている内容が不正だったり、壊れていたら、正常に起動できないからで
す。
 #profiles.ini については、先に紹介したサイトページを参照してください。

-----------------------------------------------------------------------------------------------

次に、いただいたコメント内容についてです。

takashi さんが書きました:
また、このPCですが、
元々英語OSだったものを日本語で表示させるようにしている
ことがわかりました。

念のため、お尋ねしますが、問題の起きている PC の現在の OS は、英語版ですか?
それとも、日本語版ですか?

また、Thunderbird 17.0.6 は、英語版ですか?
それとも日本語版ですか?


起動コマンドと profiles.ini を拝見しました。
外部プログラムから、以下の起動コマンドを実行している場合、プロファイル名を "uid" と指定されて
います。

c:\Program Files\Mozilla Thunderbird\Thunderbird.exe -P "uid" -UILocale ja-JP

しかし、profiles.ini の記述内容を拝見すると、どこにも指定されているプロファイル名と同じものが
ありません。
 #profiles.ini の Name=xxxxx の箇所が、それに該当します。

この状態で、不定期とは云え、正常に起動することもあるのでしょうか?
正常に起動するとしたら、aaa というプロファイルで、起動することになるでしょうか。

ということで、起動コマンド、profiles.ini の両方に、誤りがあると思われます。
以下の例で、どうなりますか?

<起動コマンドの例>
"C:\Program Files\Mozilla Thunderbird\thunderbird.exe" -P uid -UILocale ja
または、
"C:\Program Files\Mozilla Thunderbird\thunderbird.exe" -UILocale ja -P uid
 #ロケール(locale)は、ja-JP ではなく、ja になります。

<profiles.ini の例>
[General]
StartWithLastProfile=1
[Profile0]
Name=uid
IsRelative=0
Path=C:\Program Files\Mozilla Thunderbird\Users\aaa


[補足]
老婆心ながら、プロファイルを置く場所は、インストールフォルダ配下は避けて、別の場所にされた
ほうが、いいでしょう。
理由は、アンインストールの際に、ごっそり、プロファイルも失う可能性を、回避するためです。

作成者:  takashi [ 2013年9月02日(月) 14:04 ]
記事の件名:  Re: Thunderbirdが起動できない

返信ありがとうございます。

インストール時にデスクトップ上に作成されるThunderbirdのショートカットは、
外部プログラムを起動するようになっています。

「"C:\Program Files\Mozilla Thunderbird\thunderbird.exe" -P aaa -UILocale ja」を
実行するショートカットから実行することで、通常起動(標準起動)を確認したいと思います。
先程の外部起動コマンドについては、
 c:\Program Files\Mozilla Thunderbird\Thunderbird.exe -P "uid" -UILocale ja-JP
 ではなく、
 c:\Program Files\Mozilla Thunderbird\Thunderbird.exe -P aaa -UILocale ja-JP
が正解です。
申し訳ありませんでした。
Thunderbird 17.0.6は日本語版です。
問題の起きている PC の現在の OS は英語版です(言語は日本語表示)。
プロファイルの場所については見直しを検討したいと思います。

作成者:  kiki [ 2013年9月02日(月) 16:55 ]
記事の件名:  Re: 外部プログラムから Thunderbird が起動できない

 
takashi さんが書きました:
「"C:\Program Files\Mozilla Thunderbird\thunderbird.exe" -P aaa -UILocale ja」を
実行するショートカットから実行することで、通常起動(標準起動)を確認したいと思います。

まずは、通常起動がありきで、外部プログラムからの起動が、先にありき、ではありま
せん。
何のための「外部プログラムからの起動」なのでしょうか。

takashi さんが書きました:
Thunderbird 17.0.6は日本語版です。
問題の起きている PC の現在の OS は英語版です(言語は日本語表示)。

了解です。

システム全体で、日本語版のアプリケーションも正常に使用できるように、日本語用に
変更されているのでしょうか?
つまり、フォントも含めて、システム言語を日本語に変更されているのですか?
どのように、日本語表示にされているのですか?
 #Windows XP の MUI 版ですか?

もしそうならば、Thunderbird の日本語版をインストールされている場合は、コマンド
オプションの -UILocale ja の部分は、不要かと思われます。


【重要:お願い】 注:あくまでも当方の私見です。
takashi さんが書きました:
インストール時にデスクトップ上に作成されるThunderbirdのショートカットは、
外部プログラムを起動するようになっています。

企業内環境のようですが、業務に沿った環境条件で、ご利用だと見受けました。
つまり、ごく一般的な、標準的な環境条件ではない、ということのようです。

そういう場合は、前提条件が異なりますので、通常の標準仕様のお話しでは通用しない
箇所が、随所に出てくるでしょう。
であれば、最初に、そういった環境条件を、きちんと提示・紹介しておくべきです。
 #外部プログラムの名称、仕様、機能、利用内容などの関連する周辺情報も、
  当然それらに含まれます。

そうしないと、話が通じません。
takashi さんも、その都度、説明や補足を、加えなければならなくなります。
アドバイスする側も、先に書いたことや、それにあてた時間が、無駄になってしまいま
す。

また、企業内の環境条件などは、その事情からも、こういったパブリックでオープンな
フォーラムでは、当然ながら、すべて明らかにできないでしょう。
そうなると、おのずとアドバイスも、それらの制約を受けてしまいます。
takashi さんにとっても、標準仕様のお話しだけでは、有用な情報を得にくくなります。

手厳しいようですが、法人サポート(有料)を受けてください。
法人ユーザも、ユーザには変わりはありませんが、残念ながら、法人・企業の場合は、
相互ユーザサポートの場では、その特殊事情からもなじみにくく、適正さを欠く特性を
生じます。

作成者:  通行人 [ 2013年9月03日(火) 17:51 ]
記事の件名:  Re: Thunderbirdが起動できない

takashi さんが書きました:
Thunderbirdが正常に終了していないという状況は発生していません。
Thunderbird起動停止時のログを出力させているのですが、
Thunderbirdが正常に終了された(Thunderbird.exeが落ちた)ことを確認できています。

誰が書き出したログですか?
ThunderbirdにNSPRログを書かせたとしても、ログファイルの中身を見ただけでは、本当に終了しているかどうかの判定はできない...(^^;
タスクマネージャーで見て、アプリケーションとしてのTbはいないが、thunderbird.exeのプロセスはいる(30MBほどで)、という状況になるのでしょう?
Tbの起動前に、タスクマネージャーでthunderbird.exeというプロセスがいないことを確認する以外は、簡単な方法はないと思うんですが。
きちんと、Windows上のプロセスやタスクをチェックした上で書かれているログなのですか?

手動でTbを立ち上げ、の確認ですが、MS Winのタスクマネージャーで、thunderbird.exeというプロセスがいないことをちゃんと確認し、いたら全てをタスクマネージャーから殺してから、手動でTbを立ち上げていますか?
thunderbird.exeというプロセスがいないことをちゃんと確認し、手動でThunderbirdを立ち上げようとした時、タスクマネージャー上では、どのような状態になるのですか?
takashi さんが書きました:
また、PC起動直後でも本事象が発生しております。
(情報提供できておらず申し訳ありません。)
ということのようですから、最初に立ち上げようとしたthunderbird.exeが、DDEをオープンした状態でハングしているので、外部プログラムからだろうと手動だろうが、後から起動したthunderbird.exeは待ってしまい、立ち上げようとするたびにthunderbird.exeのゾンビプロセスが増えていく、という状況のように聞こえますけど。

takashi さんが書きました:
■「profiles.ini」内容
[Profile0]
Name=aaa
[Profile1]
Name=bbb
■外部プログラムからの起動方法
・以下のコマンドを実行しています。
   c:\Program Files\Mozilla Thunderbird\Thunderbird.exe -P "uid" -UILocale ja-JP

(1)コマンドラインのストリングを定義する場合、パスにスペースを含む場合は、”c:\Program Files\Mozilla Thunderbird\Thunderbird.exe”のようにダブルクォートで囲まないといけないのですが(BATファイルとか)、その点は問題ありませんか?


(2)-P "uid" のuidの部分ですが、以下のどれですか?
(a) uid という文字列
(b) aaa あるいは bbbという、profiles.iniにちゃんと定義されている名前の文字列
(c)それ以外

(3)コマンドプロンプトで、以下のようにすると、どうなりますか?
C:
CD "C:\Program Files\Mozilla Thunderbird"
thunderbird.exe -no-remote -p
(現行ドライブをC:にし、カレントディレクトリーをTbのプログラムディレクトリにして、thunderbird.exeを起動。その時、-no-remote と -p というスイッチをパラメーターとして渡す)
プロファイルマネージャーが立ち上がったら、誰も使用していないはずの方のプロファイルを選択。
(プロファイルディレクトリーの中に、parent.lockというファイルがないことを、事前に確認しておいてください。

ページ 11 All times are UTC + 9 hours
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/