― MozillaZine.jp フォーラムは Mozilla 製品に関する情報交換の場です ―



All times are UTC + 9 hours

新しいトピックを投稿する トピックへ返信する  [ 11 件の記事 ] 
作成者 メッセージ
投稿記事Posted: 2008年5月14日(水) 23:48 
【環境】
OS: FreeBSD 7.0-RELEASE
TB: Thunderbird 2.0.0.14
SMTP-A: Yahoo! メールサーバ(port 587 with SMTP Auth)
SMTP-B: サクラ メールサーバ(port 587 with SMTP Auth)

【症状】
SMTP-A 経由でメールを送信すると待ち時間なく送信が完了します。
SMTP-B 経由でメールを送信すると、「SMTP-Bに接続しました...」というダイアログが出て 25〜50 秒ほど固まり、その後送信が完了します。
(別の窓を raise して TB を隠した後、再度 TB を raise させると再描画されないので固まるという表現にしました)

最初 ident かとも思ったのですが、別の Windows マシンの TB(2.0.0.14) では SMTP-B 経由でもサクッと送信できたのでそうではないようです。
また、SMTP-B で送信時に tcpdump してみると ehlo してその返事が SMTP-B から 返ってきたあと 25〜50 秒経過の後やっとこさ TB が auth コマンドを発行してメールを送信しています。
ですので ident ではなく TB が正常にコマンドを発行していないように思われます。

ちなみにメールの受信に関してはどのサーバでも待ち時間なく受信できます。


この症状が出る前に別のマシンから TB の引っ越しをしたので、その辺で不具合が出てしまったのではないかと思われるのですが、FAQ の引っ越しの仕方も見てみましたが特に変な作業は行っていないので疑問に思っています。
他には TB が記憶している SMTP-B のパスワードを削除してみたり、TSL を On/Off してみたり、msf ファイルを削除してみたり、Cacsh ディレクトリを削除してみたりしたのですが解決しませんでした。
また google 検索しても同様の症状が見つからずお手上げになり投稿させていただきました。

どこを調べれば良いかポインタなど教えていただけないでしょうか。
よろしくお願いいたします。


通報する
ページトップ
  
引用付きで返信する  
投稿記事Posted: 2008年5月15日(木) 17:22 
オフライン
Moderator

登録日時: 2006年10月29日(日) 21:56
記事: 472
kmt さんが書きました:
この症状が出る前に別のマシンから TB の引っ越しをしたので、その辺で不具合が出てしまったのではないかと思われるのですが、FAQ の引っ越しの仕方も見てみましたが特に変な作業は行っていないので疑問に思っています。
新規プロファイルを作成して、引っ越しせずに試してみれば、問題の切り分けができると思います。


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2008年5月15日(木) 23:33 
ご連絡ありがとうございます。
以下のようにして新規プロファイルで試してみました。
コード:
% mv .thunderbird .thunderbird-ooo
% thunderbird
:
SMTP-A のアカウント作成
SMTP-B のアカウント作成& SMTP-B の送信設定追加
それぞれのアカウントでメールを送信してみる

結論としましては症状は同じで ehlo の返事をもらったら auth までだんまりになりました。 orz
少しまとめますと以下のようになります。

FreeBSD7 TB で SMTP-A 経由 … OK
FreeBSD7 TB で SMTP-B 経由 … NG (時間がかかる)
WindowsXP TB で SMTP-B 経由 … OK
FreeBSD から telnet SMTP-B 587 … OK

あ! debug オプションを付けて TB をコンパイルしてみます。


通報する
ページトップ
  
引用付きで返信する  
投稿記事Posted: 2008年5月16日(金) 06:16 
DEBUG と LOGGING を付けて TB をコンパイルしました。
下記に示す通り SMTP-A と SMTP-B ではログ的にはほぼ同じでした。
他にも何かありましたらお教えいただければ幸いです。
よろしくお願いいたします。


SMTP-B で送信したとき
コード:
SendMessage from XUL
GenericSendMessage from XUL
Identity = [nsIMsgIdentity: id3]
WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file nsStringBundle.cpp, line 273
WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file nsStringBundle.cpp, line 273
WARNING: default.xpm not found, file nsWindow.cpp, line 3274
++WEBSHELL == 7
++DOMWINDOW == 14
++DOMWINDOW == 15
Trying to position a sizeless window; caller should have called sizeToContent() or sizeTo(). See Bug 75649.
↑この行のあとしばらく数十秒止まります
↓そして送信に成功します
Message Delivery SUCCEEDED!
nsMsgComposeSendListener: Success on the message send operation!
CopyListener::OnStartCopy()
nsMsgComposeSendListener::OnStartCopy()
CopyListener: SUCCESSFUL ON THE COPY OPERATION!
--WEBSHELL == 6
nsMsgComposeSendListener: Success on the message copy operation!
WARNING: Couldn't add reflow command, so splitting.


SMTP-A で送信したとき
コード:
SendMessage from XUL
GenericSendMessage from XUL
Identity = [nsIMsgIdentity: id2]
WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file nsStringBundle.cpp, line 273
WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file nsStringBundle.cpp, line 273
WARNING: default.xpm not found, file nsWindow.cpp, line 3274
++WEBSHELL == 7
++DOMWINDOW == 14
++DOMWINDOW == 15
Trying to position a sizeless window; caller should have called sizeToContent() or sizeTo(). See Bug 75649.
↓一瞬で送信に成功します
Message Delivery SUCCEEDED!
nsMsgComposeSendListener: Success on the message send operation!
CopyListener::OnStartCopy()
nsMsgComposeSendListener::OnStartCopy()
CopyListener: SUCCESSFUL ON THE COPY OPERATION!
--WEBSHELL == 6
nsMsgComposeSendListener: Success on the message copy operation!
WARNING: Couldn't add reflow command, so splitting.
[/code]


通報する
ページトップ
  
引用付きで返信する  
投稿記事Posted: 2008年5月16日(金) 23:13 
オフライン
Moderator

登録日時: 2006年10月29日(日) 21:56
記事: 472
まずは、プロトコルログを取ってみる。
http://www.mozilla.org/quality/mailnews ... .html#smtp

あとは、だんまりの間にデバッガを attach して、どこでだんまりになっているのかを調べる。

でしょうか。


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2008年5月19日(月) 01:33 
% setenv NSPR_LOG_MODULES protocol:5
% setenv NSPR_LOG_FILE /tmp/filename
% thunderbird
して送信ボタンを押したときのログをみてみましたがログの内容は同じでしたが挙動がやはり違うままでした。
あとは attach ですか。時間を作ってはいろいろとやってみます。
/* いやー参りました:-) */

いろいろとありがとうございました。

SMTP-B経由
コード:
700453120[29c12080]: WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file nsStringBundle.cpp, line 273
700453120[29c12080]: WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file nsStringBundle.cpp, line 273
700453120[29c12080]: WARNING: default.xpm not found, file nsWindow.cpp, line 3274
700453120[29c12080]: ###!!! ASSERTION: output_carryoverlen must be > 0: 'output_carryoverlen > 0', file comi18n.cpp, line 201
700453120[29c12080]: ###!!! Break: at file comi18n.cpp, line 201
ここでしばらくだんまりになります

SMTP-A経由
コード:
700453120[29c12080]: WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file nsStringBundle.cpp, line 273
700453120[29c12080]: WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file nsStringBundle.cpp, line 273
700453120[29c12080]: WARNING: default.xpm not found, file nsWindow.cpp, line 3274
700453120[29c12080]: ###!!! ASSERTION: output_carryoverlen must be > 0: 'output_carryoverlen > 0', file comi18n.cpp, line 201
700453120[29c12080]: ###!!! Break: at file comi18n.cpp, line 201


通報する
ページトップ
  
引用付きで返信する  
投稿記事Posted: 2008年5月19日(月) 02:26 
オフライン
Moderator

登録日時: 2006年10月29日(日) 21:56
記事: 472
kmt さんが書きました:
% setenv NSPR_LOG_MODULES protocol:5
それ間違いです。
引用:
For IMAP, POP, NNTP, or SMTP, replace protocol with IMAP, POP3, NNTP, or SMTP respectively.
なので、今回の場合は SMTP:5 です。


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2008年5月19日(月) 14:28 
ご指摘いただきありがとうございます。お恥ずかしい限りです。

お陰様で原因を特定することができました。
SMTP-B では昔から LOGIN PLAIN {DIGEST|CRAM}-MD5 GSSAPI の認証方式があるのですが、今回の TB は GSSAPI 認証のタイムアウトを待ってから CRAM-MD5 に移っていました。
引用:
:
700453120[29c12080]: SMTP Response: 250-AUTH PLAIN GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN
700453120[29c12080]: SMTP entering state: 0
700453120[29c12080]: SMTP Response: 250-DELIVERBY
700453120[29c12080]: SMTP entering state: 0
700453120[29c12080]: SMTP Response: 250 HELP
700453120[29c12080]: SMTP entering state: 4
700453120[29c12080]: SMTP entering state: 22
700453120[29c12080]: SMTP entering state: 24
ここで時間がかかって
700453120[29c12080]: SMTP entering state: 22
700453120[29c12080]: SMTP entering state: 17
700453120[29c12080]: Logging suppressed for this command (it probably contained authentication information)
700453120[29c12080]: SMTP entering state: 0
700453120[29c12080]: SMTP Response: 334 テキトウな文字列がづらづらと+
700453120[29c12080]: SMTP entering state: 19
700453120[29c12080]: SMTP entering state: 18
700453120[29c12080]: Logging suppressed for this command (it probably contained authentication information)
700453120[29c12080]: SMTP entering state: 0
700453120[29c12080]: SMTP Response: 235 2.0.0 OK Authenticated
:

