Bug 1350757
| Summary: | (6.4.z) StringIndexOutOfBoundsException throw while formatting log | ||
|---|---|---|---|
| Product: | [JBoss] JBoss Enterprise Application Platform 6 | Reporter: | Szczepan Kuzniarz <skuzniarz> |
| Component: | Logging | Assignee: | Fedor Gavrilov <fgavrilo> |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Jiří Bílek <jbilek> |
| Severity: | medium | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 6.4.7 | CC: | bmaxwell, fgavrilo, jbilek, jperkins, rstancel, skuzniarz |
| Target Milestone: | CR1 | ||
| Target Release: | EAP 6.4.16 | ||
| Hardware: | All | ||
| OS: | All | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2017-06-22 09:24:47 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | |||
| Bug Blocks: | 1434495, 1441888 | ||
Verified with EAP 6.4.16.CP.CR1 Released on June 20 2017 as part of the EAP 6.4.16 maintenance release. |
When value in left-justified field is longer than maximum width following exception is thrown: java.lang.StringIndexOutOfBoundsException at java.lang.AbstractStringBuilder.delete(AbstractStringBuilder.java:733) at java.lang.StringBuilder.delete(StringBuilder.java:244) at org.jboss.logmanager.formatters.Formatters$JustifyingFormatStep.render(Formatters.java:212) at org.jboss.logmanager.formatters.MultistepFormatter.format(MultistepFormatter.java:83) at org.jboss.logmanager.ExtFormatter.format(ExtFormatter.java:32) at org.jboss.logmanager.handlers.WriterHandler.doPublish(WriterHandler.java:46) at org.jboss.logmanager.ExtHandler.publish(ExtHandler.java:76) at org.jboss.logmanager.LoggerNode.publish(LoggerNode.java:302) at org.jboss.logmanager.LoggerNode.publish(LoggerNode.java:310) at org.jboss.logmanager.LoggerNode.publish(LoggerNode.java:310) at org.jboss.logmanager.LoggerNode.publish(LoggerNode.java:310) at org.jboss.logmanager.Logger.logRaw(Logger.java:719) at org.jboss.logmanager.Logger.log(Logger.java:670) at org.jboss.logging.JBossLogManagerLogger.doLogf(JBossLogManagerLogger.java:50) at org.jboss.logging.Logger.logf(Logger.java:2096) Steps to Reproduce: 1. Configure formatter with left-justified field with maximum width: /subsystem=logging/periodic-rotating-file-handler=FILE:write-attribute(name=formatter,value="%d{HH:mm:ss,SSS} %-5p [%c{1.}] [%-20.-20t] %s%E%n") (in the example above thread name should be truncated to 20 characters, left-justified) 2. Write a log from a thread which has a name containg 21 characters or more. During server startup logs are written by "MSC service thread 1-7" thread. Actual results: Exception is thrown. Expected results: Formatted log written. Additional info: It seems there is an error in org.jboss.logmanager.formatters.Formatters () class, line 212. There is: builder.delete(oldLen, overflow + 1); but should be: builder.delete(oldLen, oldLen + overflow);