[Seasar-user:21941] 【Seasar】IIS 上でAccessViolationException が発生

河野友成 [E-MAIL ADDRESS DELETED]
2014年 9月 12日 (金) 10:03:23 JST


はじめまして。
河野と申します。

初めてメールいたしますので、色々至らぬ点もあるかと思いますが、
よろしくお願いいたします。

早速ですがIIS上の ASP.NET 2.0アプリケーションを実行した際に
AccessViolationExceptionエラーが
発生しております。原因が全く分かりません。エラー内容は以下になります。

(エラー内容)
----------------------------------------------------------------------------
----------------------------
例外情報:
     例外の種類: 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 上の 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)

[お伝えした内容]
今回の現象発生のスタックトレースを見ると、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

バージョンの変更でも特に動作が変わらないようでしたら、改めてご相談いただけな
いでしょうか。
できることがないかを検討いたします。

また、あわせて S2Container.NET において、Application_Start 内で
Seasar.Framework.Container.Factory.SingletonS2ContainerFactory.Init() を呼び
出し
AccessViolationException が発生するようなことがないか、などをご確認いただい
てもよいかと存じます。
私がインターネット上のサイトを確認する限り、以下のように Seasar 向けのメーリ
ングリストもあるようです。

    http://ml.seasar.org/
----------------------------------------------------------------------------
----------------------------

解決策がご存知の方、不足事項等ございましたら、お手数ですがご連絡頂けたらと思
います。

以上の件よろしくお願いいたします。

/*--------------------------------------------------------
河野 友成
--------------------------------------------------------*/






Seasar-user メーリングリストの案内