SlingServerRepository.copyFile may throw NullPointerException
-------------------------------------------------------------
Key: SLING-407
URL: https://issues.apache.org/jira/browse/SLING-407
Project: Sling
Issue Type: Bug
Components: Repository
Reporter: Felix Meschberger
Assignee: Felix Meschberger
Priority: Critical
Fix For: 2.0.0
Reported by Joseph Ottinger:
Okay, so putting in the declarative services gave me another issue, which is an
improvement:
93 [Start Level Event Dispatcher] ERROR
org.apache.sling.jcr.jackrabbit.server.Activator - verifyConfiguration: Cannot
check or define configuration
java.lang.NullPointerException
at
org.apache.sling.jcr.jackrabbit.server.SlingServerRepository.copyFile(SlingServerRepository.java:177)
at
org.apache.sling.jcr.jackrabbit.server.Activator.initDefaultConfig(Activator.java:185)
at
org.apache.sling.jcr.jackrabbit.server.Activator.verifyConfiguration(Activator.java:151)
at
org.apache.sling.jcr.jackrabbit.server.Activator.serviceChanged(Activator.java:112)
at
org.eclipse.osgi.framework.internal.core.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:94)
at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:1224)
at
org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:209)
at
org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:141)
at
org.eclipse.osgi.framework.internal.core.Framework.publishServiceEventPrivileged(Framework.java:1558)
at
org.eclipse.osgi.framework.internal.core.Framework.publishServiceEvent(Framework.java:1533)
at
org.eclipse.osgi.framework.internal.core.ServiceRegistrationImpl.<init>(ServiceRegistrationImpl.java:103)
at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.createServiceRegistration(BundleContextImpl.java:657)
at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:609)
at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:675)
at org.eclipse.equinox.internal.cm.Activator.start(Activator.java:53)
at
org.eclipse.osgi.framework.internal.core.BundleContextImpl$2.run(BundleContextImpl.java:999)
at java.security.AccessController.doPrivileged(Native Method)
at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:993)
at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:974)
at
org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:346)
at
org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:355)
at
org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1073)
at
org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:632)
at
org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:506)
at
org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:280)
at
org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:466)
at
org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:209)
at
org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:319)
Erm... what file is it trying to copy? Is it looking for a repository.xml? (If
so: classpath, I assume?)
The problem is that the sling.home property is not set and hence the
File.getParentFile() may throw a NullPointerException.
The fix is for the Activator.initConfig() method of jackrabbit-server to check
for this situation and try to use the bundle private data area or the current
working directory instead.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.