[ 
https://issues.apache.org/jira/browse/SLING-7234?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16288398#comment-16288398
 ] 

Ivo Leitão edited comment on SLING-7234 at 12/12/17 10:43 PM:
--------------------------------------------------------------

Hi,

Well I think I have good news (well sort of :-)). The error disappeared from 
the logs and out of 4 restarts only one produced a nasty stracktrace, however 
not with this error in particular. Just to give some context I'm working on a 
product where we have a lot of bundles (500 +) and what I have noticed is that 
as soon as the amount of bundles increases which necessarily means that we have 
a higher amount of concurrence, the startup sometimes throws errors from the 
framework and / or components. I don't know if this is something related with 
karaf in particular or more general but I've certainly seen this behavior in 
AEM even in the most recent version (i.e. 6.3). 

Anyway, I've uploaded new logs 3 with clean restarts (karaf.clean.x.log) and 
one where out of luck I've captured that behavior (karaf.error.1.log).

In that one I'm seeing something that could be another bug in the scripting 
core:

017-12-12T22:08:52,830 | ERROR | pool-48-thread-1 | core                        
     | 337 - org.apache.sling.scripting.core - 2.0.53.SNAPSHOT | 
[org.apache.sling.scripting.core.impl.ScriptCacheImpl(20)] The deactivate 
method has thrown an exception
java.lang.IllegalStateException: Service already unregistered.
        at 
org.apache.felix.framework.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:140)
 [?:?]
        at 
org.apache.sling.scripting.core.impl.ScriptCacheImpl.deactivate(ScriptCacheImpl.java:277)
 [337:org.apache.sling.scripting.core:2.0.53.SNAPSHOT]

Which produces latter an error (multiple ones) in scripting.javascript

2017-12-12T22:08:52,960 | WARN  | EventAdminThread #10 | 
RhinoJavaScriptEngineFactory     | 338 - org.apache.sling.scripting.javascript 
- 3.0.2 | addHostObjects: Cannot prepare host object class 
org.apache.sling.scripting.javascript.wrapper.ScriptableResource
java.lang.NullPointerException: null
        at 
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.addHostObjects(RhinoJavaScriptEngineFactory.java:296)
 [338:org.apache.sling.scripting.javascript:3.0.2]
        at 
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getRootScope(RhinoJavaScriptEngineFactory.java:176)
 [338:org.apache.sling.scripting.javascript:3.0.2]
        at 
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getScriptEngine(RhinoJavaScriptEngineFactory.java:128)
 [338:org.apache.sling.scripting.javascript:3.0.2]

Also another thing of notice but I think this one is less serious, there's an 
unclosed resource resolver on i18n (JcrResourceBundleProvider). I've seen this 
one a lot of times on other contexts.

2017-12-12T22:08:53,487 | INFO  | Apache Sling Resource Resolver Finalizer 
Thread | CommonResourceResolverFactoryImpl | 335 - 
org.apache.sling.resourceresolver - 1.5.32 | Unclosed ResourceResolver was 
created here: 
java.lang.Exception: Opening Stacktrace
        at 
org.apache.sling.resourceresolver.impl.CommonResourceResolverFactoryImpl$ResolverReference.<init>(CommonResourceResolverFactoryImpl.java:521)
 [335:org.apache.sling.resourceresolver:1.5.32]
        at 
org.apache.sling.resourceresolver.impl.CommonResourceResolverFactoryImpl.register(CommonResourceResolverFactoryImpl.java:218)
 [335:org.apache.sling.resourceresolver:1.5.32]
        at 
org.apache.sling.resourceresolver.impl.ResourceResolverImpl.<init>(ResourceResolverImpl.java:101)
 [335:org.apache.sling.resourceresolver:1.5.32]
        at 
org.apache.sling.resourceresolver.impl.ResourceResolverImpl.<init>(ResourceResolverImpl.java:94)
 [335:org.apache.sling.resourceresolver:1.5.32]
        at 
org.apache.sling.resourceresolver.impl.CommonResourceResolverFactoryImpl.getResourceResolverInternal(CommonResourceResolverFactoryImpl.java:263)
 [335:org.apache.sling.resourceresolver:1.5.32]
        at 
