Uploaded image for project: 'Aries'
  1. Aries
  2. ARIES-1102

Aries Subsystem/Application chokes on installed bundles without Bundle-ManifestVersion

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • Application
    • None

    Description

      I am trying aries-subsystem. The installation fails, if a bundle without Bundle-ManifestVersion in the manifest is installed.

      I actually was trying to install a feature subsystem containing a bundle that had a package import to org.slf4j. This failed if the org.slf4j:log4s-over-slf4j:1.6.5 bundle was installed. That latter bundle does not export (but import) the package required by the subsystem and does not have a Bundle-ManifestVersion in its manifest.

      The code failed at line 81 of ExportedBundleImpl from the org.apache.aries.application.modeling bundle. The offending code is:

      String bmVersion = attrs.getValue(Constants.BUNDLE_MANIFESTVERSION);
      if (symbolicName == null || bmVersion == null) {
      InvalidAttributeException iax = new InvalidAttributeException(MessageUtil.getMessage("INCORRECT_MANDATORY_HEADERS",
      new Object[]

      {symbolicName, bmVersion}

      ));
      logger.debug(LOG_EXIT, "ExportedBundleImpl", iax);
      throw iax;
      }

      I think the Bundle-ManifestVersion is not a required manifest header (in contrast to the Bundle-SymbolicName), so if bmVersion is null it should be set to "1" (the default according to the OSGi spec) instead of failing.

      Attachments

        1. patch.diff
          3 kB
          Stephan Siano

        Activity

          People

            Unassigned Unassigned
            siano Stephan Siano
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: