0

私たちはこれを数回見てきました。MSDTC にはある種の NHibernate の問題があると確信していますが、なぜ NserviceBus はホスト プロセスをクラッシュさせる代わりにエラー キューに例外を送信しないのですか? 3.2.6 と 3.3.3 の両方で例外を確認しました。

これは、午前 7 時 34 分にエンドポイントのアップグレードを行う前の 17 日にも発生しました。

ログ名: アプリケーション ソース: アプリケーション エラー 日付: 2012 年 12 月 17 日 7:34:20 AM イベント ID: 1000 タスク カテゴリ: (100) レベル: エラー キーワード: クラシック ユーザー: 該当なし コンピューター: 411357-SVCS01.daxko。 local 説明: 障害が発生しているアプリケーション名: NServiceBus.Host.exe、バージョン: 3.2.6.0、タイム スタンプ: 0x4ffd66f8 障害が発生しているモジュール名: KERNELBASE.dll、バージョン: 6.1.7601.17651、タイム スタンプ: 0x4e21213c 例外コード: 0xe0434352 障害オフセット: 0x000000000000cacdプロセス ID: 0x2200 障害のあるアプリケーションの開始時刻: 0x01cddc556e2ef369 障害のあるアプリケーション パス: D:\store\endpoints\Production\OnlineRegistrationEndpoint\NServiceBus.Host.exe 障害のあるモジュール パス: C:\Windows\system32\KERNELBASE.dll レポート ID: 75b6c18c-484e -11e2-b05c-0050568e4fb1 イベント XML:1000 2 100 0x80000000000000 40360 Application 411357-SVCS01.daxko.local NServiceBus.Host.exe 3.2.6.0 4ffd66f8 KERNELBASE.dll 6.1.7601.17651 4e21213c e0434352 000000000000cacd 2200 01cddc556e2ef369 D:\store\endpoints\Production\OnlineRegistrationEndpoint\NServiceBus.Host.exe C :\Windows\system32\KERNELBASE.dll 75b6c18c-484e-11e2-b05c-0050568e4fb1

ログ名: アプリケーション ソース: .NET ランタイム 日付: 12/17/2012 7:34:18 AM イベント ID: 1026 タスク カテゴリ: なし レベル: エラー キーワード: クラシック ユーザー: 該当なし コンピューター: 411357-SVCS01.daxko.local説明: アプリケーション: NServiceBus.Host.exe フレームワーク バージョン: v4.0.30319 説明: 未処理の例外のため、プロセスが終了しました。例外情報: System.InvalidOperationException スタック: NHibernate.AdoNet.ConnectionManager.Disconnect() で NHibernate.Impl.SessionImpl.Close() で NHibernate.Impl.SessionImpl.Dispose(Boolean) で NHibernate.Transaction.AdoNetWithDistrubtedTransactionFactory+<> c_DisplayClass1。 bSystem.Transactions.TransactionCompletedEventHandler.Invoke(System.Object, System.Transactions.TransactionEventArgs) の _0(System.Object, System.Transactions.TransactionEventArgs) System.Transactions.TransactionStatePromotedAborted.EnterState(System.Transactions.InternalTransaction) の System.Transactions .InternalTransaction.DistributedTransactionOutcome(System.Transactions.InternalTransaction, System.Transactions.TransactionStatus) で System.Transactions.Oletx.RealOletxTransaction.FireOutcome(System.Transactions.TransactionStatus) で System.Transactions.Oletx.OutcomeEnlistment.InvokeOutcomeFunction(System.Transactions.TransactionStatus) ) System.Transactions.Oletx.OletxTransactionManager.ShimNotificationCallback(System.Object, Boolean) で System.Threading._ThreadPoolWaitOrTimerCallback.PerformWaitOrTimerCallback(System.オブジェクト、ブール値)

イベント Xml: 1026 2 0 0x80000000000000 40359 アプリケーション 411357-SVCS01.daxko.local アプリケーション: NServiceBus.Host.exe フレームワーク バージョン: v4.0.30319 説明: 未処理の例外のため、プロセスが終了しました。例外情報: System.InvalidOperationException スタック: NHibernate.AdoNet.ConnectionManager.Disconnect() で NHibernate.Impl.SessionImpl.Close() で NHibernate.Impl.SessionImpl.Dispose(Boolean) で NHibernate.Transaction.AdoNetWithDistrubtedTransactionFactory+<> c_DisplayClass1。 <EnlistInDistributedTransactionIfNeeded>bSystem.Transactions.TransactionCompletedEventHandler.Invoke(System.Object, System.Transactions.TransactionEventArgs) の _0(System.Object, System.Transactions.TransactionEventArgs) System.Transactions.TransactionStatePromotedAborted.EnterState(System.Transactions.InternalTransaction) の System.Transactions .InternalTransaction.DistributedTransactionOutcome(System.Transactions.InternalTransaction, System.Transactions.TransactionStatus) で System.Transactions.Oletx.RealOletxTransaction.FireOutcome(System.Transactions.TransactionStatus) で System.Transactions.Oletx.OutcomeEnlistment.InvokeOutcomeFunction(System.Transactions.TransactionStatus) ) System.Transactions.Oletx.OletxTransactionManager.ShimNotificationCallback(System.Object, Boolean) で System.Threading._ThreadPoolWaitOrTimerCallback.PerformWaitOrTimerCallback(System.オブジェクト、ブール値)

4

1 に答える 1

1

NServiceBus フォーラムから、NServiceBus が例外を処理できない修正と理由を説明する応答を受け取りました。http://tech.groups.yahoo.com/group/nservicebus/message/17328

これをグーグルで調べたところ、NHibernate ( https://nhibernate.jira.com/browse/NH-2420 ) のバグで、3 つ以上のバージョンで修正されているはずです!

エンドポイントがクラッシュし、エラー キューに何も送信されない理由は、これがバックグラウンド スレッドで未処理の例外であるためです。

これが起こらないようにするために私たちにできることがあるかどうかはわかりません!

2012 年 12 月 19 日 04:20 に、porsche4me1999 は次のように書いています。

-- よろしく John Simons NServiceBus

于 2012-12-19T00:06:16.283 に答える