[
https://issues.apache.org/jira/browse/FELIX-5989?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Thomas Watson resolved FELIX-5989.
----------------------------------
Resolution: Fixed
Assignee: Thomas Watson
Fix Version/s: scr-2.1.16
Fixed by not passing null arguments to the format when there are no place
holders for the arguments in the log message.
> java.lang.IllegalArgumentException from AbstractLogger.format when logging
> debug message
> ----------------------------------------------------------------------------------------
>
> Key: FELIX-5989
> URL: https://issues.apache.org/jira/browse/FELIX-5989
> Project: Felix
> Issue Type: Bug
> Components: Declarative Services (SCR)
> Affects Versions: scr-2.1.12, scr-2.1.14
> Reporter: Thomas Watson
> Assignee: Thomas Watson
> Priority: Major
> Fix For: scr-2.1.16
>
>
> If an eventFilter for a reference contains special formatting characters
> (e.g. ${}) then the debug log message formatting will fail with the following
> exception. This is because we are passing null arguments and expecting them
> to be substituted into a debug message when there are really no place holders
> for substitution.
> {code:java}
> Unexpected failure enabling component holder
> com.ibm.ws.http.internal.HttpEndpointImpl
> Bundle:com.ibm.ws.transport.http(id=58) java.lang.IllegalArgumentException:
> can't parse argument number: accessLoggingRef
> at java.text.MessageFormat.makeFormat(MessageFormat.java:1429)
> at java.text.MessageFormat.applyPattern(MessageFormat.java:479)
> at java.text.MessageFormat.<init>(MessageFormat.java:362)
> at java.text.MessageFormat.format(MessageFormat.java:840)
> at
> org.apache.felix.scr.impl.logger.AbstractLogger.format(AbstractLogger.java:155)
> at
> org.apache.felix.scr.impl.logger.AbstractLogger.log(AbstractLogger.java:92)
> at org.apache.felix.scr.impl.logger.BundleLogger.log(BundleLogger.java:83)
> at
> org.apache.felix.scr.impl.BundleComponentActivator.addServiceListener(BundleComponentActivator.java:194)
> at
> org.apache.felix.scr.impl.manager.ServiceTracker.open(ServiceTracker.java:214)
> at
> org.apache.felix.scr.impl.manager.ServiceTracker.open(ServiceTracker.java:179)
> at
> org.apache.felix.scr.impl.manager.DependencyManager.setTargetFilter(DependencyManager.java:2209)
> at
> org.apache.felix.scr.impl.manager.DependencyManager.setTargetFilter(DependencyManager.java:2026)
> at
> org.apache.felix.scr.impl.manager.AbstractComponentManager.updateTargets(AbstractComponentManager.java:1150)
> at
> org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:662)
> at
> org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:432)
> at
> org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:665)
> at
> org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:339)
> at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:381)
> at org.apache.felix.scr.impl.Activator.access$200(Activator.java:49)
> at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:263)
> at
> org.apache.felix.scr.impl.AbstractExtender.createExtension(AbstractExtender.java:196)
> at
> org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:169)
> at
> org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:49)
> {code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)