Uploaded image for project: 'Apache Fineract'
  1. Apache Fineract
  2. FINERACT-1395

Shutdown leaves java process running with leaked threads

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Minor
    • Resolution: Unresolved
    • 1.5.0
    • None
    • Build
    • None

    Description

      I have installed Mifos mifosplatform-21.07.01.RELEASE which uses fineract 1.5.0

      When I trigger shutdown, a number of warnings about leaked threads are written to the log. After the shutdown completes, I notice a java process is still running

      Sorry if I've posted this in the wrong place or if this is covered somewhere. I've searched for the 'org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads' on the mailing list but it hasn't turned up much.

      Here is the first error reported in the log, although there are several more

      {{10-Sep-2021 14:37:44.339 WARNING [main] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [fineract-provider] appears to have started a thread named [fineract_default_po}}{{ol housekeeper] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: java.base@11.0.11/jdk.internal.misc.Unsafe.park(Native Method) }}
      {{ java.base@11.0.11/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234)}}
      {{ java.base@11.0.11/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2123)}}
      {{ java.base@11.0.11/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1182) }}
      {{ java.base@11.0.11/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:899) }}
      {{ java.base@11.0.11/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1054) }}
      {{ java.base@11.0.11/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114)}}
      {{ java.base@11.0.11/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)}}
      {{ java.base@11.0.11/java.lang.Thread.run(Thread.java:829) }}

       

      I grepped the logs for the names of the other threads:

       

      The web application [fineract-provider] appears to have started a thread named [fineract_default_pool housekeeper]
      {{}}

      The web application [fineract-provider] appears to have started a thread named [Scheduler1_Worker-5]
      {{}}

      The web application [fineract-provider] appears to have started a thread named [Scheduler1_Worker-6]
      {{}}

      The web application [fineract-provider] appears to have started a thread named [Scheduler1_Worker-7]
      {{}}

      The web application [fineract-provider] appears to have started a thread named [pool-11-thread-1]
      {{}}

      The web application [fineract-provider] appears to have started a thread named [Scheduler1group1_Worker-1]
      {{}}

      The web application [fineract-provider] appears to have started a thread named [Scheduler1group3_Worker-1]
      {{}}

      The web application [fineract-provider] appears to have started a thread named [pool-12-thread-1]
      {{}}

      The web application [fineract-provider] appears to have started a thread named [pool-13-thread-1]
      {{}}

      The web application [fineract-provider] appears to have started a thread named [SimpleAsyncTaskExecutor-27]

      Attachments

        Activity

          People

            Unassigned Unassigned
            okprecies Thomas Kerin
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: