[
https://issues.apache.org/jira/browse/SLING-9792?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Eric Norman updated SLING-9792:
-------------------------------
Description:
During startup, the RhinoJavaScriptEngineFactory component may become
deactivated temporarily. The ScriptCacheImpl#handleEvent (running in another
thread) may concurrently attempt to get the script engine from the factory. At
this point, the deactivated factory may still be in the engine list because it
hasn't been unbound from the ScriptEngineManager yet. In that case, the
RhinoJavaScriptEngineFactory#getScriptEngine call from
ScriptCacheImpl#handleEvent throws a series of NullPointerExceptions related to
usage of field that was nulled during the
RhinoJavaScriptEngineFactory#deactivate logic.
For example:
{noformat}
03.10.2020 13:20:29.237 *WARN* [EventAdminAsyncThread #6]
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory
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:342)
[org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getRootScope(RhinoJavaScriptEngineFactory.java:195)
[org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getScriptEngine(RhinoJavaScriptEngineFactory.java:142)
[org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
at
org.apache.sling.scripting.core.impl.jsr223.SortableScriptEngineFactory.getScriptEngine(SortableScriptEngineFactory.java:120)
[org.apache.sling.scripting.core:2.3.5.SNAPSHOT]
at
org.apache.sling.scripting.core.impl.ScriptCacheImpl.handleEvent(ScriptCacheImpl.java:283)
[org.apache.sling.scripting.core:2.3.5.SNAPSHOT]
at
org.apache.felix.eventadmin.impl.handler.EventHandlerProxy.sendEvent(EventHandlerProxy.java:415)
at
org.apache.felix.eventadmin.impl.tasks.HandlerTask.runWithoutBlacklistTiming(HandlerTask.java:82)
[org.apache.felix.eventadmin:1.5.0]
at
org.apache.felix.eventadmin.impl.tasks.SyncDeliverTasks.execute(SyncDeliverTasks.java:104)
[org.apache.felix.eventadmin:1.5.0]
at
org.apache.felix.eventadmin.impl.tasks.AsyncDeliverTasks$TaskExecuter.run(AsyncDeliverTasks.java:166)
[org.apache.felix.eventadmin:1.5.0]
at
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
03.10.2020 13:20:29.239 *WARN* [EventAdminAsyncThread #6]
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory
addHostObjects: Cannot prepare host object class
org.apache.sling.scripting.javascript.wrapper.ScriptableNode
java.lang.NullPointerException: null
at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.addHostObjects(RhinoJavaScriptEngineFactory.java:342)
[org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getRootScope(RhinoJavaScriptEngineFactory.java:195)
[org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getScriptEngine(RhinoJavaScriptEngineFactory.java:142)
[org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
at
org.apache.sling.scripting.core.impl.jsr223.SortableScriptEngineFactory.getScriptEngine(SortableScriptEngineFactory.java:120)
[org.apache.sling.scripting.core:2.3.5.SNAPSHOT]
at
org.apache.sling.scripting.core.impl.ScriptCacheImpl.handleEvent(ScriptCacheImpl.java:283)
[org.apache.sling.scripting.core:2.3.5.SNAPSHOT]
at
org.apache.felix.eventadmin.impl.handler.EventHandlerProxy.sendEvent(EventHandlerProxy.java:415)
at
org.apache.felix.eventadmin.impl.tasks.HandlerTask.runWithoutBlacklistTiming(HandlerTask.java:82)
[org.apache.felix.eventadmin:1.5.0]
at
org.apache.felix.eventadmin.impl.tasks.SyncDeliverTasks.execute(SyncDeliverTasks.java:104)
[org.apache.felix.eventadmin:1.5.0]
at
org.apache.felix.eventadmin.impl.tasks.AsyncDeliverTasks$TaskExecuter.run(AsyncDeliverTasks.java:166)
[org.apache.felix.eventadmin:1.5.0]
at
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
03.10.2020 13:20:29.240 *WARN* [EventAdminAsyncThread #6]
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory
addHostObjects: Cannot prepare host object class
org.apache.sling.scripting.javascript.wrapper.ScriptableProperty
java.lang.NullPointerException: null
at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.addHostObjects(RhinoJavaScriptEngineFactory.java:342)
[org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getRootScope(RhinoJavaScriptEngineFactory.java:195)
[org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getScriptEngine(RhinoJavaScriptEngineFactory.java:142)
[org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
at
org.apache.sling.scripting.core.impl.jsr223.SortableScriptEngineFactory.getScriptEngine(SortableScriptEngineFactory.java:120)
[org.apache.sling.scripting.core:2.3.5.SNAPSHOT]
at
org.apache.sling.scripting.core.impl.ScriptCacheImpl.handleEvent(ScriptCacheImpl.java:283)
[org.apache.sling.scripting.core:2.3.5.SNAPSHOT]
at
org.apache.felix.eventadmin.impl.handler.EventHandlerProxy.sendEvent(EventHandlerProxy.java:415)
at
org.apache.felix.eventadmin.impl.tasks.HandlerTask.runWithoutBlacklistTiming(HandlerTask.java:82)
[org.apache.felix.eventadmin:1.5.0]
at
org.apache.felix.eventadmin.impl.tasks.SyncDeliverTasks.execute(SyncDeliverTasks.java:104)
[org.apache.felix.eventadmin:1.5.0]
at
org.apache.felix.eventadmin.impl.tasks.AsyncDeliverTasks$TaskExecuter.run(AsyncDeliverTasks.java:166)
[org.apache.felix.eventadmin:1.5.0]
at
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
03.10.2020 13:20:29.242 *WARN* [EventAdminAsyncThread #6]
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory
addHostObjects: Cannot prepare host object class
org.apache.sling.scripting.javascript.wrapper.ScriptableItemMap
java.lang.NullPointerException: null
at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.addHostObjects(RhinoJavaScriptEngineFactory.java:348)
[org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getRootScope(RhinoJavaScriptEngineFactory.java:195)
[org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getScriptEngine(RhinoJavaScriptEngineFactory.java:142)
[org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
at
org.apache.sling.scripting.core.impl.jsr223.SortableScriptEngineFactory.getScriptEngine(SortableScriptEngineFactory.java:120)
[org.apache.sling.scripting.core:2.3.5.SNAPSHOT]
at
org.apache.sling.scripting.core.impl.ScriptCacheImpl.handleEvent(ScriptCacheImpl.java:283)
[org.apache.sling.scripting.core:2.3.5.SNAPSHOT]
at
org.apache.felix.eventadmin.impl.handler.EventHandlerProxy.sendEvent(EventHandlerProxy.java:415)
at
org.apache.felix.eventadmin.impl.tasks.HandlerTask.runWithoutBlacklistTiming(HandlerTask.java:82)
[org.apache.felix.eventadmin:1.5.0]
at
org.apache.felix.eventadmin.impl.tasks.SyncDeliverTasks.execute(SyncDeliverTasks.java:104)
[org.apache.felix.eventadmin:1.5.0]
at
org.apache.felix.eventadmin.impl.tasks.AsyncDeliverTasks$TaskExecuter.run(AsyncDeliverTasks.java:166)
[org.apache.felix.eventadmin:1.5.0]
at
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
03.10.2020 13:20:29.243 *WARN* [EventAdminAsyncThread #6]
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory
addHostObjects: Cannot prepare host object class
org.apache.sling.scripting.javascript.wrapper.ScriptablePrintWriter
java.lang.NullPointerException: null
at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.addHostObjects(RhinoJavaScriptEngineFactory.java:342)
[org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getRootScope(RhinoJavaScriptEngineFactory.java:195)
[org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getScriptEngine(RhinoJavaScriptEngineFactory.java:142)
[org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
at
org.apache.sling.scripting.core.impl.jsr223.SortableScriptEngineFactory.getScriptEngine(SortableScriptEngineFactory.java:120)
[org.apache.sling.scripting.core:2.3.5.SNAPSHOT]
at
org.apache.sling.scripting.core.impl.ScriptCacheImpl.handleEvent(ScriptCacheImpl.java:283)
[org.apache.sling.scripting.core:2.3.5.SNAPSHOT]
at
org.apache.felix.eventadmin.impl.handler.EventHandlerProxy.sendEvent(EventHandlerProxy.java:415)
at
org.apache.felix.eventadmin.impl.tasks.HandlerTask.runWithoutBlacklistTiming(HandlerTask.java:82)
[org.apache.felix.eventadmin:1.5.0]
at
org.apache.felix.eventadmin.impl.tasks.SyncDeliverTasks.execute(SyncDeliverTasks.java:104)
[org.apache.felix.eventadmin:1.5.0]
at
org.apache.felix.eventadmin.impl.tasks.AsyncDeliverTasks$TaskExecuter.run(AsyncDeliverTasks.java:166)
[org.apache.felix.eventadmin:1.5.0]
at
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
03.10.2020 13:20:29.244 *WARN* [EventAdminAsyncThread #6]
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory
addHostObjects: Cannot prepare host object class
org.apache.sling.scripting.javascript.wrapper.ScriptableVersionHistory
java.lang.NullPointerException: null
at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.addHostObjects(RhinoJavaScriptEngineFactory.java:342)
[org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getRootScope(RhinoJavaScriptEngineFactory.java:195)
[org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getScriptEngine(RhinoJavaScriptEngineFactory.java:142)
[org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
at
org.apache.sling.scripting.core.impl.jsr223.SortableScriptEngineFactory.getScriptEngine(SortableScriptEngineFactory.java:120)
[org.apache.sling.scripting.core:2.3.5.SNAPSHOT]
at
org.apache.sling.scripting.core.impl.ScriptCacheImpl.handleEvent(ScriptCacheImpl.java:283)
[org.apache.sling.scripting.core:2.3.5.SNAPSHOT]
at
org.apache.felix.eventadmin.impl.handler.EventHandlerProxy.sendEvent(EventHandlerProxy.java:415)
at
org.apache.felix.eventadmin.impl.tasks.HandlerTask.runWithoutBlacklistTiming(HandlerTask.java:82)
[org.apache.felix.eventadmin:1.5.0]
at
org.apache.felix.eventadmin.impl.tasks.SyncDeliverTasks.execute(SyncDeliverTasks.java:104)
[org.apache.felix.eventadmin:1.5.0]
at
org.apache.felix.eventadmin.impl.tasks.AsyncDeliverTasks$TaskExecuter.run(AsyncDeliverTasks.java:166)
[org.apache.felix.eventadmin:1.5.0]
at
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
03.10.2020 13:20:29.245 *WARN* [EventAdminAsyncThread #6]
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory
addHostObjects: Cannot prepare host object class
org.apache.sling.scripting.javascript.wrapper.ScriptableVersion
java.lang.NullPointerException: null
at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.addHostObjects(RhinoJavaScriptEngineFactory.java:342)
[org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getRootScope(RhinoJavaScriptEngineFactory.java:195)
[org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getScriptEngine(RhinoJavaScriptEngineFactory.java:142)
[org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
at
org.apache.sling.scripting.core.impl.jsr223.SortableScriptEngineFactory.getScriptEngine(SortableScriptEngineFactory.java:120)
[org.apache.sling.scripting.core:2.3.5.SNAPSHOT]
at
org.apache.sling.scripting.core.impl.ScriptCacheImpl.handleEvent(ScriptCacheImpl.java:283)
[org.apache.sling.scripting.core:2.3.5.SNAPSHOT]
at
org.apache.felix.eventadmin.impl.handler.EventHandlerProxy.sendEvent(EventHandlerProxy.java:415)
at
org.apache.felix.eventadmin.impl.tasks.HandlerTask.runWithoutBlacklistTiming(HandlerTask.java:82)
[org.apache.felix.eventadmin:1.5.0]
at
org.apache.felix.eventadmin.impl.tasks.SyncDeliverTasks.execute(SyncDeliverTasks.java:104)
[org.apache.felix.eventadmin:1.5.0]
at
org.apache.felix.eventadmin.impl.tasks.AsyncDeliverTasks$TaskExecuter.run(AsyncDeliverTasks.java:166)
[org.apache.felix.eventadmin:1.5.0]
at
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
03.10.2020 13:20:29.245 *WARN* [EventAdminAsyncThread #6]
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory
addHostObjects: Cannot prepare host object class
org.apache.sling.scripting.javascript.wrapper.ScriptableCalendar
java.lang.NullPointerException: null
at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.addHostObjects(RhinoJavaScriptEngineFactory.java:342)
[org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getRootScope(RhinoJavaScriptEngineFactory.java:195)
[org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getScriptEngine(RhinoJavaScriptEngineFactory.java:142)
[org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
at
org.apache.sling.scripting.core.impl.jsr223.SortableScriptEngineFactory.getScriptEngine(SortableScriptEngineFactory.java:120)
[org.apache.sling.scripting.core:2.3.5.SNAPSHOT]
at
org.apache.sling.scripting.core.impl.ScriptCacheImpl.handleEvent(ScriptCacheImpl.java:283)
[org.apache.sling.scripting.core:2.3.5.SNAPSHOT]
at
org.apache.felix.eventadmin.impl.handler.EventHandlerProxy.sendEvent(EventHandlerProxy.java:415)
at
org.apache.felix.eventadmin.impl.tasks.HandlerTask.runWithoutBlacklistTiming(HandlerTask.java:82)
[org.apache.felix.eventadmin:1.5.0]
at
org.apache.felix.eventadmin.impl.tasks.SyncDeliverTasks.execute(SyncDeliverTasks.java:104)
[org.apache.felix.eventadmin:1.5.0]
at
org.apache.felix.eventadmin.impl.tasks.AsyncDeliverTasks$TaskExecuter.run(AsyncDeliverTasks.java:166)
[org.apache.felix.eventadmin:1.5.0]
at
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
03.10.2020 13:20:29.246 *WARN* [EventAdminAsyncThread #6]
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory
addHostObjects: Cannot prepare host object class
org.apache.sling.scripting.javascript.wrapper.ScriptableMap
java.lang.NullPointerException: null
at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.addHostObjects(RhinoJavaScriptEngineFactory.java:342)
[org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getRootScope(RhinoJavaScriptEngineFactory.java:195)
[org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getScriptEngine(RhinoJavaScriptEngineFactory.java:142)
[org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
at
org.apache.sling.scripting.core.impl.jsr223.SortableScriptEngineFactory.getScriptEngine(SortableScriptEngineFactory.java:120)
[org.apache.sling.scripting.core:2.3.5.SNAPSHOT]
at
org.apache.sling.scripting.core.impl.ScriptCacheImpl.handleEvent(ScriptCacheImpl.java:283)
[org.apache.sling.scripting.core:2.3.5.SNAPSHOT]
at
org.apache.felix.eventadmin.impl.handler.EventHandlerProxy.sendEvent(EventHandlerProxy.java:415)
at
org.apache.felix.eventadmin.impl.tasks.HandlerTask.runWithoutBlacklistTiming(HandlerTask.java:82)
[org.apache.felix.eventadmin:1.5.0]
at
org.apache.felix.eventadmin.impl.tasks.SyncDeliverTasks.execute(SyncDeliverTasks.java:104)
[org.apache.felix.eventadmin:1.5.0]
at
org.apache.felix.eventadmin.impl.tasks.AsyncDeliverTasks$TaskExecuter.run(AsyncDeliverTasks.java:166)
[org.apache.felix.eventadmin:1.5.0]
at
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834) {noformat}
Expected:
RhinoJavaScriptEngineFactory#getScriptEngine should log a warning and return
null if the component is no longer active. The series of NPEs should not
happen and get logged.
was:
During startup, the RhinoJavaScriptEngineFactory component may become
deactivated temporarily. The ScriptCacheImpl#handleEvent (running in another
thread) may concurrently attempt to get the script engine from the factory. At
this point, the deactivated factory may still be in the engine list because it
hasn't been unbound from the ScriptEngineManager yet. In that case, the
RhinoJavaScriptEngineFactory#getScriptEngine call from
ScriptCacheImpl#handleEvent throws a series of NullPointerExceptions related to
usage of field that was nulled during the
RhinoJavaScriptEngineFactory#deactivate logic.
For example:
{noformat}
03.10.2020 12:10:41.244 *WARN* [EventAdminAsyncThread #2]
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory
addHostObjects: Cannot prepare host object class
org.apache.sling.scripting.javascript.wrapper.ScriptableResource03.10.2020
12:10:41.244 *WARN* [EventAdminAsyncThread #2]
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory
addHostObjects: Cannot prepare host object class
org.apache.sling.scripting.javascript.wrapper.ScriptableResourcejava.lang.NullPointerException:
null at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.addHostObjects(RhinoJavaScriptEngineFactory.java:342)
[org.apache.sling.scripting.javascript:3.1.3.20201003190729678] at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getRootScope(RhinoJavaScriptEngineFactory.java:195)
[org.apache.sling.scripting.javascript:3.1.3.20201003190729678] at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getScriptEngine(RhinoJavaScriptEngineFactory.java:142)
[org.apache.sling.scripting.javascript:3.1.3.20201003190729678] at
org.apache.sling.scripting.core.impl.jsr223.SortableScriptEngineFactory.getScriptEngine(SortableScriptEngineFactory.java:120)
[org.apache.sling.scripting.core:2.3.5.SNAPSHOT] at
org.apache.sling.scripting.core.impl.ScriptCacheImpl.handleEvent(ScriptCacheImpl.java:283)
[org.apache.sling.scripting.core:2.3.5.SNAPSHOT] at
org.apache.felix.eventadmin.impl.handler.EventHandlerProxy.sendEvent(EventHandlerProxy.java:415)
at
org.apache.felix.eventadmin.impl.tasks.HandlerTask.runWithoutBlacklistTiming(HandlerTask.java:82)
[org.apache.felix.eventadmin:1.5.0] at
org.apache.felix.eventadmin.impl.tasks.SyncDeliverTasks.execute(SyncDeliverTasks.java:104)
[org.apache.felix.eventadmin:1.5.0] at
org.apache.felix.eventadmin.impl.tasks.AsyncDeliverTasks$TaskExecuter.run(AsyncDeliverTasks.java:166)
[org.apache.felix.eventadmin:1.5.0] at
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)03.10.2020 12:10:41.247
*WARN* [EventAdminAsyncThread #2]
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory
addHostObjects: Cannot prepare host object class
org.apache.sling.scripting.javascript.wrapper.ScriptableNodejava.lang.NullPointerException:
null at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.addHostObjects(RhinoJavaScriptEngineFactory.java:342)
[org.apache.sling.scripting.javascript:3.1.3.20201003190729678] at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getRootScope(RhinoJavaScriptEngineFactory.java:195)
[org.apache.sling.scripting.javascript:3.1.3.20201003190729678] at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getScriptEngine(RhinoJavaScriptEngineFactory.java:142)
[org.apache.sling.scripting.javascript:3.1.3.20201003190729678] at
org.apache.sling.scripting.core.impl.jsr223.SortableScriptEngineFactory.getScriptEngine(SortableScriptEngineFactory.java:120)
[org.apache.sling.scripting.core:2.3.5.SNAPSHOT] at
org.apache.sling.scripting.core.impl.ScriptCacheImpl.handleEvent(ScriptCacheImpl.java:283)
[org.apache.sling.scripting.core:2.3.5.SNAPSHOT] at
org.apache.felix.eventadmin.impl.handler.EventHandlerProxy.sendEvent(EventHandlerProxy.java:415)
at
org.apache.felix.eventadmin.impl.tasks.HandlerTask.runWithoutBlacklistTiming(HandlerTask.java:82)
[org.apache.felix.eventadmin:1.5.0] at
org.apache.felix.eventadmin.impl.tasks.SyncDeliverTasks.execute(SyncDeliverTasks.java:104)
[org.apache.felix.eventadmin:1.5.0] at
org.apache.felix.eventadmin.impl.tasks.AsyncDeliverTasks$TaskExecuter.run(AsyncDeliverTasks.java:166)
[org.apache.felix.eventadmin:1.5.0] at
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)03.10.2020 12:10:41.248
*WARN* [EventAdminAsyncThread #2]
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory
addHostObjects: Cannot prepare host object class
org.apache.sling.scripting.javascript.wrapper.ScriptablePropertyjava.lang.NullPointerException:
null at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.addHostObjects(RhinoJavaScriptEngineFactory.java:342)
[org.apache.sling.scripting.javascript:3.1.3.20201003190729678] at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getRootScope(RhinoJavaScriptEngineFactory.java:195)
[org.apache.sling.scripting.javascript:3.1.3.20201003190729678] at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getScriptEngine(RhinoJavaScriptEngineFactory.java:142)
[org.apache.sling.scripting.javascript:3.1.3.20201003190729678] at
org.apache.sling.scripting.core.impl.jsr223.SortableScriptEngineFactory.getScriptEngine(SortableScriptEngineFactory.java:120)
[org.apache.sling.scripting.core:2.3.5.SNAPSHOT] at
org.apache.sling.scripting.core.impl.ScriptCacheImpl.handleEvent(ScriptCacheImpl.java:283)
[org.apache.sling.scripting.core:2.3.5.SNAPSHOT] at
org.apache.felix.eventadmin.impl.handler.EventHandlerProxy.sendEvent(EventHandlerProxy.java:415)
at
org.apache.felix.eventadmin.impl.tasks.HandlerTask.runWithoutBlacklistTiming(HandlerTask.java:82)
[org.apache.felix.eventadmin:1.5.0] at
org.apache.felix.eventadmin.impl.tasks.SyncDeliverTasks.execute(SyncDeliverTasks.java:104)
[org.apache.felix.eventadmin:1.5.0] at
org.apache.felix.eventadmin.impl.tasks.AsyncDeliverTasks$TaskExecuter.run(AsyncDeliverTasks.java:166)
[org.apache.felix.eventadmin:1.5.0] at
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)03.10.2020 12:10:41.249
*WARN* [EventAdminAsyncThread #2]
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory
addHostObjects: Cannot prepare host object class
org.apache.sling.scripting.javascript.wrapper.ScriptableItemMapjava.lang.NullPointerException:
null at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.addHostObjects(RhinoJavaScriptEngineFactory.java:348)
[org.apache.sling.scripting.javascript:3.1.3.20201003190729678] at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getRootScope(RhinoJavaScriptEngineFactory.java:195)
[org.apache.sling.scripting.javascript:3.1.3.20201003190729678] at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getScriptEngine(RhinoJavaScriptEngineFactory.java:142)
[org.apache.sling.scripting.javascript:3.1.3.20201003190729678] at
org.apache.sling.scripting.core.impl.jsr223.SortableScriptEngineFactory.getScriptEngine(SortableScriptEngineFactory.java:120)
[org.apache.sling.scripting.core:2.3.5.SNAPSHOT] at
org.apache.sling.scripting.core.impl.ScriptCacheImpl.handleEvent(ScriptCacheImpl.java:283)
[org.apache.sling.scripting.core:2.3.5.SNAPSHOT] at
org.apache.felix.eventadmin.impl.handler.EventHandlerProxy.sendEvent(EventHandlerProxy.java:415)
at
org.apache.felix.eventadmin.impl.tasks.HandlerTask.runWithoutBlacklistTiming(HandlerTask.java:82)
[org.apache.felix.eventadmin:1.5.0] at
org.apache.felix.eventadmin.impl.tasks.SyncDeliverTasks.execute(SyncDeliverTasks.java:104)
[org.apache.felix.eventadmin:1.5.0] at
org.apache.felix.eventadmin.impl.tasks.AsyncDeliverTasks$TaskExecuter.run(AsyncDeliverTasks.java:166)
[org.apache.felix.eventadmin:1.5.0] at
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)03.10.2020 12:10:41.250
*WARN* [EventAdminAsyncThread #2]
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory
addHostObjects: Cannot prepare host object class
org.apache.sling.scripting.javascript.wrapper.ScriptablePrintWriterjava.lang.NullPointerException:
null at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.addHostObjects(RhinoJavaScriptEngineFactory.java:342)
[org.apache.sling.scripting.javascript:3.1.3.20201003190729678] at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getRootScope(RhinoJavaScriptEngineFactory.java:195)
[org.apache.sling.scripting.javascript:3.1.3.20201003190729678] at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getScriptEngine(RhinoJavaScriptEngineFactory.java:142)
[org.apache.sling.scripting.javascript:3.1.3.20201003190729678] at
org.apache.sling.scripting.core.impl.jsr223.SortableScriptEngineFactory.getScriptEngine(SortableScriptEngineFactory.java:120)
[org.apache.sling.scripting.core:2.3.5.SNAPSHOT] at
org.apache.sling.scripting.core.impl.ScriptCacheImpl.handleEvent(ScriptCacheImpl.java:283)
[org.apache.sling.scripting.core:2.3.5.SNAPSHOT] at
org.apache.felix.eventadmin.impl.handler.EventHandlerProxy.sendEvent(EventHandlerProxy.java:415)
at
org.apache.felix.eventadmin.impl.tasks.HandlerTask.runWithoutBlacklistTiming(HandlerTask.java:82)
[org.apache.felix.eventadmin:1.5.0] at
org.apache.felix.eventadmin.impl.tasks.SyncDeliverTasks.execute(SyncDeliverTasks.java:104)
[org.apache.felix.eventadmin:1.5.0] at
org.apache.felix.eventadmin.impl.tasks.AsyncDeliverTasks$TaskExecuter.run(AsyncDeliverTasks.java:166)
[org.apache.felix.eventadmin:1.5.0] at
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)03.10.2020 12:10:41.251
*WARN* [EventAdminAsyncThread #2]
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory
addHostObjects: Cannot prepare host object class
org.apache.sling.scripting.javascript.wrapper.ScriptableVersionHistoryjava.lang.NullPointerException:
null at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.addHostObjects(RhinoJavaScriptEngineFactory.java:342)
[org.apache.sling.scripting.javascript:3.1.3.20201003190729678] at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getRootScope(RhinoJavaScriptEngineFactory.java:195)
[org.apache.sling.scripting.javascript:3.1.3.20201003190729678] at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getScriptEngine(RhinoJavaScriptEngineFactory.java:142)
[org.apache.sling.scripting.javascript:3.1.3.20201003190729678] at
org.apache.sling.scripting.core.impl.jsr223.SortableScriptEngineFactory.getScriptEngine(SortableScriptEngineFactory.java:120)
[org.apache.sling.scripting.core:2.3.5.SNAPSHOT] at
org.apache.sling.scripting.core.impl.ScriptCacheImpl.handleEvent(ScriptCacheImpl.java:283)
[org.apache.sling.scripting.core:2.3.5.SNAPSHOT] at
org.apache.felix.eventadmin.impl.handler.EventHandlerProxy.sendEvent(EventHandlerProxy.java:415)
at
org.apache.felix.eventadmin.impl.tasks.HandlerTask.runWithoutBlacklistTiming(HandlerTask.java:82)
[org.apache.felix.eventadmin:1.5.0] at
org.apache.felix.eventadmin.impl.tasks.SyncDeliverTasks.execute(SyncDeliverTasks.java:104)
[org.apache.felix.eventadmin:1.5.0] at
org.apache.felix.eventadmin.impl.tasks.AsyncDeliverTasks$TaskExecuter.run(AsyncDeliverTasks.java:166)
[org.apache.felix.eventadmin:1.5.0] at
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)03.10.2020 12:10:41.251
*WARN* [EventAdminAsyncThread #2]
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory
addHostObjects: Cannot prepare host object class
org.apache.sling.scripting.javascript.wrapper.ScriptableVersionjava.lang.NullPointerException:
null at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.addHostObjects(RhinoJavaScriptEngineFactory.java:342)
[org.apache.sling.scripting.javascript:3.1.3.20201003190729678] at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getRootScope(RhinoJavaScriptEngineFactory.java:195)
[org.apache.sling.scripting.javascript:3.1.3.20201003190729678] at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getScriptEngine(RhinoJavaScriptEngineFactory.java:142)
[org.apache.sling.scripting.javascript:3.1.3.20201003190729678] at
org.apache.sling.scripting.core.impl.jsr223.SortableScriptEngineFactory.getScriptEngine(SortableScriptEngineFactory.java:120)
[org.apache.sling.scripting.core:2.3.5.SNAPSHOT] at
org.apache.sling.scripting.core.impl.ScriptCacheImpl.handleEvent(ScriptCacheImpl.java:283)
[org.apache.sling.scripting.core:2.3.5.SNAPSHOT] at
org.apache.felix.eventadmin.impl.handler.EventHandlerProxy.sendEvent(EventHandlerProxy.java:415)
at
org.apache.felix.eventadmin.impl.tasks.HandlerTask.runWithoutBlacklistTiming(HandlerTask.java:82)
[org.apache.felix.eventadmin:1.5.0] at
org.apache.felix.eventadmin.impl.tasks.SyncDeliverTasks.execute(SyncDeliverTasks.java:104)
[org.apache.felix.eventadmin:1.5.0] at
org.apache.felix.eventadmin.impl.tasks.AsyncDeliverTasks$TaskExecuter.run(AsyncDeliverTasks.java:166)
[org.apache.felix.eventadmin:1.5.0] at
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)03.10.2020 12:10:41.252
*WARN* [EventAdminAsyncThread #2]
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory
addHostObjects: Cannot prepare host object class
org.apache.sling.scripting.javascript.wrapper.ScriptableCalendarjava.lang.NullPointerException:
null at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.addHostObjects(RhinoJavaScriptEngineFactory.java:342)
[org.apache.sling.scripting.javascript:3.1.3.20201003190729678] at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getRootScope(RhinoJavaScriptEngineFactory.java:195)
[org.apache.sling.scripting.javascript:3.1.3.20201003190729678] at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getScriptEngine(RhinoJavaScriptEngineFactory.java:142)
[org.apache.sling.scripting.javascript:3.1.3.20201003190729678] at
org.apache.sling.scripting.core.impl.jsr223.SortableScriptEngineFactory.getScriptEngine(SortableScriptEngineFactory.java:120)
[org.apache.sling.scripting.core:2.3.5.SNAPSHOT] at
org.apache.sling.scripting.core.impl.ScriptCacheImpl.handleEvent(ScriptCacheImpl.java:283)
[org.apache.sling.scripting.core:2.3.5.SNAPSHOT] at
org.apache.felix.eventadmin.impl.handler.EventHandlerProxy.sendEvent(EventHandlerProxy.java:415)
at
org.apache.felix.eventadmin.impl.tasks.HandlerTask.runWithoutBlacklistTiming(HandlerTask.java:82)
[org.apache.felix.eventadmin:1.5.0] at
org.apache.felix.eventadmin.impl.tasks.SyncDeliverTasks.execute(SyncDeliverTasks.java:104)
[org.apache.felix.eventadmin:1.5.0] at
org.apache.felix.eventadmin.impl.tasks.AsyncDeliverTasks$TaskExecuter.run(AsyncDeliverTasks.java:166)
[org.apache.felix.eventadmin:1.5.0] at
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)03.10.2020 12:10:41.253
*WARN* [EventAdminAsyncThread #2]
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory
addHostObjects: Cannot prepare host object class
org.apache.sling.scripting.javascript.wrapper.ScriptableMapjava.lang.NullPointerException:
null at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.addHostObjects(RhinoJavaScriptEngineFactory.java:342)
[org.apache.sling.scripting.javascript:3.1.3.20201003190729678] at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getRootScope(RhinoJavaScriptEngineFactory.java:195)
[org.apache.sling.scripting.javascript:3.1.3.20201003190729678] at
org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getScriptEngine(RhinoJavaScriptEngineFactory.java:142)
[org.apache.sling.scripting.javascript:3.1.3.20201003190729678] at
org.apache.sling.scripting.core.impl.jsr223.SortableScriptEngineFactory.getScriptEngine(SortableScriptEngineFactory.java:120)
[org.apache.sling.scripting.core:2.3.5.SNAPSHOT] at
org.apache.sling.scripting.core.impl.ScriptCacheImpl.handleEvent(ScriptCacheImpl.java:283)
[org.apache.sling.scripting.core:2.3.5.SNAPSHOT] at
org.apache.felix.eventadmin.impl.handler.EventHandlerProxy.sendEvent(EventHandlerProxy.java:415)
at
org.apache.felix.eventadmin.impl.tasks.HandlerTask.runWithoutBlacklistTiming(HandlerTask.java:82)
[org.apache.felix.eventadmin:1.5.0] at
org.apache.felix.eventadmin.impl.tasks.SyncDeliverTasks.execute(SyncDeliverTasks.java:104)
[org.apache.felix.eventadmin:1.5.0] at
org.apache.felix.eventadmin.impl.tasks.AsyncDeliverTasks$TaskExecuter.run(AsyncDeliverTasks.java:166)
[org.apache.felix.eventadmin:1.5.0] at
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
{noformat}
Expected:
RhinoJavaScriptEngineFactory#getScriptEngine should log a warning and return
null if the component is no longer active. The series of NPEs should not
happen and get logged.
> ScriptCache interaction with RhinoJavaScriptEngineFactory is not thread safe
> ----------------------------------------------------------------------------
>
> Key: SLING-9792
> URL: https://issues.apache.org/jira/browse/SLING-9792
> Project: Sling
> Issue Type: Bug
> Reporter: Eric Norman
> Assignee: Eric Norman
> Priority: Major
> Fix For: Scripting JavaScript 3.1.4
>
>
> During startup, the RhinoJavaScriptEngineFactory component may become
> deactivated temporarily. The ScriptCacheImpl#handleEvent (running in another
> thread) may concurrently attempt to get the script engine from the factory.
> At this point, the deactivated factory may still be in the engine list
> because it hasn't been unbound from the ScriptEngineManager yet. In that
> case, the RhinoJavaScriptEngineFactory#getScriptEngine call from
> ScriptCacheImpl#handleEvent throws a series of NullPointerExceptions related
> to usage of field that was nulled during the
> RhinoJavaScriptEngineFactory#deactivate logic.
> For example:
>
> {noformat}
> 03.10.2020 13:20:29.237 *WARN* [EventAdminAsyncThread #6]
> org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory
> 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:342)
> [org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
> at
> org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getRootScope(RhinoJavaScriptEngineFactory.java:195)
> [org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
> at
> org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getScriptEngine(RhinoJavaScriptEngineFactory.java:142)
> [org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
> at
> org.apache.sling.scripting.core.impl.jsr223.SortableScriptEngineFactory.getScriptEngine(SortableScriptEngineFactory.java:120)
> [org.apache.sling.scripting.core:2.3.5.SNAPSHOT]
> at
> org.apache.sling.scripting.core.impl.ScriptCacheImpl.handleEvent(ScriptCacheImpl.java:283)
> [org.apache.sling.scripting.core:2.3.5.SNAPSHOT]
> at
> org.apache.felix.eventadmin.impl.handler.EventHandlerProxy.sendEvent(EventHandlerProxy.java:415)
> at
> org.apache.felix.eventadmin.impl.tasks.HandlerTask.runWithoutBlacklistTiming(HandlerTask.java:82)
> [org.apache.felix.eventadmin:1.5.0]
> at
> org.apache.felix.eventadmin.impl.tasks.SyncDeliverTasks.execute(SyncDeliverTasks.java:104)
> [org.apache.felix.eventadmin:1.5.0]
> at
> org.apache.felix.eventadmin.impl.tasks.AsyncDeliverTasks$TaskExecuter.run(AsyncDeliverTasks.java:166)
> [org.apache.felix.eventadmin:1.5.0]
> at
> java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
> at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
> at
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
> at
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
> at java.base/java.lang.Thread.run(Thread.java:834)
> 03.10.2020 13:20:29.239 *WARN* [EventAdminAsyncThread #6]
> org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory
> addHostObjects: Cannot prepare host object class
> org.apache.sling.scripting.javascript.wrapper.ScriptableNode
> java.lang.NullPointerException: null
> at
> org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.addHostObjects(RhinoJavaScriptEngineFactory.java:342)
> [org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
> at
> org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getRootScope(RhinoJavaScriptEngineFactory.java:195)
> [org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
> at
> org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getScriptEngine(RhinoJavaScriptEngineFactory.java:142)
> [org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
> at
> org.apache.sling.scripting.core.impl.jsr223.SortableScriptEngineFactory.getScriptEngine(SortableScriptEngineFactory.java:120)
> [org.apache.sling.scripting.core:2.3.5.SNAPSHOT]
> at
> org.apache.sling.scripting.core.impl.ScriptCacheImpl.handleEvent(ScriptCacheImpl.java:283)
> [org.apache.sling.scripting.core:2.3.5.SNAPSHOT]
> at
> org.apache.felix.eventadmin.impl.handler.EventHandlerProxy.sendEvent(EventHandlerProxy.java:415)
> at
> org.apache.felix.eventadmin.impl.tasks.HandlerTask.runWithoutBlacklistTiming(HandlerTask.java:82)
> [org.apache.felix.eventadmin:1.5.0]
> at
> org.apache.felix.eventadmin.impl.tasks.SyncDeliverTasks.execute(SyncDeliverTasks.java:104)
> [org.apache.felix.eventadmin:1.5.0]
> at
> org.apache.felix.eventadmin.impl.tasks.AsyncDeliverTasks$TaskExecuter.run(AsyncDeliverTasks.java:166)
> [org.apache.felix.eventadmin:1.5.0]
> at
> java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
> at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
> at
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
> at
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
> at java.base/java.lang.Thread.run(Thread.java:834)
> 03.10.2020 13:20:29.240 *WARN* [EventAdminAsyncThread #6]
> org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory
> addHostObjects: Cannot prepare host object class
> org.apache.sling.scripting.javascript.wrapper.ScriptableProperty
> java.lang.NullPointerException: null
> at
> org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.addHostObjects(RhinoJavaScriptEngineFactory.java:342)
> [org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
> at
> org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getRootScope(RhinoJavaScriptEngineFactory.java:195)
> [org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
> at
> org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getScriptEngine(RhinoJavaScriptEngineFactory.java:142)
> [org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
> at
> org.apache.sling.scripting.core.impl.jsr223.SortableScriptEngineFactory.getScriptEngine(SortableScriptEngineFactory.java:120)
> [org.apache.sling.scripting.core:2.3.5.SNAPSHOT]
> at
> org.apache.sling.scripting.core.impl.ScriptCacheImpl.handleEvent(ScriptCacheImpl.java:283)
> [org.apache.sling.scripting.core:2.3.5.SNAPSHOT]
> at
> org.apache.felix.eventadmin.impl.handler.EventHandlerProxy.sendEvent(EventHandlerProxy.java:415)
> at
> org.apache.felix.eventadmin.impl.tasks.HandlerTask.runWithoutBlacklistTiming(HandlerTask.java:82)
> [org.apache.felix.eventadmin:1.5.0]
> at
> org.apache.felix.eventadmin.impl.tasks.SyncDeliverTasks.execute(SyncDeliverTasks.java:104)
> [org.apache.felix.eventadmin:1.5.0]
> at
> org.apache.felix.eventadmin.impl.tasks.AsyncDeliverTasks$TaskExecuter.run(AsyncDeliverTasks.java:166)
> [org.apache.felix.eventadmin:1.5.0]
> at
> java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
> at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
> at
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
> at
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
> at java.base/java.lang.Thread.run(Thread.java:834)
> 03.10.2020 13:20:29.242 *WARN* [EventAdminAsyncThread #6]
> org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory
> addHostObjects: Cannot prepare host object class
> org.apache.sling.scripting.javascript.wrapper.ScriptableItemMap
> java.lang.NullPointerException: null
> at
> org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.addHostObjects(RhinoJavaScriptEngineFactory.java:348)
> [org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
> at
> org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getRootScope(RhinoJavaScriptEngineFactory.java:195)
> [org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
> at
> org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getScriptEngine(RhinoJavaScriptEngineFactory.java:142)
> [org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
> at
> org.apache.sling.scripting.core.impl.jsr223.SortableScriptEngineFactory.getScriptEngine(SortableScriptEngineFactory.java:120)
> [org.apache.sling.scripting.core:2.3.5.SNAPSHOT]
> at
> org.apache.sling.scripting.core.impl.ScriptCacheImpl.handleEvent(ScriptCacheImpl.java:283)
> [org.apache.sling.scripting.core:2.3.5.SNAPSHOT]
> at
> org.apache.felix.eventadmin.impl.handler.EventHandlerProxy.sendEvent(EventHandlerProxy.java:415)
> at
> org.apache.felix.eventadmin.impl.tasks.HandlerTask.runWithoutBlacklistTiming(HandlerTask.java:82)
> [org.apache.felix.eventadmin:1.5.0]
> at
> org.apache.felix.eventadmin.impl.tasks.SyncDeliverTasks.execute(SyncDeliverTasks.java:104)
> [org.apache.felix.eventadmin:1.5.0]
> at
> org.apache.felix.eventadmin.impl.tasks.AsyncDeliverTasks$TaskExecuter.run(AsyncDeliverTasks.java:166)
> [org.apache.felix.eventadmin:1.5.0]
> at
> java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
> at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
> at
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
> at
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
> at java.base/java.lang.Thread.run(Thread.java:834)
> 03.10.2020 13:20:29.243 *WARN* [EventAdminAsyncThread #6]
> org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory
> addHostObjects: Cannot prepare host object class
> org.apache.sling.scripting.javascript.wrapper.ScriptablePrintWriter
> java.lang.NullPointerException: null
> at
> org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.addHostObjects(RhinoJavaScriptEngineFactory.java:342)
> [org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
> at
> org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getRootScope(RhinoJavaScriptEngineFactory.java:195)
> [org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
> at
> org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getScriptEngine(RhinoJavaScriptEngineFactory.java:142)
> [org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
> at
> org.apache.sling.scripting.core.impl.jsr223.SortableScriptEngineFactory.getScriptEngine(SortableScriptEngineFactory.java:120)
> [org.apache.sling.scripting.core:2.3.5.SNAPSHOT]
> at
> org.apache.sling.scripting.core.impl.ScriptCacheImpl.handleEvent(ScriptCacheImpl.java:283)
> [org.apache.sling.scripting.core:2.3.5.SNAPSHOT]
> at
> org.apache.felix.eventadmin.impl.handler.EventHandlerProxy.sendEvent(EventHandlerProxy.java:415)
> at
> org.apache.felix.eventadmin.impl.tasks.HandlerTask.runWithoutBlacklistTiming(HandlerTask.java:82)
> [org.apache.felix.eventadmin:1.5.0]
> at
> org.apache.felix.eventadmin.impl.tasks.SyncDeliverTasks.execute(SyncDeliverTasks.java:104)
> [org.apache.felix.eventadmin:1.5.0]
> at
> org.apache.felix.eventadmin.impl.tasks.AsyncDeliverTasks$TaskExecuter.run(AsyncDeliverTasks.java:166)
> [org.apache.felix.eventadmin:1.5.0]
> at
> java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
> at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
> at
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
> at
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
> at java.base/java.lang.Thread.run(Thread.java:834)
> 03.10.2020 13:20:29.244 *WARN* [EventAdminAsyncThread #6]
> org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory
> addHostObjects: Cannot prepare host object class
> org.apache.sling.scripting.javascript.wrapper.ScriptableVersionHistory
> java.lang.NullPointerException: null
> at
> org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.addHostObjects(RhinoJavaScriptEngineFactory.java:342)
> [org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
> at
> org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getRootScope(RhinoJavaScriptEngineFactory.java:195)
> [org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
> at
> org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getScriptEngine(RhinoJavaScriptEngineFactory.java:142)
> [org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
> at
> org.apache.sling.scripting.core.impl.jsr223.SortableScriptEngineFactory.getScriptEngine(SortableScriptEngineFactory.java:120)
> [org.apache.sling.scripting.core:2.3.5.SNAPSHOT]
> at
> org.apache.sling.scripting.core.impl.ScriptCacheImpl.handleEvent(ScriptCacheImpl.java:283)
> [org.apache.sling.scripting.core:2.3.5.SNAPSHOT]
> at
> org.apache.felix.eventadmin.impl.handler.EventHandlerProxy.sendEvent(EventHandlerProxy.java:415)
> at
> org.apache.felix.eventadmin.impl.tasks.HandlerTask.runWithoutBlacklistTiming(HandlerTask.java:82)
> [org.apache.felix.eventadmin:1.5.0]
> at
> org.apache.felix.eventadmin.impl.tasks.SyncDeliverTasks.execute(SyncDeliverTasks.java:104)
> [org.apache.felix.eventadmin:1.5.0]
> at
> org.apache.felix.eventadmin.impl.tasks.AsyncDeliverTasks$TaskExecuter.run(AsyncDeliverTasks.java:166)
> [org.apache.felix.eventadmin:1.5.0]
> at
> java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
> at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
> at
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
> at
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
> at java.base/java.lang.Thread.run(Thread.java:834)
> 03.10.2020 13:20:29.245 *WARN* [EventAdminAsyncThread #6]
> org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory
> addHostObjects: Cannot prepare host object class
> org.apache.sling.scripting.javascript.wrapper.ScriptableVersion
> java.lang.NullPointerException: null
> at
> org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.addHostObjects(RhinoJavaScriptEngineFactory.java:342)
> [org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
> at
> org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getRootScope(RhinoJavaScriptEngineFactory.java:195)
> [org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
> at
> org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getScriptEngine(RhinoJavaScriptEngineFactory.java:142)
> [org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
> at
> org.apache.sling.scripting.core.impl.jsr223.SortableScriptEngineFactory.getScriptEngine(SortableScriptEngineFactory.java:120)
> [org.apache.sling.scripting.core:2.3.5.SNAPSHOT]
> at
> org.apache.sling.scripting.core.impl.ScriptCacheImpl.handleEvent(ScriptCacheImpl.java:283)
> [org.apache.sling.scripting.core:2.3.5.SNAPSHOT]
> at
> org.apache.felix.eventadmin.impl.handler.EventHandlerProxy.sendEvent(EventHandlerProxy.java:415)
> at
> org.apache.felix.eventadmin.impl.tasks.HandlerTask.runWithoutBlacklistTiming(HandlerTask.java:82)
> [org.apache.felix.eventadmin:1.5.0]
> at
> org.apache.felix.eventadmin.impl.tasks.SyncDeliverTasks.execute(SyncDeliverTasks.java:104)
> [org.apache.felix.eventadmin:1.5.0]
> at
> org.apache.felix.eventadmin.impl.tasks.AsyncDeliverTasks$TaskExecuter.run(AsyncDeliverTasks.java:166)
> [org.apache.felix.eventadmin:1.5.0]
> at
> java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
> at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
> at
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
> at
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
> at java.base/java.lang.Thread.run(Thread.java:834)
> 03.10.2020 13:20:29.245 *WARN* [EventAdminAsyncThread #6]
> org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory
> addHostObjects: Cannot prepare host object class
> org.apache.sling.scripting.javascript.wrapper.ScriptableCalendar
> java.lang.NullPointerException: null
> at
> org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.addHostObjects(RhinoJavaScriptEngineFactory.java:342)
> [org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
> at
> org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getRootScope(RhinoJavaScriptEngineFactory.java:195)
> [org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
> at
> org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getScriptEngine(RhinoJavaScriptEngineFactory.java:142)
> [org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
> at
> org.apache.sling.scripting.core.impl.jsr223.SortableScriptEngineFactory.getScriptEngine(SortableScriptEngineFactory.java:120)
> [org.apache.sling.scripting.core:2.3.5.SNAPSHOT]
> at
> org.apache.sling.scripting.core.impl.ScriptCacheImpl.handleEvent(ScriptCacheImpl.java:283)
> [org.apache.sling.scripting.core:2.3.5.SNAPSHOT]
> at
> org.apache.felix.eventadmin.impl.handler.EventHandlerProxy.sendEvent(EventHandlerProxy.java:415)
> at
> org.apache.felix.eventadmin.impl.tasks.HandlerTask.runWithoutBlacklistTiming(HandlerTask.java:82)
> [org.apache.felix.eventadmin:1.5.0]
> at
> org.apache.felix.eventadmin.impl.tasks.SyncDeliverTasks.execute(SyncDeliverTasks.java:104)
> [org.apache.felix.eventadmin:1.5.0]
> at
> org.apache.felix.eventadmin.impl.tasks.AsyncDeliverTasks$TaskExecuter.run(AsyncDeliverTasks.java:166)
> [org.apache.felix.eventadmin:1.5.0]
> at
> java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
> at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
> at
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
> at
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
> at java.base/java.lang.Thread.run(Thread.java:834)
> 03.10.2020 13:20:29.246 *WARN* [EventAdminAsyncThread #6]
> org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory
> addHostObjects: Cannot prepare host object class
> org.apache.sling.scripting.javascript.wrapper.ScriptableMap
> java.lang.NullPointerException: null
> at
> org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.addHostObjects(RhinoJavaScriptEngineFactory.java:342)
> [org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
> at
> org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getRootScope(RhinoJavaScriptEngineFactory.java:195)
> [org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
> at
> org.apache.sling.scripting.javascript.internal.RhinoJavaScriptEngineFactory.getScriptEngine(RhinoJavaScriptEngineFactory.java:142)
> [org.apache.sling.scripting.javascript:3.1.3.20201003201741112]
> at
> org.apache.sling.scripting.core.impl.jsr223.SortableScriptEngineFactory.getScriptEngine(SortableScriptEngineFactory.java:120)
> [org.apache.sling.scripting.core:2.3.5.SNAPSHOT]
> at
> org.apache.sling.scripting.core.impl.ScriptCacheImpl.handleEvent(ScriptCacheImpl.java:283)
> [org.apache.sling.scripting.core:2.3.5.SNAPSHOT]
> at
> org.apache.felix.eventadmin.impl.handler.EventHandlerProxy.sendEvent(EventHandlerProxy.java:415)
> at
> org.apache.felix.eventadmin.impl.tasks.HandlerTask.runWithoutBlacklistTiming(HandlerTask.java:82)
> [org.apache.felix.eventadmin:1.5.0]
> at
> org.apache.felix.eventadmin.impl.tasks.SyncDeliverTasks.execute(SyncDeliverTasks.java:104)
> [org.apache.felix.eventadmin:1.5.0]
> at
> org.apache.felix.eventadmin.impl.tasks.AsyncDeliverTasks$TaskExecuter.run(AsyncDeliverTasks.java:166)
> [org.apache.felix.eventadmin:1.5.0]
> at
> java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
> at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
> at
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
> at
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
> at java.base/java.lang.Thread.run(Thread.java:834) {noformat}
> Expected:
> RhinoJavaScriptEngineFactory#getScriptEngine should log a warning and return
> null if the component is no longer active. The series of NPEs should not
> happen and get logged.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)