Description of problem: A timer execution can fail with exception if the Timers Info object (which is custom code) contains characters which are relevant for String.format replacement: java.util.UnknownFormatConversionException: Conversion = '!' at java.util.Formatter.checkText(Formatter.java:2547) at java.util.Formatter.parse(Formatter.java:2533) at java.util.Formatter.format(Formatter.java:2469) at java.util.Formatter.format(Formatter.java:2423) at java.lang.String.format(String.java:2792) at org.jboss.as.ejb3.timerservice.TimerImpl.toString(TimerImpl.java:568) at java.lang.String.valueOf(String.java:2849) at java.lang.StringBuilder.append(StringBuilder.java:128) at org.jboss.as.ejb3.timerservice.TimerServiceImpl$TimerCreationTransactionSynchronization.afterCompletion(TimerServiceImpl.java:1106) How reproducible: Create a timer which include an InfoObject that contains "%!" if toString() is called. Enable DEBUG/TRACE for the ejb timers or force a failure in timeout is invoked. Both should use the toString() method and fail.
PR send: https://github.com/jbossas/jboss-eap/pull/2683
Verified with EAP 6.4.14.CP.CR1
Released with EAP 6.4.14 on March 14 (ZIPs) and March 22 (RPMs).