Skip to main content
nayyarhusainkhan
Participant
November 14, 2016
Question

thread count is increasing every time we unload flash from process space a thread is left over

  • November 14, 2016
  • 1 reply
  • 316 views

Application hosts flash.ocx in a STA environment to renderer flash content within the application. Periodically the Hosting application will execute “cofreeunusedlibraries” to free up the memory by unloading unused libaires. When the cofreeunusedlibraries is executed flalsh.ocx is unload from the process space (because the reference counts is zero) which is a correct behavior. However, we see a side effect that thread count is increasing every time we unload flash from process space a thread is left over.

After analyzing user mode process dump we see there are many instance of the below threads. 

469bfd7c 77416a04 ntdll!KiFastSystemCallRet

469bfd80 756969dc ntdll!ZwWaitForMultipleObjects+0xc

469bfe1c 7597bc8e KERNELBASE!WaitForMultipleObjectsEx+0x100

469bfe64 7597bcfc kernel32!WaitForMultipleObjectsExImplementation+0xe0

469bfe80 5b90e1d8 kernel32!WaitForMultipleObjects+0x18

WARNING: Stack unwind information not available. Following frames may be wrong.

469bfeb4 5b8142a1 Flash!DllUnregisterServer+0x52196

469bff00 5b90e28d Flash+0x1442a1

469bff74 5b90e3bc Flash!DllUnregisterServer+0x5224b

469bff94 774337f5 Flash!DllUnregisterServer+0x5237a

469bffd4 774337c8 ntdll!__RtlUserThreadStart+0x70

469bffec 00000000 ntdll!_RtlUserThreadStart+0x1b

We want to understand whether this is a existence bug ?

    This topic has been closed for replies.

    1 reply

    jeromiec83223024
    Inspiring
    November 14, 2016

    In general, if you're building a desktop or mobile application on top of the Flash runtime, Adobe AIR is the supported path.  There is a history of legacy applications embedding Flash Player; however, that approach is fragile, and not something we test or officially support.  We *do* have a network of third-party system integrators (aka. porting partners) that specialize in customizing and supporting the Flash Player in unique environments, and I can refer you to our business development group to discuss options in that vein.

    Because there is a body of legacy applications that did embed Flash Player into executables, we do tend to fix things when they're broken catastrophically, but it's not an approach that we recommend (especially for new content), nor is it something that we're going to optimize or prioritize bugs for.  This approach is fragile, and because Windows 10 is a fast-moving target, we regularly break these kinds of applications while accommodating new changes to the Windows platform.

    Off the top of my head, this isn't an issue that I'm aware of.  It's also not an issue that I believe that we'd invest a lot of effort into fixing unless it also affected the plug-in, when it is running inside a browser that's listed on our system requirements page.

    Either way, we'd need to debug it to figure out what's going on.  The best path forward would be to file a bug at http://bugbase.adobe.com/ with an executable example that we can debug.  We probably do want to understand why it's happening; however, there are no guarantees that this is something that we would ultimately choose to invest engineering resources into fixing.