Windows XP の TB 2.0.0.14 で、前に使用していた FreeBSD6 の TB 2.0.0.14 でタイムアウトしないというのが気になりますが、Keroberos 絡みで追いかけてみたいと思います。
何か分かりましたらこちらにご報告できたらと思っています。
いろいろとお教えいただきありがとうございました。

P.S.
ちなみに SMTP-A では LOGIN PLAIN しか認証方式がないのですんなりと TB が送信していました。


通報する
ページトップ
  
引用付きで返信する  
投稿記事Posted: 2008年5月20日(火) 17:07 
オフライン
Moderator

登録日時: 2006年10月29日(日) 21:56
記事: 472
kmt さんが書きました:
SMTP-B では昔から LOGIN PLAIN {DIGEST|CRAM}-MD5 GSSAPI の認証方式があるのですが、今回の TB は GSSAPI 認証のタイムアウトを待ってから CRAM-MD5 に移っていました。
ということは、GSSAPI は飛ばしてしまっても良いということですね?

Config Editor で network.negotiate-auth.gsslib にでたらめな文字列を入れてしまうとか、
自前でビルドしているようであれば、GSSAPI を有効にしている部分(ここの 2 行)を削除してしまうとか、
でどうでしょうか。


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2008年5月21日(水) 04:10 
ご連絡ありがとうございます。

あ さんが書きました:
ということは、GSSAPI は飛ばしてしまっても良いということですね?
はい。飛ばしても問題ありません。

あ さんが書きました:
Config Editor で network.negotiate-auth.gsslib にでたらめな文字列を入れてしまうとか、
自前でビルドしているようであれば、GSSAPI を有効にしている部分(ここの 2 行)を削除してしまうとか、でどうでしょうか。
これらの方法で GSSAPI 認証をスルーすることができました。ただうちでは次の 2項目を変更して TB を再起動する必要がありました。
引用:
network.negotiate-auth.gsslib = foobarbaz
network.negotiate-auth.using-native-gsslib = false
また、教えていただいたのに心苦しいのですが、自前でビルドしているとはいえバージョン管理は ports で行っているため今回は Config Editor の編集で回避することにしたいと思います。
ありがとうございました。

今まで使っていた FreeBSD 6-STABLE の TB や WindowsXP の TB ではこれらの変更なしに一瞬で送信できていたのが腑に落ちないので、この辺を try & error してみたいと思います。
/* FreeBSD 6-STABLE ではいろいろなソフトを入れていたのできっと記憶にないだけで Kerberos の設定を行っていて、それでスコーンと送信できたんじゃないかと想像はしています */


通報する
ページトップ
  
引用付きで返信する  
投稿記事Posted: 2008年5月28日(水) 18:58 
最近忙殺されていてなかなか試すことができませんでした。
kmt さんが書きました:
今まで使っていた FreeBSD 6-STABLE の TB や WindowsXP の TB ではこれらの変更なしに一瞬で送信できていたのが腑に落ちないので、この辺を try & error してみたいと思います。

先程、FreeBSD 7.0-RELEASE から FreeBSD 7.0-STABLE に上げました。
そうしたら Config Editor で gsslib の設定を初期値に戻してもすんなりとメール送信することができました。
STABLE に上げることによって Kerberos 関係の何かが入ったようです。
これでいろいろとスッキリできました。
ありがとうございました。

/* RELEASE に対する Kerberos の輸出規制ってまだ続いてたんですね */


通報する
ページトップ
  
引用付きで返信する  
期間内表示:  ソート  
新しいトピックを投稿する トピックへ返信する  [ 11 件の記事 ] 

All times are UTC + 9 hours


オンラインデータ

このフォーラムを閲覧中のユーザー: Google [Bot] & ゲスト[70人]


トピック投稿:  可
返信投稿:  可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

検索:
ページ移動:  
Powered by MozillaZine.jp® Forum Software © phpBB Group , Almsamim WYSIWYG
Japanese translation principally by ocean