This service will be undergoing maintenance at 00:00 UTC, 2017-10-23 It is expected to last about 30 minutes
Bug 1298521 - [GSS](6.4.z) UnknownFormatConversionException is thrown if a customer TimerInfoObject contains illegal format characters as toString() output
[GSS](6.4.z) UnknownFormatConversionException is thrown if a customer TimerIn...
Status: CLOSED CURRENTRELEASE
Product: JBoss Enterprise Application Platform 6
Classification: JBoss
Component: EJB (Show other bugs)
6.4.0
Unspecified Unspecified
unspecified Severity unspecified
: CR1
: EAP 6.4.14
Assigned To: wfink
Jan Martiska
:
Depends On:
Blocks: eap6414-payload
  Show dependency treegraph
 
Reported: 2016-01-14 05:29 EST by wfink
Modified: 2017-03-23 04:24 EDT (History)
6 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2017-03-23 04:24:06 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Knowledge Base (Solution) 2131761 None None None 2017-02-28 16:30 EST

  None (edit)
Description wfink 2016-01-14 05:29:52 EST
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.
Comment 2 wfink 2016-01-14 13:23:42 EST
PR send: https://github.com/jbossas/jboss-eap/pull/2683
Comment 4 Jiří Bílek 2017-02-22 12:09:54 EST
Verified with EAP 6.4.14.CP.CR1
Comment 5 Petr Penicka 2017-03-23 04:24:06 EDT
Released with EAP 6.4.14 on March 14 (ZIPs) and March 22 (RPMs).

Note You need to log in before you can comment on or make changes to this bug.