2011-10-25 12 views
1

Classic ASPで書かれた非常に古いレガシーアプリケーションが1つあります。最近、いくつかのサーバー上で致命的なエラーが発生し始めました。 IISプロセスがクラッシュします。 IISデバッグツールでは、エラーのスタックトレースはほとんどありません。 2つの一般的なタイプのエラーがあります。トラップ可能なエラー0xC0000005

アプリケーションでは、ADO、Scripting.Dictionary、Scripting.FileSystem & MSXML6という種類のCOMコンポーネントしか使用していません。

IISログでは、エラーの説明はアクセス違反の例外(0xC0000005)と表示されます。

エラーの原因や今後のデバッグ方法についてご意見はありますか?このエラーの詳細を知るための方法は非常に高く評価されます。

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

スタックトレースは:

1.

1996e18 
oleaut32!VariantCopy+173 
oleaut32!SafeArrayCopyData+14e 
oleaut32!SafeArrayCopy+e3 
oleaut32!VariantCopy+5b 
oleaut32!VariantCopyInd+1a1 
asp!CComponentObject::GetVariant+27 
asp!CApplnVariants::get_Item+da 
oleaut32!DispCallFunc+16a 
oleaut32!CTypeInfo2::Invoke+234 
asp!CDispatchImpl<IVariantDictionary>::Invoke+55 
oleaut32!CTypeInfo2::Invoke+58a 
asp!CDispatchImpl<IApplicationObject>::Invoke+55 
vbscript!IDispatchInvoke2+b2 
vbscript!IDispatchInvoke+59 
vbscript!InvokeDispatch+13a 
vbscript!InvokeByName+42 
vbscript!CScriptRuntime::RunNoEH+22b2 
vbscript!CScriptRuntime::Run+62 
vbscript!CScriptEntryPoint::Call+51 
vbscript!CSession::Execute+c8 
vbscript!COleScript::ExecutePendingScripts+144 
vbscript!COleScript::SetScriptState+14d 
asp!CActiveScriptEngine::TryCall+19 
asp!CActiveScriptEngine::Call+31 
asp!CallScriptFunctionOfEngine+5b 
asp!ExecuteRequest+17e 
asp!Execute+24c 
asp!CHitObj::ExecuteChildRequest+12c 
asp!CErrInfo::LogCustomErrortoBrowser+28a 
asp!CErrInfo::LogErrortoBrowserWrapper+8b 
asp!CErrInfo::LogError+77 
asp!HandleError+100 
asp!HandleErrorMissingFilename+ac 
asp!CActiveScriptEngine::Call+a7 
asp!CallScriptFunctionOfEngine+5b 
asp!ExecuteRequest+17e 
asp!Execute+24c 
asp!CHitObj::ViperAsyncCallback+3f0 
asp!CViperAsyncRequest::OnCall+92 
comsvcs!CSTAActivityWork::STAActivityWorkHelper+32 
ole32!EnterForCallback+c4 
ole32!SwitchForCallback+1a3 
ole32!PerformCallback+54 
ole32!CObjectContext::InternalContextCallback+159 
ole32!CObjectContext::DoCallback+1c 
comsvcs!CSTAActivityWork::DoWork+12d 
comsvcs!CSTAThread::DoWork+18 
comsvcs!CSTAThread::ProcessQueueWork+37 
comsvcs!CSTAThread::WorkerLoop+190 
msvcrt!_endthreadex+a3 
kernel32!BaseThreadStart+34 

2.

scrrun!FreeList+f    
scrrun!VBADictionary::~VBADictionary+28    
scrrun!VBADictionary::`scalar deleting destructor'+d    
scrrun!VBADictionary::Release+17    
oleaut32!VariantClear+b1    
oleaut32!ReleaseResources+98    
oleaut32!_SafeArrayDestroyData+4d    
oleaut32!_SafeArrayDestroy+b3    
oleaut32!SafeArrayDestroy+f    
oleaut32!VariantClear+75    
vbscript!VAR::Clear+a6    
vbscript!CScriptRuntime::Cleanup+63    
vbscript!CScriptRuntime::Run+8d   
vbscript!CScriptEntryPoint::Call+51   
vbscript!CScriptRuntime::RunNoEH+1e02  
vbscript!CScriptRuntime::Run+62   
vbscript!CScriptEntryPoint::Call+51    
vbscript!CScriptRuntime::RunNoEH+1e02   
vbscript!CScriptRuntime::Run+62    
vbscript!CScriptEntryPoint::Call+51    
vbscript!CScriptRuntime::RunNoEH+1e02    
vbscript!CScriptRuntime::Run+62    
vbscript!CScriptEntryPoint::Call+51    
vbscript!CScriptRuntime::RunNoEH+1e02    
vbscript!CScriptRuntime::Run+62    
vbscript!CScriptEntryPoint::Call+51    
vbscript!CSession::Execute+c8   
vbscript!COleScript::ExecutePendingScripts+144   
vbscript!COleScript::SetScriptState+14d   
asp!CActiveScriptEngine::TryCall+19    
asp!CActiveScriptEngine::Call+31    
asp!CallScriptFunctionOfEngine+5b    
asp!ExecuteRequest+17e   
asp!Execute+24c    
asp!CHitObj::ViperAsyncCallback+3f0    
asp!CViperAsyncRequest::OnCall+92    
comsvcs!CSTAActivityWork::STAActivityWorkHelper+32    
ole32!EnterForCallback+c4    
ole32!SwitchForCallback+1a3    
ole32!PerformCallback+54    
ole32!CObjectContext::InternalContextCallback+159    
ole32!CObjectContext::DoCallback+1c    
comsvcs!CSTAActivityWork::DoWork+12d    
comsvcs!CSTAThread::DoWork+18    
comsvcs!CSTAThread::ProcessQueueWork+37    
comsvcs!CSTAThread::WorkerLoop+190    
msvcrt!_endthreadex+a3 
kernel32!BaseThreadStart+34 
+0

エラーが断続的であるか定数であるかは明示していません。これは役に立ちます。また、レガシーアプリケーションであるため、おそらくServer 2000/3用に32ビットモードで書かれています。あなたは2008R2または64ビットで動作していますか?とにかく、 "HandleErrorMissingFilename"という用語はファイルアクセスを指しているようです。私はいつもWindowsサーバーが奇妙なエラーを投げているときにファイル許可を疑う。テスト環境では、ローカルのWebアカウント管理者が問題を取り除くかどうかを調べることができます。 – Morbo

+0

このエラーは、1日に約6回頻繁に発生します。 32ビットモードでWindows Server 2003 R2上で動作しています。既にIUSRをAdminsグループに追加しています。このエラーは、当社のテストサーバーでは再現されません。 – dimonzozo

答えて

0

は、我々は非常に似たような状況の最後の数週間を持っていました。この問題を追跡することは非常に複雑でした。問題はVB6コードのOnErrorハンドラにあります。再現する2例があります。

  • あなたが持っていないのonErrorハンドラは、エラーが発生し が
  • エラーがONERRORハンドラで発生し、IISに直接行くIISに直接行きます。

~100このようなエラーの後、IISは正常に動作しません。この瞬間の後には、まったく予測不可能な行動になります。

関連する問題