Bug 1298521 - [GSS](6.4.z) UnknownFormatConversionException is thrown if a customer TimerInfoObject contains illegal format characters as toString() output
Summary: [GSS](6.4.z) UnknownFormatConversionException is thrown if a customer TimerIn...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: JBoss Enterprise Application Platform 6
Classification: JBoss
Component: EJB
Version: 6.4.0
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: CR1
: EAP 6.4.14
Assignee: wfink
QA Contact: Jan Martiska
URL:
Whiteboard:
Depends On:
Blocks: eap6414-payload
TreeView+ depends on / blocked
 
Reported: 2016-01-14 10:29 UTC by wfink
Modified: 2019-09-12 09:45 UTC (History)
6 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2017-03-23 08:24:06 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Knowledge Base (Solution) 2131761 0 None None None 2017-02-28 21:30:09 UTC

Description wfink 2016-01-14 10:29:52 UTC
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 18:23:42 UTC
PR send: https://github.com/jbossas/jboss-eap/pull/2683

Comment 4 Jiří Bílek 2017-02-22 17:09:54 UTC
Verified with EAP 6.4.14.CP.CR1

Comment 5 Petr Penicka 2017-03-23 08:24:06 UTC
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.