[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [equinox-dev] Huge log file if org.eclipse.equinox.log.jar is not started when trying to start a DS with a reference to an inexisting interface

Along with the issue, described below, for which I opened a bug (282142), we observed also the following: when this situation occurs, if the bundle org.eclipse.equinox.log.jar is installed but not started, we receive 10 MB of logs - in 10 files, 1 MB each. If the log is started, there is only one small log file with three exceptions. The exceptions in both cases are essentially the same, but in the case with the huge logs the exceptions are repeated many times and the stacktraces are much longer - cycles are observed in the them. Nothing in the stacktraces makes a hint that the problem may be in the log service being stopped.
Is this a normal behavior when the log service is not started, or should I open a bug for it?
In bug 282142 there are attached sample bundles to reproduce the below described issue. The problem with the logs is reprodueced by following the steps from the bug description, once with the log service started, and once with it stopped.
Kind regards,

From: equinox-dev-bounces@xxxxxxxxxxx [mailto:equinox-dev-bounces@xxxxxxxxxxx] On Behalf Of Kirchev, Lazar
Sent: Tuesday, June 30, 2009 3:12 PM
To: equinox-dev@xxxxxxxxxxx
Subject: [equinox-dev] Unclear warning in DS when a service componentprovides inexisting/unimplemented interface

We are using declarative services and we came across the following situation. There are two components, A and B. A provides an interface and B references this interface. If the interface which A provides does not exist, or is not implemented, when the framework tries to create an instance of component B, a warning that there is probably a circular dependancy is logged. This does not help to find the real problem - that the interface does not exist and there is no such service.
In ComponentReference.getMethod(...), if the result of the call InstanceProcess.staticRef.getService(...) is null, then it is assumed that serviceObject cannot be created because of circularity. But InstanceProcess.staticRef.getService(...) returns null both when there is circularity and when the service object cannot be retrieved from the bundle context.
Also, if the component state is checked with the component command, it is Satisfied, saying in the dynamic information part that all references of the component are satisfied.
Is this the intended behavior of DS?
Kind regards,
Lazar Kirchev