[jira] [Updated] (SLING-7467) JcrInstaller fails to startup if wrong sling:OsgiConfig is present

2018-02-22 Thread Carsten Ziegeler (JIRA)

 [ 
https://issues.apache.org/jira/browse/SLING-7467?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Carsten Ziegeler updated SLING-7467:

Fix Version/s: Installer Core 3.8.14

> JcrInstaller fails to startup if wrong sling:OsgiConfig is present
> --
>
> Key: SLING-7467
> URL: https://issues.apache.org/jira/browse/SLING-7467
> Project: Sling
>  Issue Type: Bug
>  Components: Installer
> Environment: osx
>Reporter: Lukas Kummer
>Priority: Major
> Fix For: Installer Core 3.8.14
>
> Attachments: 
> org.apache.felix.webconsole.plugins.event.internal.PluginServlet.config
>
>
> After deploying a wrong osgi config, JcrInstaller won't get active again, if 
> launchpad is restarted.
> Reproduction steps:
>  * start launchpad
> {code:java}
> java -jar org.apache.sling.launchpad-9.jar
> {code}
>  * create info logger for class 
> org.apache.sling.installer.provider.jcr.impl.JcrInstaller with Info Level
>  * create wrong OSGi 
> org.apache.felix.webconsole.plugins.event.internal.PluginServlet.config file
> {code:java}
> max.size=I"sfdg"
> service.pid="org.apache.felix.webconsole.plugins.event.internal.PluginServlet"
> {code}
>  * deploy the previous created OSGi config file
> {code:java}
> curl -v -F 
> 'org.apache.felix.webconsole.plugins.event.internal.PluginServlet.config=@org.apache.felix.webconsole.plugins.event.internal.PluginServlet.config'
>  \
> -F "jcr:primaryType=sling:OsgiConfig" \
> http://admin:admin@localhost:8080/apps/jcrtest/install
> {code}
>  * JcrInstaller creates log entry:
> {code:java}
> 02.02.2018 15:17:31.872 *WARN* [JcrInstaller.2] 
> org.apache.sling.installer.provider.jcr.impl.JcrInstaller Exception in 
> runOneCycle()
> java.lang.NumberFormatException: For input string: "sfdg"
>   at 
> java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
>   at java.lang.Integer.parseInt(Integer.java:580)
>   at java.lang.Integer.valueOf(Integer.java:766)
>   at 
> org.apache.felix.cm.file.ConfigurationHandler.readSimple(ConfigurationHandler.java:457)
>   at 
> org.apache.felix.cm.file.ConfigurationHandler.readValue(ConfigurationHandler.java:352)
>   at 
> org.apache.felix.cm.file.ConfigurationHandler.readInternal(ConfigurationHandler.java:306)
>   at 
> org.apache.felix.cm.file.ConfigurationHandler.read(ConfigurationHandler.java:265)
>   at 
> org.apache.sling.installer.core.impl.InternalResource.readDictionary(InternalResource.java:257)
>   at 
> org.apache.sling.installer.core.impl.InternalResource.create(InternalResource.java:98)
>   at 
> org.apache.sling.installer.core.impl.OsgiInstallerImpl.createResources(OsgiInstallerImpl.java:373)
>   at 
> org.apache.sling.installer.core.impl.OsgiInstallerImpl.updateResources(OsgiInstallerImpl.java:413)
>   at 
> org.apache.sling.installer.provider.jcr.impl.JcrInstaller.runOneCycle(JcrInstaller.java:549)
>   at 
> org.apache.sling.installer.provider.jcr.impl.JcrInstaller$StoppableThread.run(JcrInstaller.java:322)
> {code}
>  * now stop launchpad instance
>  * start again and check the previously created logger for JcrInstaller
>  * throws following exception:
> {code:java}
> 02.02.2018 15:35:01.210 *INFO* [pool-9-thread-1] 
> org.apache.sling.installer.provider.jcr.impl.JcrInstaller Activating Apache 
> Sling JCR Installer
> 02.02.2018 15:35:01.211 *ERROR* [pool-9-thread-1] 
> org.apache.sling.installer.provider.jcr.impl.JcrInstaller Repository 
> exception during startup - deactivating installer!
> javax.jcr.LoginException: Cannot derive user name for bundle 
> org.apache.sling.installer.provider.jcr [123] and sub service null
>   at 
> org.apache.sling.jcr.base.AbstractSlingRepository2.loginService(AbstractSlingRepository2.java:311)
>   at 
> org.apache.sling.installer.provider.jcr.impl.JcrInstaller$StoppableThread.(JcrInstaller.java:217)
>   at 
> org.apache.sling.installer.provider.jcr.impl.JcrInstaller.start(JcrInstaller.java:355)
>   at 
> org.apache.sling.installer.provider.jcr.impl.JcrInstaller.activate(JcrInstaller.java:342)
>   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>   at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>   at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>   at java.lang.reflect.Method.invoke(Method.java:498)
>   at 
> org.apache.felix.scr.impl.inject.BaseMethod.invokeMethod(BaseMethod.java:224)
>   at 
> org.apache.felix.scr.impl.inject.BaseMethod.access$500(BaseMethod.java:39)
>   at 
> org.apache.felix.scr.impl.inject.BaseMethod$Resolved.invoke(BaseMethod.java:617)
>   at 
> org.apache.felix.scr.impl.inject.BaseMethod.invoke(BaseMethod.java:501)
>   at 
> 

[jira] [Updated] (SLING-7467) JcrInstaller fails to startup if wrong sling:OsgiConfig is present

2018-02-02 Thread Lukas Kummer (JIRA)

 [ 
https://issues.apache.org/jira/browse/SLING-7467?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Lukas Kummer updated SLING-7467:

Description: 
After deploying a wrong osgi config, JcrInstaller won't get active again, if 
launchpad is restarted.

Reproduction steps:
 * start launchpad
{code:java}
java -jar org.apache.sling.launchpad-9.jar
{code}

 * create info logger for class 
org.apache.sling.installer.provider.jcr.impl.JcrInstaller with Info Level
 * create wrong OSGi 
org.apache.felix.webconsole.plugins.event.internal.PluginServlet.config file
{code:java}
max.size=I"sfdg"
service.pid="org.apache.felix.webconsole.plugins.event.internal.PluginServlet"
{code}

 * deploy the previous created OSGi config file
{code:java}
curl -v -F 
'org.apache.felix.webconsole.plugins.event.internal.PluginServlet.config=@org.apache.felix.webconsole.plugins.event.internal.PluginServlet.config'
 \
-F "jcr:primaryType=sling:OsgiConfig" \
http://admin:admin@localhost:8080/apps/jcrtest/install
{code}

 * JcrInstaller creates log entry:
{code:java}
02.02.2018 15:17:31.872 *WARN* [JcrInstaller.2] 
org.apache.sling.installer.provider.jcr.impl.JcrInstaller Exception in 
runOneCycle()
java.lang.NumberFormatException: For input string: "sfdg"
at 
java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:580)
at java.lang.Integer.valueOf(Integer.java:766)
at 
org.apache.felix.cm.file.ConfigurationHandler.readSimple(ConfigurationHandler.java:457)
at 
org.apache.felix.cm.file.ConfigurationHandler.readValue(ConfigurationHandler.java:352)
at 
org.apache.felix.cm.file.ConfigurationHandler.readInternal(ConfigurationHandler.java:306)
at 
org.apache.felix.cm.file.ConfigurationHandler.read(ConfigurationHandler.java:265)
at 
org.apache.sling.installer.core.impl.InternalResource.readDictionary(InternalResource.java:257)
at 
org.apache.sling.installer.core.impl.InternalResource.create(InternalResource.java:98)
at 
org.apache.sling.installer.core.impl.OsgiInstallerImpl.createResources(OsgiInstallerImpl.java:373)
at 
org.apache.sling.installer.core.impl.OsgiInstallerImpl.updateResources(OsgiInstallerImpl.java:413)
at 
org.apache.sling.installer.provider.jcr.impl.JcrInstaller.runOneCycle(JcrInstaller.java:549)
at 
org.apache.sling.installer.provider.jcr.impl.JcrInstaller$StoppableThread.run(JcrInstaller.java:322)
{code}

 * now stop launchpad instance
 * start again and check the previously created logger for JcrInstaller
 * throws following exception:
{code:java}
02.02.2018 15:35:01.210 *INFO* [pool-9-thread-1] 
org.apache.sling.installer.provider.jcr.impl.JcrInstaller Activating Apache 
Sling JCR Installer
02.02.2018 15:35:01.211 *ERROR* [pool-9-thread-1] 
org.apache.sling.installer.provider.jcr.impl.JcrInstaller Repository exception 
during startup - deactivating installer!
javax.jcr.LoginException: Cannot derive user name for bundle 
org.apache.sling.installer.provider.jcr [123] and sub service null
at 
org.apache.sling.jcr.base.AbstractSlingRepository2.loginService(AbstractSlingRepository2.java:311)
at 
org.apache.sling.installer.provider.jcr.impl.JcrInstaller$StoppableThread.(JcrInstaller.java:217)
at 
org.apache.sling.installer.provider.jcr.impl.JcrInstaller.start(JcrInstaller.java:355)
at 
org.apache.sling.installer.provider.jcr.impl.JcrInstaller.activate(JcrInstaller.java:342)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at 
org.apache.felix.scr.impl.inject.BaseMethod.invokeMethod(BaseMethod.java:224)
at 
org.apache.felix.scr.impl.inject.BaseMethod.access$500(BaseMethod.java:39)
at 
org.apache.felix.scr.impl.inject.BaseMethod$Resolved.invoke(BaseMethod.java:617)
at 
org.apache.felix.scr.impl.inject.BaseMethod.invoke(BaseMethod.java:501)
at 
org.apache.felix.scr.impl.inject.ActivateMethod.invoke(ActivateMethod.java:302)
at 
org.apache.felix.scr.impl.inject.ActivateMethod.invoke(ActivateMethod.java:294)
at 
org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:298)
at 
org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:109)
at 
org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:906)
at 
org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:879)
at