Certified

You are publishing a solution in an OutSystems environment and the solution publish hangs or halts unexpectedly. No errors are produced - progression of the solution publish simply stays there forever.

You are using the .NET stack of the Agile Platform.

Cause

Most of the issues similar to this that we find at Support are due to application pool recycling. A solution publish is a long-running request to a specific ASPX page in Service Center which coordinates the publish process.
An application pool recycle is a process in which IIS restarts the process serving the request, due to numerous reasons.
If the process running the publish requests is recycled, the solution publish is halted silently, thus causing the observed behavior.

To confirm that this is your problem access the server and go to the Event Log. Under the System log you will find information entries with source WAS (Windows 2008R2) or W3SVC (Windows 2003) with a message indicating recycling:

Resolution

To address these problems you need to first solve the underlying problem (the recycling) and then restart the publishing.

To fix the underlying problem you need to fix the recycling settings. In this case the issue is in pool ServiceCenterAppPool and related to private bytes, so I will check how it was configured:

In my case I had mistakenly set the pool to recycle every 2MB. This value is very low, so I need to fix it. Since my machine has 2GB of RAM, following the checklist I set this value as 60% of 2GB = 1.2GB; so I rounded it up to 1200000:

After fixing the recycling settings you need to restart the solution publish. But if you go to Service Center, it still shows as being published...

You can confirm that no solution is being published by checking the status of OutSystems services Controller and Deployment. You can check that under Monitoring -> Environment health, by clicking the status of the relevant services:

If all entries in both services are idle, you can be sure that no publishing is occurring.

So if that is the case, just go back to the solution screen and start publishing again. You can just ignore the status message indicating that an ongoing publish exists.