[seasar-dotnet:2374] Re: 【Seasar】IIS 上でAccessViolationException が発生
河野友成
[E-MAIL ADDRESS DELETED]
2014年 9月 19日 (金) 14:39:43 JST
小谷さん
はじめまして。
河野です。
ご助言ありがとうございました。
また返信遅くなり申し訳ございません。
ご助言の内容を一つ一つ試し結果、最終的に以下内容で稼働するように
なりました。今後影響調査を行い、恒久対応の予定です。
----------------------------------------------------------------------------------------------------------
AccessViolationExceptionの例外が発生
スタックトレースによるとCastle.DynamicProxyの中でエラーが発生していた
↓
元々Seasar.DynamicProxyでAOPを使用していたが標準実装によるAOPに変更
・Web.configからSeasar.DynamicProxyのアセンブリロードを削除
・diconファイルから<component class="Seasar.Framework.Aop.Impl.DynamicAopProxyAspectWeaver" />を削除
----------------------------------------------------------------------------------------------------------
まだ、解決という段階ではないですので、また質問をする可能性もございますが、
ご助言本当に助かりました。ありがとうございました。
/*--------------------------------------------------------
河野 友成
--------------------------------------------------------*/
From: <mailto:seasar-dotnet-bounces @ ml.seasar.org> seasar-dotnet-bounces @ ml.seasar.org [ <mailto:seasar-dotnet-bounces @ ml.seasar.org> mailto:seasar-dotnet-bounces @ ml.seasar.org] On Behalf Of kotani.k
Sent: Monday, September 15, 2014 12:50 AM
To: <mailto:seasar-dotnet @ ml.seasar.org> seasar-dotnet @ ml.seasar.org
Subject: [seasar-dotnet:2372] Re: 【Seasar】IIS 上でAccessViolationException が発生
河野さん
小谷です。
seasar-user MLでjfluteさんが仰っている通り、まずは問題範囲の絞り込みを
してみては如何でしょうか。
思いつく限りでは、
・Seasar.NET 1.3.19を使用した場合も同様のエラーが発生するか?
・AOPを使わない(Interceptor系のコンポーネントをdiconから外す)場合は問題のエラーは発生しないか?
・Windows Server 2012 上からWindows Server 2012 R2 にした際に設定周りがリセットされていないか?
・(切替可能かは不明ですが)IISのバージョンを8.0に戻した場合も同様のエラーは発生するか?
・Quillを使用した場合も同様のエラーが発生するか?
以上です。
よろしくお願いします。
2014年9月12日 15:36 河野友成 < <mailto:kono.tomonari @ tis.co.jp> kono.tomonari @ tis.co.jp>:
はじめまして。
河野と申します。
初めてメールいたしますので、色々至らぬ点もあるかと思いますが、
よろしくお願いいたします。
早速ですがIIS上の <http://ASP.NET> ASP.NET 2.0アプリケーションを実行した際に
AccessViolationExceptionエラーが
発生しております。Seasarバージョンは「1.3.18」.NET のバージョンはアプリ要件
から「3.5」を使用しております。
原因が全く分からない状況です。エラー内容は以下になります。
(エラー内容)
----------------------------------------------------------------------------
----------------------------
例外情報:
例外の種類: AccessViolationException
例外メッセージ: 保護されているメモリに読み取りまたは書き込み操作を行お
うとしました。
他のメモリが壊れていることが考えられます。
スタック トレース:
場所 System.Reflection.Emit.TypeBuilder._TermCreateClass(Int32 handle,
Module module)
場所 System.Reflection.Emit.TypeBuilder.CreateTypeNoLock()
場所 System.Reflection.Emit.TypeBuilder.CreateType()
場所 Castle.DynamicProxy.Builder.CodeBuilder.AbstractEasyType.BuildType()
場所 Castle.DynamicProxy.Builder.CodeBuilder.AbstractEasyType.BuildType()
(・・・省略・・・)
場所 Seasar.Framework.Container.Impl.S2ContainerImpl.Init()
場所
Seasar.Framework.Container.Factory.SingletonS2ContainerFactory.Init()
場所 ASP.global_asax.Application_Start(Object sender, EventArgs e)
----------------------------------------------------------------------------
----------------------------
マイクロソフトへ問合わせを行いましたところ、Seasarのバージョンを変更して試し
てくださいとの
ことでしたので実施しましたが、現象は変わらずでした。
後解決手段でSeasarのメーリングリストへ問合わせしてみてはどうかということで、
今回メールした次第です。
(マイクロソフト問合わせ内容)
----------------------------------------------------------------------------
----------------------------
[タイトル]
IIS 上の <http://ASP.NET> ASP.NET 2.0 アプリケーションを実行した際に AccessViolationException
が発生
[お問い合わせの概要]
Windows Server 2012 R2 上の IIS 8.5 上で S2Container.NET を使ったアプリケー
ションを動作させている。このアプリケーションに対してアクセスを実施すると、以
下の例外が発生し、アプリーケーションが動作しない。対象のアプリケーションは、
Windows Server 2012 上では動作した。Windows Server 2012 R2 上で対象のアプリ
ケーションが動作するようにしたい。
例外情報:
例外の種類: AccessViolationException
例外メッセージ: 保護されているメモリに読み取りまたは書き込み操作を行お
うとしました。
他のメモリが壊れていることが考えられます。
スタック トレース:
場所 System.Reflection.Emit.TypeBuilder._TermCreateClass(Int32 handle,
Module module)
場所 System.Reflection.Emit.TypeBuilder.CreateTypeNoLock()
場所 System.Reflection.Emit.TypeBuilder.CreateType()
場所 Castle.DynamicProxy.Builder.CodeBuilder.AbstractEasyType.BuildType()
場所 Castle.DynamicProxy.Builder.CodeBuilder.AbstractEasyType.BuildType()
(・・・省略・・・)
場所 Seasar.Framework.Container.Impl.S2ContainerImpl.Init()
場所
Seasar.Framework.Container.Factory.SingletonS2ContainerFactory.Init()
場所 ASP.global_asax.Application_Start(Object sender, EventArgs e)
[お伝えした内容]
今回の現象発生のスタックトレースを見ると、 <http://ASP.NET> ASP.NET の Application_Start のタ
イミングで
Seasar.Framework.Container.Factory.SingletonS2ContainerFactory.Init() を呼び
出し、
その呼び出しの中で、AccessViolationException が発生しております。
スタックからは実際にアプリケーションの画面などにはアクセスした形跡は確認でき
ません。
このような状況を鑑みると、まずは Seasar の動作で何か問題がないかをご確認いた
だくことをお勧めいたします。
S2Container.NET のバージョンは 1.3.12 と伺っておりますが、こちらのバージョン
を変えてみて
どうなるか、ご確認をいただきたいと存じます。以下を見ると、.NET 2.0 で利用可
能なバージョンとして
1.3.12 より新しいバージョンもいくつか確認できます。
<http://s2container.net.seasar.org/ja/download.html#past> http://s2container.net.seasar.org/ja/download.html#past
バージョンの変更でも特に動作が変わらないようでしたら、改めてご相談いただけな
いでしょうか。
できることがないかを検討いたします。
また、あわせて S2Container.NET において、Application_Start 内で
Seasar.Framework.Container.Factory.SingletonS2ContainerFactory.Init() を呼び
出し
AccessViolationException が発生するようなことがないか、などをご確認いただい
てもよいかと存じます。
私がインターネット上のサイトを確認する限り、以下のように Seasar 向けのメーリ
ングリストもあるようです。
<http://ml.seasar.org/> http://ml.seasar.org/
----------------------------------------------------------------------------
----------------------------
解決策がご存知の方、不足事項等ございましたら、お手数ですがご連絡頂けたらと思
います。
以上の件よろしくお願いいたします。
/*--------------------------------------------------------
河野 友成
--------------------------------------------------------*/
_______________________________________________
seasar-dotnet mailing list
<mailto:seasar-dotnet @ ml.seasar.org> seasar-dotnet @ ml.seasar.org
<https://ml.seasar.org/mailman/listinfo/seasar-dotnet> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
-------------- next part --------------
HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
URL: <http://ml.seasar.org/archives/seasar-dotnet/attachments/20140919/8f3ee672/attachment.html>
seasar-dotnet メーリングリストの案内