Satya Deep Maheshwari created SLING-4405: --------------------------------------------
Summary: Unable to install bundle for the first time Key: SLING-4405 URL: https://issues.apache.org/jira/browse/SLING-4405 Project: Sling Issue Type: Bug Components: IDE Reporter: Satya Deep Maheshwari I am experimenting with sling IDE tooling. I am facing a problem wherein I am unable to deploy the bundle for the very first time using it. Once I have uploaded the bundle once using some other means, I am subsequently able to upload successfully using the ide tooling. On debugging this a bit, I see that the on installing the bundle for the very first time, the felix framework attempts to search for the bundle in a non-existent directory which fails with a FileNotFound exception. I compared this with the bundle install done from the felix web console. It looks like IDE tooling uses the InstallServlet mechanism while the web console does not. The InstallServlet tries to determine the location of this bundle if it already exists and if it does not, it sets it to null which later causes the above mentioned problem. Below is the exception trace: 11.02.2015 14:59:49.172 *ERROR* [qtp1941320881-42] ERROR: Error getting location from bundle archive. (java.io.FileNotFoundException: /home/satyadeep/code/sling/sling/felix/bundle181/bundle.location (No such file or directory)) java.io.FileNotFoundException: /home/satyadeep/code/sling/sling/felix/bundle181/bundle.location (No such file or directory) at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.<init>(FileInputStream.java:146) at org.apache.felix.framework.util.SecureAction.getFileInputStream(SecureAction.java:453) at org.apache.felix.framework.cache.BundleArchive.readLocation(BundleArchive.java:1107) at org.apache.felix.framework.cache.BundleArchive.getLocation(BundleArchive.java:256) at org.apache.felix.framework.BundleImpl._getLocation(BundleImpl.java:621) at org.apache.felix.framework.BundleProtectionDomain$RevisionAsJarURL.create(BundleProtectionDomain.java:335) at org.apache.felix.framework.BundleProtectionDomain$RevisionAsJarURL.access$200(BundleProtectionDomain.java:234) at org.apache.felix.framework.BundleProtectionDomain.<init>(BundleProtectionDomain.java:385) at org.apache.felix.framework.Felix.setBundleProtectionDomain(Felix.java:938) at org.apache.felix.framework.BundleImpl.addRevision(BundleImpl.java:1219) at org.apache.felix.framework.BundleImpl.<init>(BundleImpl.java:114) at org.apache.felix.framework.Felix.installBundle(Felix.java:2976) at org.apache.felix.framework.BundleContextImpl.installBundle(BundleContextImpl.java:169) at org.apache.sling.tooling.support.install.impl.InstallServlet.installOrUpdateBundle(InstallServlet.java:242) at org.apache.sling.tooling.support.install.impl.InstallServlet.installBasedOnUploadedJar(InstallServlet.java:149) at org.apache.sling.tooling.support.install.impl.InstallServlet.doPost(InstallServlet.java:101) at javax.servlet.http.HttpServlet.service(HttpServlet.java:641) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.felix.http.base.internal.handler.ServletHandler.doHandle(ServletHandler.java:339) at org.apache.felix.http.base.internal.handler.ServletHandler.handle(ServletHandler.java:300) at org.apache.felix.http.base.internal.dispatch.ServletPipeline.handle(ServletPipeline.java:93) at org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:50) at org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:31) at org.apache.sling.launchpad.testservices.filters.TestFilter.doFilter(TestFilter.java:47) at org.apache.sling.launchpad.testservices.filters.HttpServiceExtFilter.doFilter(HttpServiceExtFilter.java:27) at org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:108) at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:80) at org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:46) at org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:31) at org.apache.sling.junit.impl.servlet.TestLogServlet$TestNameLoggingFilter.doFilter(TestLogServlet.java:244) at org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:108) at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:80) at org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:46) at org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:31) at org.apache.sling.engine.impl.log.RequestLoggerFilter.doFilter(RequestLoggerFilter.java:75) at org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:108) at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:80) at org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:46) at org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:31) at org.apache.felix.http.base.internal.dispatch.FilterPipeline.dispatch(FilterPipeline.java:76) at org.apache.felix.http.base.internal.dispatch.Dispatcher.dispatch(Dispatcher.java:49) at org.apache.felix.http.base.internal.DispatcherServlet.service(DispatcherServlet.java:67) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:501) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:229) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) at org.eclipse.jetty.server.Server.handle(Server.java:370) at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494) at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:982) at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1043) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240) at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:667) at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) at java.lang.Thread.run(Thread.java:745) -- This message was sent by Atlassian JIRA (v6.3.4#6332)