[
https://issues.apache.org/jira/browse/ACE-482?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Marcel Offermans resolved ACE-482.
----------------------------------
Resolution: Fixed
Committed a fix and a test.
Please re-test and confirm if this fix solved your problem.
> Uploading an invalid bundle to ACE OBR, makes it unresponsive
> -------------------------------------------------------------
>
> Key: ACE-482
> URL: https://issues.apache.org/jira/browse/ACE-482
> Project: ACE
> Issue Type: Bug
> Components: OBR
> Affects Versions: 2.0.1
> Reporter: Philipp Buluschek
> Assignee: Marcel Offermans
> Priority: Minor
>
> 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
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)