Description
Using BndTools and the ACE Repo plugin, I uploaded the bundle com.vaadin.shared.deps:1.0.3. This bundle is malformed, as its manifest contains the version string 15.0.rebased, which is not a valid OSGi version.
This results in the ACE server throwing and exception (see below) and not accepting any new uploads.
The OBR should probably cleanly reject invalid bundles.
Error in /home/virtual/ACE/apache-ace-2.0.1-bin/server-allinone/store : invalid version "15.0.rebased": non-numeric "rebased"
java.lang.IllegalArgumentException: invalid version "15.0.rebased": non-numeric "rebased"
at org.osgi.framework.Version.parseInt(Version.java:170)
at org.osgi.framework.Version.<init>(Version.java:134)
at org.osgi.impl.bundle.obr.resource.VersionRange.<init>(VersionRange.java:52)
at org.osgi.impl.bundle.obr.resource.ManifestEntry.addParameter(ManifestEntry.java:97)
at org.osgi.impl.bundle.obr.resource.Manifest.getEntries(Manifest.java:215)
at org.osgi.impl.bundle.obr.resource.Manifest.entry(Manifest.java:130)
at org.osgi.impl.bundle.obr.resource.Manifest.parse(Manifest.java:78)
at org.osgi.impl.bundle.obr.resource.Manifest.<init>(Manifest.java:46)
at org.osgi.impl.bundle.obr.resource.BundleInfo.<init>(BundleInfo.java:63)
at org.osgi.impl.bundle.bindex.Index.recurse(Index.java:200)
at org.osgi.impl.bundle.bindex.Index.recurse(Index.java:191)
at org.osgi.impl.bundle.bindex.Index.recurse(Index.java:191)
at org.osgi.impl.bundle.bindex.Index.recurse(Index.java:191)
at org.osgi.impl.bundle.bindex.Index.recurse(Index.java:191)
at org.osgi.impl.bundle.bindex.Index.main(Index.java:114)
at org.apache.ace.obr.metadata.bindex.BIndexMetadataGenerator.generateMetadata(BIndexMetadataGenerator.java:45)
at org.apache.ace.obr.storage.file.BundleFileStore.synchronizeMetadata(BundleFileStore.java:73)
at org.apache.ace.obr.storage.file.BundleFileStore.get(BundleFileStore.java:81)
at org.apache.ace.obr.servlet.BundleServlet.doGet(BundleServlet.java:202)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at org.apache.ace.obr.servlet.BundleServlet.service(BundleServlet.java:289)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.apache.felix.http.base.internal.handler.ServletHandler.doHandle(ServletHandler.java:96)
at org.apache.felix.http.base.internal.handler.ServletHandler.handle(ServletHandler.java:79)
at org.apache.felix.http.base.internal.dispatch.ServletPipeline.handle(ServletPipeline.java:42)
at org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:49)
at org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
at org.apache.felix.http.base.internal.dispatch.FilterPipeline.dispatch(FilterPipeline.java:48)
at org.apache.felix.http.base.internal.dispatch.Dispatcher.dispatch(Dispatcher.java:39)
at org.apache.felix.http.base.internal.DispatcherServlet.service(DispatcherServlet.java:67)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:654)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:445)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:225)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1044)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:372)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:189)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:978)
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:369)
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:486)
at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:933)
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:995)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668)
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)
Caused by: java.lang.NumberFormatException: For input string: "rebased"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:492)
at java.lang.Integer.parseInt(Integer.java:527)
at org.osgi.framework.Version.parseInt(Version.java:168)
... 52 more