Using Flash 10.1 beta? You may want to turn off crash logging

Flash 'F' logo The How-To Geek tipped me off to some odd behavior he noticed while taking Flash 10.1 beta for a spin. Every time he viewed Flash content in his browser, the disk would start thrashing with an alarming amount of access to NPSWF32.dll as pictured below.

Process Monitor, list of NPSWF32.dll accesses

After updating Flash, I fired up Process Monitor and confirmed his finding. Scary looking. Checking out the call stack for a few dozen entries, they all looked the same. Some code within NPSWF32.dll keeps calling SetUnhandledExceptionFilter. Over and over and over and over again and over and over and over and over and over again. Internally, this API causes Windows to query the file on disk (for some odd reason).

Process Monitor, call stack view

I fired up IDA Pro and ran it through some light debugging to confirm the problem. While I passed on performing an in-depth technical analysis, I looked at enough to tie the affected code to a ‘crash logging’ feature that’s enabled, out of the box, for debug builds of Flash. To disable this feature – and work around the bug – simply create a mms.cfg text file in the C:WindowsSystem32MacromedFlash folder (Syswow64 for 64-bit users) with the line CrashLogEnable=0. Restart your browser (or application housing Flash) and you’re done. If only Bugs=0 would work…

You can vote on/watch the reported bug by accessing Adobe’s bug tracker (free sign up required). Update: Adobe confirmed the bug at 12/29/09 04:24 AM and has since made the bug private.