You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Pierre De Rop (Jira)" <ji...@apache.org> on 2020/06/03 15:47:00 UTC
[jira] [Resolved] (FELIX-6180) Component initialization error
message get's printed to sysout instead of logged to LogService
[ https://issues.apache.org/jira/browse/FELIX-6180?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Pierre De Rop resolved FELIX-6180.
----------------------------------
Resolution: Fixed
> Component initialization error message get's printed to sysout instead of logged to LogService
> ----------------------------------------------------------------------------------------------
>
> Key: FELIX-6180
> URL: https://issues.apache.org/jira/browse/FELIX-6180
> Project: Felix
> Issue Type: Bug
> Components: Dependency Manager
> Reporter: Bram Pouwelse
> Assignee: Pierre De Rop
> Priority: Major
> Fix For: org.apache.felix.dependencymanager-r16
>
> Attachments: FELIX-6180.patch
>
>
> We had a broken component that failed to start (for a good reason):
> {code:java}
> @Component(provides = Object.class)
> public class BrokenComponent {
> static final Locale defaultLocale = Locale.forLanguageTag(System.getProperty("not.set"));
> }
> {code}
> The problem is not that it doesn't work BUT the error log (see below) never reached our central logging (which is consuming the log messages from the LogService).
> I this is caused by the fact that this is not an {{Exception}} but an {{Error}}, that makes it propagate all the way to the {{SerialExecutor}} which is initialized with a new {{Logger}} instance in {{ComponentImpl}} instead of getting the {{Logger}} instance that was used to create the {{ComponentImpl}}.
> {code}
> ERROR: [main] Error processing tasks (java.lang.ExceptionInInitializerError)
> java.lang.ExceptionInInitializerError
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
> at org.apache.felix.dm.impl.InvocationUtil.createInstance(InvocationUtil.java:342)
> at org.apache.felix.dm.impl.ComponentImpl.instantiateComponent(ComponentImpl.java:1073)
> at org.apache.felix.dm.impl.ComponentImpl.instantiateComponent(ComponentImpl.java:1046)
> at org.apache.felix.dm.impl.ComponentImpl.performTransition(ComponentImpl.java:1221)
> at org.apache.felix.dm.impl.ComponentImpl.handleChange(ComponentImpl.java:1166)
> at org.apache.felix.dm.impl.ComponentImpl.lambda$start$2(ComponentImpl.java:502)
> at org.apache.felix.dm.impl.SerialExecutor.runTask(SerialExecutor.java:138)
> at org.apache.felix.dm.impl.SerialExecutor.runTasks(SerialExecutor.java:120)
> at org.apache.felix.dm.impl.SerialExecutor.execute(SerialExecutor.java:86)
> at org.apache.felix.dm.impl.SerialExecutor.execute(SerialExecutor.java:105)
> at org.apache.felix.dm.impl.ComponentImpl.start(ComponentImpl.java:500)
> at org.apache.felix.dm.impl.ComponentScheduler.add(ComponentScheduler.java:69)
> at org.apache.felix.dm.DependencyManager.add(DependencyManager.java:141)
> at my.project.Activator.init(Activator.java:84)
> at org.apache.felix.dm.DependencyActivatorBase.start(DependencyActivatorBase.java:79)
> at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:698)
> at org.apache.felix.framework.Felix.activateBundle(Felix.java:2402)
> at org.apache.felix.framework.Felix.startBundle(Felix.java:2308)
> at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:998)
> at aQute.launcher.Launcher.startBundles(Launcher.java:528)
> at aQute.launcher.Launcher.activate(Launcher.java:427)
> at aQute.launcher.Launcher.run(Launcher.java:306)
> at aQute.launcher.Launcher.main(Launcher.java:152)
> at aQute.launcher.pre.EmbeddedLauncher.main(EmbeddedLauncher.java:65)
> Caused by: java.lang.NullPointerException
> at sun.util.locale.LocaleUtils.toLowerString(LocaleUtils.java:89)
> at sun.util.locale.LanguageTag.parse(LanguageTag.java:191)
> at java.util.Locale.forLanguageTag(Locale.java:1568)
> at MyBrokenComponent.<clinit>(UserTransformerV1_2.java:17)
> ... 28 more
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)