Cloud Foundry Java App Errors – Root Cause Analysis

by March 30, 2012

On the night of March 29, 2012, we upgraded our Tomcat from version 6 to version 7 as part of our normal production upgrade schedule.
Early in the morning of March 30th, we discovered that Java apps that were created or re-pushed were receiving an error.
At 9am PT that morning we identified the specific issue causing the error.  The script was modified in Tomcat 7 to start Tomcat using eval exec instead of exec.  We were setting the CATALINA_OPTS environment variable to include values for -Dhttp.nonProxyHosts that contained a pipe character, which was interpreted by eval as Unix pipe. This affected the application start command, leading to a failure to start the application.