I have this issue that is bringing down production. In an AWS/Ubuntu/Tomcat stack, the CPU's running Tomcat are jumping to 100% and when I get a thread dump, this one piece of code is constantly blocked at exactly the same place. (All the others are locked and waiting.)
"TP-Processor6" daemon prio=10 tid=0x0000000041ec2800 nid=0x41c4 runnable [0x00007f70194b5000]
java.lang.Thread.State: RUNNABLE
at sun.util.calendar.ZoneInfo.getTransitionIndex(ZoneInfo.java:322)
at sun.util.calendar.ZoneInfo.getOffsets(ZoneInfo.java:248)
at sun.util.calendar.ZoneInfo.getOffsets(ZoneInfo.java:225)
at java.util.GregorianCalendar.computeFields(GregorianCalendar.java:2024)
at java.util.GregorianCalendar.computeFields(GregorianCalendar.java:1996)
at java.util.Calendar.setTimeInMillis(Calendar.java:1109)
at java.util.GregorianCalendar.<init>(GregorianCalendar.java:576)
at java.util.Calendar.createCalendar(Calendar.java:1011)
at java.util.Calendar.getInstance(Calendar.java:948)
at com.xxx.core.util.DateUtil.modifyDate(DateUtil.java:385)
at com.xxx.core.util.DateUtil.getDayDate(DateUtil.java:563)
at com.xxx.core.util.DateUtil.getDayDate(DateUtil.java:573)
at com.xxx.core.util.DateUtil.getDayDate(DateUtil.java:569)
at com.xxx.core.util.DateUtil.splitByDays(DateUtil.java:496)
at com.xxx.core.util.DateUtil.splitDateIntervalByIntervals(DateUtil.java:474)
at com.xxx.core.util.DateUtil.splitDateIntervalByIntervals(DateUtil.java:436)