org.apache.sling.resourceresolver.impl.CommonResourceResolverFactoryImpl.getServiceResourceResolver(CommonResourceResolverFactoryImpl.java:396)
 [335:org.apache.sling.resourceresolver:1.5.32]
        at 
org.apache.sling.resourceresolver.impl.helper.ResourceResolverControl.getResourceTypeResourceResolver(ResourceResolverControl.java:704)
 [335:org.apache.sling.resourceresolver:1.5.32]
        at 
org.apache.sling.resourceresolver.impl.helper.ResourceResolverControl.getParentResourceType(ResourceResolverControl.java:728)
 [335:org.apache.sling.resourceresolver:1.5.32]
        at 
org.apache.sling.resourceresolver.impl.ResourceResolverImpl.getParentResourceType(ResourceResolverImpl.java:1219)
 [335:org.apache.sling.resourceresolver:1.5.32]
        at 
org.apache.sling.resourceresolver.impl.ResourceResolverImpl.isResourceType(ResourceResolverImpl.java:1242)
 [335:org.apache.sling.resourceresolver:1.5.32]
        at 
org.apache.sling.api.resource.AbstractResource.isResourceType(AbstractResource.java:121)
 [285:org.apache.sling.api:2.16.4]
        at 
org.apache.sling.i18n.impl.JcrResourceBundleProvider.isDictionaryResource(JcrResourceBundleProvider.java:268)
 [310:org.apache.sling.i18n:2.5.10]

Anyway, the error that I was reporting does not appear anymore.

Tnks a lot,
Regards,
Ivo Leitão



was (Author: ivoleitao):
Hi,

Well I think I have good news (well sort of :-)). The error disappeared from 
the logs and out of 4 restarts only one produced a nasty stracktrace, however 
not with this error in particular. Just to give some context I'm working on a 
product where we have a lot of bundles (500 +) and what I have noticed is that 
as soon as the amount of bundles increases which necessarily means that we have 
a higher amount of concurrence, the startup sometimes throws errors from the 
framework and / or components. I don't know if this is something related with 
karaf in particular or more general but I've certainly seen this behavior in 
AEM even in the most recent version (i.e. 6.3). 

Anyway, I've uploaded new logs 3 with clean restarts (karaf.clean.x.log) and 
one where out of luck I've captured that behavior (karaf.error.1.log).

In that one I'm seeing something that could be another bug in the scripting 
core:

017-12-12T22:08:52,830 | ERROR | pool-48-thread-1 | core                        
     | 337 - org.apache.sling.scripting.core - 2.0.53.SNAPSHOT | 
[org.apache.sling.scripting.core.impl.ScriptCacheImpl(20)] The deactivate 
method has thrown an exception
java.lang.IllegalStateException: Service already unregistered.
        at 
org.apache.felix.framework.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:140)
 [?:?]
        at 
org.apache.sling.scripting.core.impl.ScriptCacheImpl.deactivate(ScriptCacheImpl.java:277)
 [337:org.apache.sling.scripting.core:2.0.53.SNAPSHOT]

Which produces latter an error (multiple ones) in scripting.javascript

2017-12-12T22:08:52,960 | WARN  | EventAdminThread #10 | 
RhinoJavaScriptEngineFactory     | 338 - org.apache.sling.scripting.javascript 
- 3.0.2 | addHostObjects: Cannot prepare host object class 
org.apache.sling.scripting.javascript.wrapper.ScriptableResource
java.lang.NullPointerException: null
        at 
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.addHostObjects(RhinoJavaScriptEngineFactory.java:296)
 [338:org.apache.sling.scripting.javascript:3.0.2]
        at 
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getRootScope(RhinoJavaScriptEngineFactory.java:176)
 [338:org.apache.sling.scripting.javascript:3.0.2]
        at 
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getScriptEngine(RhinoJavaScriptEngineFactory.java:128)
 [338:org.apache.sling.scripting.javascript:3.0.2]

Also another thing of notice but I think this one is less serious, there's an 
unclosed resource resolver on i18n (JcrResourceBundleProvider)

