Tomcat 7 & Java 6 hosted on Windows Server 2008 R2
Dear Jenkins users,
We've got few jenkins masters deployed in Tomcat 7 & Java 6 hosted on Windows Server 2008 R2.
They are restarted every mornings. Unfortunately since the 1.550 update, they randomly freeze on startup every day.
The freeze symptoms are a blank page or a tomcat 500 error because the http thread pool is full.
Using visualvm, it seems that the http requests are locked on the ExtensionList.ensureLoad.
The thread locking this method is also locked on few calls:
- Kernel32Utils.getWin32FileAttributes or Kernel32Utils.isJunctionOrSymlink used by the disk usage plugin
- Kernel32Utils.getTempDir used in the constructor of HsErrPidList
In both case Kernel32Utils calls are locked on a com.sun.jna.Pointer calls.
Uninstalling the disk usage plugin and deleting the jenkins.diagnosis package in jenkins-core.jar resolves the problem (extensions are then not load).
It seems that in the latest jenkins release, hudson.Util.isSymlinkJava7 corrects the Kernel32Utils.isJunctionOrSymlink freeze but not others.