java.lang.IllegalStateException: Shutdown in p rogress

Atlassian JIRA | David Soul [Atlassian] | 1 decade ago
tip
Your exception is missing from the Samebug knowledge base.
Here are the best solutions we found on the Internet.
Click on the to mark the helpful solution and get rewards for you help.
  1. 0

    Freezing Shut Down Progress - L2J Server

    l2jserver.com | 11 months ago
    java.lang.IllegalStateException: Shutdown in p rogress
  2. Speed up your debug routine!

    Automated exception search integrated into your IDE

  3. 0

    JFree Chart's AWT thread does not stop on Tomcat shutdown

    YouTrack | 10 years ago
    java.lang.IllegalStateException: Shutdown in progress
  4. 0

    In some rare situations the portal shutwdown deadlocks and the process needs to be killed. To reproduce this issue you have to execute the following steps: # Startup a clean portal # Login as omniadmin # Open the control panel # Switch to the Portal Instances portlet # Shutdown the server On the console you will see the follwoing error message: {code} Exception in thread "AWT-Windows" java.lang.IllegalStateException: Shutdown in progress at java.lang.Shutdown.add(Shutdown.java:81) at java.lang.Runtime.addShutdownHook(Runtime.java:190) at sun.awt.windows.WToolkit.run(WToolkit.java:255) at java.lang.Thread.run(Thread.java:595) {code} I have already investigated this issue and detected the following facts: # Opening the Portal Instances portlet triggers the loading of the class {{org.jfree.chart.JFreeChart}} due to an import statement in the init.jsp of the admin portlet. That class is only loaded, but not initialized (this is important; the deadlock does not happen after opening the Server Adminitration portlet). # When the shutdown is triggered, the {{state}} value of the class {{lava.lang.Shutdown}} is set to {{1}}. # During the shutdown of the portal the WebappClassLoader of Tomcat tries to release references that are stored in static field (in the method {{clearReferenceStaticFinal}}). To be able to clear all references, the method has to make sure, that all loaded classes are initialied completely. Therefore, one static access is made to each class. # The initialization of the {{JFreeChart}} class leads to a call to {{java.awt.Toolkit}}. # On windows machines, a new instance of {{sun.awt.windows.WToolkit}} is created. During that process a new thread with the name {{AWTShutdown}} is created. # In that thread, a new shutdown hook is created. But the installation of that hook fails due to the current state value in the {{java.lang.Shutdown}}. Unfortunately, the AWTShutdown does not propagate the failure back to the thread that tries to clean up the webapps. # The server is deadlocked and has to be killed. As workaround of this issue I have created a new {{HmGlobalStartupAction}} that triggers the complete initialization of JFreeChart at startup time: {code} public class HmGlobalStartupAction extends SimpleAction { @Override public void run(String[] ids) throws ActionException { JFreeChart.INFO.toString(); } } {code} This class has to be configured in {{portal-ext.properties}}: {code} global.startup.events=com.liferay.portal.events.GlobalStartupAction,\ de.hansemerkur.liferay.portal.events.HmGlobalStartupAction {code}

    Liferay Issues | 5 years ago | Olaf Fricke
    java.lang.IllegalStateException: Shutdown in progress

  1. mortalman7 4 times, last 9 months ago
2 unregistered visitors
Not finding the right solution?
Take a tour to get the most out of Samebug.

Tired of useless tips?

Automated exception search integrated into your IDE

Root Cause Analysis

  1. java.lang.IllegalStateException

    Shutdown in p rogress

    at java.lang.Shutdown.add()
  2. Java RT
    Thread.run
    1. java.lang.Shutdown.add(Shutdown.java:81)
    2. java.lang.Runtime.addShutdownHook(Runtime.java:190)
    3. sun.awt.windows.WToolkit.run(WToolkit.java:255)
    4. java.lang.Thread.run(Thread.java:595)
    4 frames