2017-12-12T22:08:53,487 | INFO  | Apache Sling Resource Resolver Finalizer 
Thread | CommonResourceResolverFactoryImpl | 335 - 
org.apache.sling.resourceresolver - 1.5.32 | Unclosed ResourceResolver was 
created here: 
java.lang.Exception: Opening Stacktrace
        at 
org.apache.sling.resourceresolver.impl.CommonResourceResolverFactoryImpl$ResolverReference.<init>(CommonResourceResolverFactoryImpl.java:521)
 [335:org.apache.sling.resourceresolver:1.5.32]
        at 
org.apache.sling.resourceresolver.impl.CommonResourceResolverFactoryImpl.register(CommonResourceResolverFactoryImpl.java:218)
 [335:org.apache.sling.resourceresolver:1.5.32]
        at 
org.apache.sling.resourceresolver.impl.ResourceResolverImpl.<init>(ResourceResolverImpl.java:101)
 [335:org.apache.sling.resourceresolver:1.5.32]
        at 
org.apache.sling.resourceresolver.impl.ResourceResolverImpl.<init>(ResourceResolverImpl.java:94)
 [335:org.apache.sling.resourceresolver:1.5.32]
        at 
org.apache.sling.resourceresolver.impl.CommonResourceResolverFactoryImpl.getResourceResolverInternal(CommonResourceResolverFactoryImpl.java:263)
 [335:org.apache.sling.resourceresolver:1.5.32]
        at 
org.apache.sling.resourceresolver.impl.CommonResourceResolverFactoryImpl.getServiceResourceResolver(CommonResourceResolverFactoryImpl.java:396)
 [335:org.apache.sling.resourceresolver:1.5.32]
        at 
org.apache.sling.resourceresolver.impl.helper.ResourceResolverControl.getResourceTypeResourceResolver(ResourceResolverControl.java:704)
 [335:org.apache.sling.resourceresolver:1.5.32]
        at 
org.apache.sling.resourceresolver.impl.helper.ResourceResolverControl.getParentResourceType(ResourceResolverControl.java:728)
 [335:org.apache.sling.resourceresolver:1.5.32]
        at 
org.apache.sling.resourceresolver.impl.ResourceResolverImpl.getParentResourceType(ResourceResolverImpl.java:1219)
 [335:org.apache.sling.resourceresolver:1.5.32]
        at 
org.apache.sling.resourceresolver.impl.ResourceResolverImpl.isResourceType(ResourceResolverImpl.java:1242)
 [335:org.apache.sling.resourceresolver:1.5.32]
        at 
org.apache.sling.api.resource.AbstractResource.isResourceType(AbstractResource.java:121)
 [285:org.apache.sling.api:2.16.4]
        at 
org.apache.sling.i18n.impl.JcrResourceBundleProvider.isDictionaryResource(JcrResourceBundleProvider.java:268)
 [310:org.apache.sling.i18n:2.5.10]

Anyway, the error that I was reporting does not appear anymore.

Tnks a lot,
Regards,
Ivo Leitão


> ServiceFactory.getService() resulted in a cycle in sling karaf 
> ---------------------------------------------------------------
>
>                 Key: SLING-7234
>                 URL: https://issues.apache.org/jira/browse/SLING-7234
>             Project: Sling
>          Issue Type: Bug
>          Components: Karaf, Scripting
>    Affects Versions: Scripting Core 2.0.50
>         Environment: Debian linux, jdk 1.8.0_151-b12
>            Reporter: Ivo Leitão
>            Assignee: Oliver Lietz
>         Attachments: clean.log.1, grep-errors.log, karaf.clean.1.log, 
> karaf.clean.2.log, karaf.clean.3.log, karaf.errors.log, sample.log.1
>
>
> Hello,
> Once in a while on the first startup of Sling on Karaf I'm seeing the 
> exception ServiceFactory.getService() resulted in a cycle. This does not 
> happen every time only on some startups. 
> After the first startup on the next restart this exception does not appear 
> anymore.
> I've picked a sample of the exception. Unfortunately this seems like a 
> concurrency issue and therefore much harder to find a pattern but it happens 
> mostly with sling scripting. I've seen other exceptions also with sling 
> scripting but this one is the most common 
> I've uploaded two log files:
> clean.log.1 with a clean startup and
> sample.log.1 with the aforementioned exception



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to