サポートアドバイザリ:.NET System.IO.IOException
このドキュメントでは、AppDynamics 製品のサポートアドバイザリについて説明します。
概要
.NET 6 のバグにより、ファイルが読み取りバッファ サイズの倍数でない場合、ファイル全体が読み取られた後に例外がスローされます。ファイルは System.IO.IOException:'The parameter is incorrect.' です。
このバグの詳細については、「.NET Runtime Issue 50858」および「.NET Runtime Issue 6285」を参照してください。
影響を受けるソフトウェア
このバグは、特に .NET 6 アプリケーションをインストゥルメント化するときに、Windows で実行されている .NET MSI APM エージェント(MSI パッケージを介してインストールされるエージェント)に影響を与えることが知られています。
影響
Windows で実行されている .NET MSI APM エージェントで、.NET 6 アプリケーションをインストゥルメント化すると、エージェント設定の読み取りが試みられたときに、次のエラーが表示されます。この例外の影響は、.NET 6 アプリケーションがインストルメント化されないことです。
System.IO.IOException: The parameter is incorrect. at
System.IO.Strategies.BufferedFileStreamStrategy.ReadFromNonSeekableAsync(Memory`1 destination, CancellationToken cancellationToken) at
System.Threading.Tasks.TaskToApm.End[TResult](IAsyncResult asyncResult) at
System.IO.Strategies.BufferedFileStreamStrategy.EndRead(IAsyncResult asyncResult) at System.IO.FileStream.EndRead(IAsyncResult asyncResult) at AppDynamics.Agent.Communication.IPC.NamedPipeClient.DeserializeResponse(FileStream strm, Int32 timeout, CommandStatus& status).
解像度
この問題を解決するには、次の手順を実行します。
オプション 1:この問題は、.NET 6.0.1 で Microsoft によって対処されています。「.NET ランタイムプル 61410」を参照してください。.NET 6.0.1 にアップグレードすると、問題が解決します。
オプション 2:システム範囲またはアプリケーション範囲で環境変数を設定します。
- Name:
DOTNET_SYSTEM_IO_USENET5COMPATFILESTREAM - Value:
1
オプション 3:.NET マイクロサービス エージェントを使用して、.NET 6 アプリケーションをインストルメントします。