ブログアーカイブ
Windows 10 May 2019 Update
Windows 10 May 2019 Updateの影響で2019年7月29日は通信速度の遅い状態が続きました。 Windows 10 May 2019 Updateのダウンロードの影響のようです。Windows 10 メディア作成ツールを実行すると500kbpsほどしか速度がでません。翌朝ダウンロードしたところ6Mbpsから70Mbpsの速度が出ました。
KB3206632
KB3206632のインストールについて
- 2016年12月14日 Windows Update で 更新プログラムを確認しています 0% または 95% で数時間止まったままの状態に
- Microsoft Catalog から msuファイルをダウンロードしようとしたところ、800kbps 程度の速度となり2日以上と表示される
- 翌日ダウンロードしたところ数分程度で完了
2016年12月10日の KB3201845 は問題なかったのですが、今回のWindows Update は今まで以上に時間のかかる更新となりました。
RichTextBox
Windows 8.1 Update 1 x64で発生します。
Windows フォームに rtb(RichTextBox) と次のコードを追加します。
XmlDocument xmldocument = new XmlDocument();
using(FileStream filestream = new FileStream("filename.xml", FileMode.Open, FileAccess.Read, FileShare.None, 4096, false))
{
using (StreamReader stream = new StreamReader(filestream, Encoding.UTF8))
{
XmlReader reader = XmlReader.Create(stream);
xmldocument.Load(reader);
}
}
rtb.Text = xmldocument.DocumentElement.OuterXml;
実行すると、RichTextBox のスクロールが異常に遅くなる、または「型 ‘System.AccessViolationException’ のハンドルされていない例外が System.Windows.Forms.dll で発生しました
追加情報:保護されているメモリに読み取りまたは書き込み操作を行おうとしました。他のメモリが壊れていることが考えられます。
Just-In-Time (JIT) デバッグを呼び出すための詳細については、
ダイアログ ボックスではなく、このメッセージの最後を参照してください。
************** 例外テキスト **************
System.AccessViolationException: 保護されているメモリに読み取りまたは書き込み操作を行おうとしました。他のメモリが壊れていることが考えられます。
場所 System.Windows.Forms.UnsafeNativeMethods.CallWindowProc(IntPtr wndProc, IntPtr hWnd, Int32 msg, IntPtr wParam, IntPtr lParam)
場所 System.Windows.Forms.NativeWindow.DefWndProc(Message& m)
場所 System.Windows.Forms.Control.WndProc(Message& m)
場所 System.Windows.Forms.RichTextBox.WndProc(Message& m)
場所 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
場所 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** 読み込まれたアセンブリ **************
mscorlib
アセンブリ バージョン: 2.0.0.0
Win32 バージョン: 2.0.50727.8000 (FX35W81RTMGDR.050727-8000)
コードベース: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll
—————————————-
mscorlib.resources
アセンブリ バージョン: 2.0.0.0
Win32 バージョン: 2.0.50727.8000 (FX35W81RTMGDR.050727-8000)
コードベース: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll
—————————————-
WindowsFormsApplication2
アセンブリ バージョン: 1.0.0.0
Win32 バージョン: 1.0.0.0
コードベース: file:///app.exe
—————————————-
System.Windows.Forms
アセンブリ バージョン: 2.0.0.0
Win32 バージョン: 2.0.50727.7905 (win9rel.050727-7900)
コードベース: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
—————————————-
System
アセンブリ バージョン: 2.0.0.0
Win32 バージョン: 2.0.50727.7905 (win9rel.050727-7900)
コードベース: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
—————————————-
System.Drawing
アセンブリ バージョン: 2.0.0.0
Win32 バージョン: 2.0.50727.7905 (win9rel.050727-7900)
コードベース: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
—————————————-
System.Configuration
アセンブリ バージョン: 2.0.0.0
Win32 バージョン: 2.0.50727.7905 (win9rel.050727-7900)
コードベース: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
—————————————-
System.Xml
アセンブリ バージョン: 2.0.0.0
Win32 バージョン: 2.0.50727.7905 (win9rel.050727-7900)
コードベース: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
—————————————-
Accessibility
アセンブリ バージョン: 2.0.0.0
Win32 バージョン: 2.0.50727.7905 (win9rel.050727-7900)
コードベース: file:///C:/WINDOWS/assembly/GAC_MSIL/Accessibility/2.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
—————————————-
System.Windows.Forms.resources
アセンブリ バージョン: 2.0.0.0
Win32 バージョン: 2.0.50727.7905 (win9rel.050727-7900)
コードベース: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_ja_b77a5c561934e089/System.Windows.Forms.resources.dll
—————————————-
************** JIT デバッグ **************
Just-In-Time (JIT) デバッグを有効にするには、このアプリケーション、
またはコンピュータ (machine.config) の構成ファイルの jitDebugging
値を system.windows.forms セクションで設定しなければなりません。
アプリケーションはまた、デバッグを有効にしてコンパイルされなければ
なりません。
例:
JIT デバッグが有効なときは、このダイアログ ボックスで処理するよりも、
ハンドルされていない例外はすべてコンピュータに登録された
JIT デバッガに設定されなければなりません。
」が表示されてデバックが中止されます。filename.xml は 1MB ほどですが、メモリの使用量が 100MB以上になります。また50MB以上のテキストを表示された場合も同様のエラーが発生します。
System.Windows.Forms.dll のバージョンはそれぞれ 4.0.30319.33440, 2.0.50727.7905 です。
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\DbgManagedDebugger の System32 を SysWOW64 に書き換えて “C:\WINDOWS\SysWOW64\vsjitdebugger.exe” PID %d APPDOM %d EXTEXT “%s” EVTHDL %d と変更したところ、Visual Studio のデバッガーで「CLR は、COM コンテキスト 0x1b0e24e8 から COM コンテキスト 0x1b0e2738 へ 60 秒で移行できませんでした。ターゲット コンテキストおよびアパートメントを所有するスレッドが、ポンプしない待機を行っているか、Windows のメッセージを表示しないで非常に長い実行操作を処理しているかのどちらかです。この状態は通常、パフォーマンスを低下させたり、アプリケーションが応答していない状態および増え続けるメモリ使用を導く可能性があります。この問題を回避するには、すべての Single Thread Apartment (STA) のスレッドが、CoWaitForMultipleHandles のようなポンプする待機プリミティブを使用するか、長い実行操作中に定期的にメッセージをポンプしなければなりません。」この警告が発生するようになりました。
KB2977218 (Silverlight 5) を(再)インストールしたところ、このメッセージは表示されなくなりました。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide\Winners のキーを RegistryKey.OpenSubKey() で開くと 4.0.30139 では null が返されます。2.0.50527 では正しく読み取れます。
ダイアログベースのMFCアプリケーションのダイアログに Rich Edit 2.0 Control を配置して Visual Studio IDE でデバッグを行うと、「Detected memory leaks!
Dumping objects ->
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\occmgr.cpp(195) : {291} normal block at 0x027C24E8, 32 bytes long.
Data: 01 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\occmgr.cpp(181) : {290} normal block at 0x027C2498, 20 bytes long.
Data: FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00
」が発生して終了します。InitInstance() の CWinAppEx::InitInstance(); の後に AfxInitRichEdit(); を追加するとエラーが発生しなくなります。
RichTextBox に UTF-8 でエンコードされた特定の文字列、「𠀀」といったUnicode 追加漢字面の文字を追加するとこの現象が発生します。