Details

    • Type: Bug Bug
    • Status: Open
    • Priority: Critical Critical
    • Resolution: Unresolved
    • Affects Version/s: 3.1
    • Fix Version/s: future release
    • Component/s: OSGi
    • Labels:
      None
    • Environment:

      Operating System: All
      Platform: All

      Description

      Two issues:
      a) lack of correct package constraints in their Import-Package header:
      Depending on they are consumers or providers, they should have appropriate upper
      bound. Most of them import infinite as upper bound. This won't work for
      providers, because a provider can only implement a certain package version range.
      Similarly the issue of lower bound. some bundles don't specify lower bounds
      while in practice they require a specific lower bound.

      b) too many packages exported: Packages like metro export everything and in the
      process they also leak implementation details.

      This is an umbrella issue. We will require each module owner to fix their
      modules and update this issue.

      1. bundles.xml
        482 kB
        Sanjeeb Sahoo

        Issue Links

          Activity

          Hide
          Chris Kasso added a comment -

          No additional work will be done on this issue for 3.1. For 3.2 Rajiv (3.2 lead) should work with Sahoo to determine which modules need additional work.

          Show
          Chris Kasso added a comment - No additional work will be done on this issue for 3.1. For 3.2 Rajiv (3.2 lead) should work with Sahoo to determine which modules need additional work.
          Hide
          Sanjeeb Sahoo added a comment -

          Updated dependency

          Show
          Sanjeeb Sahoo added a comment - Updated dependency
          Hide
          Sanjeeb Sahoo added a comment -

          Created an attachment (id=4535)
          Bundle metadata

          Show
          Sanjeeb Sahoo added a comment - Created an attachment (id=4535) Bundle metadata
          Hide
          Sanjeeb Sahoo added a comment -

          Now that we have made JAXB and JAX-WS packages part of system bundle even for
          Equinox (see svn revision #38298 and issue #11781), when I run QL on Equinox
          platform [1], I see quite a few failures. They are all related to following
          exceptions found in server.log:
          [#|2010-07-02T10:08:15.438+0530|SEVERE|glassfish3.1|javax.enterprise.system.core.com.sun.enterprise.v3.server|_ThreadID=40;_ThreadName=Thread-1;|Exception
          while loading the app
          org.glassfish.deployment.common.DeploymentException: Interceptor Class class
          numberguess.InterceptorA has no method annotated with interface
          javax.annotation.PostConstruct
          Caused by: java.lang.IllegalStateException: Interceptor Class class
          numberguess.InterceptorA has no method annotated with interface
          javax.annotation.PostConstruct
          [#|2010-07-02T10:09:06.867+0530|SEVERE|glassfish3.1|com.sun.xml.ws.server.http|_ThreadID=26;_ThreadName=Thread-1;|WSSERVLET11:
          failed to parse runtime descriptor: java.lang.IllegalArgumentException: class
          jaxwsfromwsdl.server.AddNumbersImpl has neither @WebService nor
          @WebServiceProvider annotation
          java.lang.IllegalArgumentException: class jaxwsfromwsdl.server.AddNumbersImpl
          has neither @WebService nor @WebServiceProvider annotation

          This indicates that some bundles are getting wired to JRE and some bundles are
          getting wired to some other OSGi bundles for the same class. When I look at the
          import package definitions, I see that quite a few bundles imprt packages with
          no version range. Given below is such a list generated from a workspace which is
          built in 1 July 2010:

          grep javax /home/ss141213/WS/hk2/trunk/dependency-verifier/bundles.xml | grep
          "[0.0.0" | grep -v javax.net | grep -v javax.management | grep -v javax.rmi |
          grep -v javax.xml.stream | grep -v javax.sql | grep -v javax.naming | grep -v
          javax.xml.transform | sort -u
          javax.annotation.security; version="[0.0.0, infinity)",\
          javax.annotation; version="[0.0.0, infinity)",\
          javax.ejb; version="[0.0.0, infinity)",\
          javax.el; version="[0.0.0, infinity)",\
          javax.enterprise.context.spi; version="[0.0.0, infinity)",\
          javax.enterprise.context; version="[0.0.0, infinity)",\
          javax.enterprise.event; version="[0.0.0, infinity)",\
          javax.enterprise.inject.spi; version="[0.0.0, infinity)",\
          javax.enterprise.inject; version="[0.0.0, infinity)",\
          javax.faces.application; version="[0.0.0, infinity)",\
          javax.faces.bean; version="[0.0.0, infinity)",\
          javax.faces.component.behavior; version="[0.0.0, infinity)",\
          javax.faces.component.html; version="[0.0.0, infinity)",\
          javax.faces.component; version="[0.0.0, infinity)",\
          javax.faces.component.visit; version="[0.0.0, infinity)",\
          javax.faces.context; version="[0.0.0, infinity)",\
          javax.faces.convert; version="[0.0.0, infinity)",\
          javax.faces.el; version="[0.0.0, infinity)",\
          javax.faces.event; version="[0.0.0, infinity)",\
          javax.faces.lifecycle; version="[0.0.0, infinity)",\
          javax.faces.model; version="[0.0.0, infinity)",\
          javax.faces.render; version="[0.0.0, infinity)",\
          javax.faces.validator; version="[0.0.0, infinity)",\
          javax.faces; version="[0.0.0, infinity)",\
          javax.faces.view.facelets; version="[0.0.0, infinity)",\
          javax.faces.view; version="[0.0.0, infinity)",\
          javax.faces.webapp; version="[0.0.0, infinity)",\
          javax.interceptor; version="[0.0.0, infinity)",\
          javax.jws.soap; version="[0.0.0, infinity)",\
          javax.jws; version="[0.0.0, infinity)",\
          javax.mail.internet; version="[0.0.0, infinity)",\
          javax.mail.util; version="[0.0.0, infinity)",\
          javax.mail; version="[0.0.0, infinity)",\
          javax.persistence; version="[0.0.0, infinity)",\
          javax.resource.spi; version="[0.0.0, infinity)",\
          javax.servlet.annotation; version="[0.0.0, infinity)",\
          javax.servlet.descriptor; version="[0.0.0, infinity)",\
          javax.servlet.http; version="[0.0.0, infinity)"
          javax.servlet.http; version="[0.0.0, infinity)",\
          javax.servlet.jsp.el; version="[0.0.0, infinity)",\
          javax.servlet.jsp.jstl.core; version="[0.0.0, infinity)",\
          javax.servlet.jsp.jstl.fmt; version="[0.0.0, infinity)",\
          javax.servlet.jsp.jstl.sql; version="[0.0.0, infinity)",\
          javax.servlet.jsp.tagext; version="[0.0.0, infinity)",\
          javax.servlet.jsp; version="[0.0.0, infinity)",\
          javax.servlet; version="[0.0.0, infinity)",\
          javax.validation.bootstrap; version="[0.0.0, infinity)",\
          javax.validation.constraints; version="[0.0.0, infinity)",\
          javax.validation.groups; version="[0.0.0, infinity)"
          javax.validation.groups; version="[0.0.0, infinity)",\
          javax.validation.metadata; version="[0.0.0, infinity)",\
          javax.validation; version="[0.0.0, infinity)",\
          javax.xml.bind.annotation.adapters; version="[0.0.0, infinity)",\
          javax.xml.bind.annotation; version="[0.0.0, infinity)",\
          javax.xml.bind.attachment; version="[0.0.0, infinity)",\
          javax.xml.bind; version="[0.0.0, infinity)",\
          javax.xml.soap; version="[0.0.0, infinity)",\
          javax.xml.ws; version="[0.0.0, infinity)",\

          The file containing bundle metadata is attached here with. See bundles.xml. Open
          that file, look at your bundle and see what Java EE packages without version
          constraint. Fix it please. To generate the file yourself, refer to the email
          that was sent to dev forum earlier.

          Chris,

          I have reassigned the issue to you, because this issue needs to be addressed by
          respective module owners and you are in a better position to coordinate that
          than me.

          [1] To run QL on Equinox, do the following:
          cd glassfish/osgi/equinox/
          wget
          http://download.eclipse.org/equinox/drops/R-3.5.1-200909170800/download.php?dropFile=org.eclipse.osgi_3.5.1.R35x_v20090827.jar
          export GlassFish_Platform=Equinox
          Now run QL. Please ensure you see this message in server.log:
          "startup time : Equinox"

          Show
          Sanjeeb Sahoo added a comment - Now that we have made JAXB and JAX-WS packages part of system bundle even for Equinox (see svn revision #38298 and issue #11781), when I run QL on Equinox platform [1] , I see quite a few failures. They are all related to following exceptions found in server.log: [#|2010-07-02T10:08:15.438+0530|SEVERE|glassfish3.1|javax.enterprise.system.core.com.sun.enterprise.v3.server|_ThreadID=40;_ThreadName=Thread-1;|Exception while loading the app org.glassfish.deployment.common.DeploymentException: Interceptor Class class numberguess.InterceptorA has no method annotated with interface javax.annotation.PostConstruct Caused by: java.lang.IllegalStateException: Interceptor Class class numberguess.InterceptorA has no method annotated with interface javax.annotation.PostConstruct [#|2010-07-02T10:09:06.867+0530|SEVERE|glassfish3.1|com.sun.xml.ws.server.http|_ThreadID=26;_ThreadName=Thread-1;|WSSERVLET11: failed to parse runtime descriptor: java.lang.IllegalArgumentException: class jaxwsfromwsdl.server.AddNumbersImpl has neither @WebService nor @WebServiceProvider annotation java.lang.IllegalArgumentException: class jaxwsfromwsdl.server.AddNumbersImpl has neither @WebService nor @WebServiceProvider annotation This indicates that some bundles are getting wired to JRE and some bundles are getting wired to some other OSGi bundles for the same class. When I look at the import package definitions, I see that quite a few bundles imprt packages with no version range. Given below is such a list generated from a workspace which is built in 1 July 2010: grep javax /home/ss141213/WS/hk2/trunk/dependency-verifier/bundles.xml | grep "[0.0.0" | grep -v javax.net | grep -v javax.management | grep -v javax.rmi | grep -v javax.xml.stream | grep -v javax.sql | grep -v javax.naming | grep -v javax.xml.transform | sort -u javax.annotation.security; version="[0.0.0, infinity)",\ javax.annotation; version="[0.0.0, infinity)",\ javax.ejb; version="[0.0.0, infinity)",\ javax.el; version="[0.0.0, infinity)",\ javax.enterprise.context.spi; version="[0.0.0, infinity)",\ javax.enterprise.context; version="[0.0.0, infinity)",\ javax.enterprise.event; version="[0.0.0, infinity)",\ javax.enterprise.inject.spi; version="[0.0.0, infinity)",\ javax.enterprise.inject; version="[0.0.0, infinity)",\ javax.faces.application; version="[0.0.0, infinity)",\ javax.faces.bean; version="[0.0.0, infinity)",\ javax.faces.component.behavior; version="[0.0.0, infinity)",\ javax.faces.component.html; version="[0.0.0, infinity)",\ javax.faces.component; version="[0.0.0, infinity)",\ javax.faces.component.visit; version="[0.0.0, infinity)",\ javax.faces.context; version="[0.0.0, infinity)",\ javax.faces.convert; version="[0.0.0, infinity)",\ javax.faces.el; version="[0.0.0, infinity)",\ javax.faces.event; version="[0.0.0, infinity)",\ javax.faces.lifecycle; version="[0.0.0, infinity)",\ javax.faces.model; version="[0.0.0, infinity)",\ javax.faces.render; version="[0.0.0, infinity)",\ javax.faces.validator; version="[0.0.0, infinity)",\ javax.faces; version="[0.0.0, infinity)",\ javax.faces.view.facelets; version="[0.0.0, infinity)",\ javax.faces.view; version="[0.0.0, infinity)",\ javax.faces.webapp; version="[0.0.0, infinity)",\ javax.interceptor; version="[0.0.0, infinity)",\ javax.jws.soap; version="[0.0.0, infinity)",\ javax.jws; version="[0.0.0, infinity)",\ javax.mail.internet; version="[0.0.0, infinity)",\ javax.mail.util; version="[0.0.0, infinity)",\ javax.mail; version="[0.0.0, infinity)",\ javax.persistence; version="[0.0.0, infinity)",\ javax.resource.spi; version="[0.0.0, infinity)",\ javax.servlet.annotation; version="[0.0.0, infinity)",\ javax.servlet.descriptor; version="[0.0.0, infinity)",\ javax.servlet.http; version="[0.0.0, infinity)" javax.servlet.http; version="[0.0.0, infinity)",\ javax.servlet.jsp.el; version="[0.0.0, infinity)",\ javax.servlet.jsp.jstl.core; version="[0.0.0, infinity)",\ javax.servlet.jsp.jstl.fmt; version="[0.0.0, infinity)",\ javax.servlet.jsp.jstl.sql; version="[0.0.0, infinity)",\ javax.servlet.jsp.tagext; version="[0.0.0, infinity)",\ javax.servlet.jsp; version="[0.0.0, infinity)",\ javax.servlet; version="[0.0.0, infinity)",\ javax.validation.bootstrap; version="[0.0.0, infinity)",\ javax.validation.constraints; version="[0.0.0, infinity)",\ javax.validation.groups; version="[0.0.0, infinity)" javax.validation.groups; version="[0.0.0, infinity)",\ javax.validation.metadata; version="[0.0.0, infinity)",\ javax.validation; version="[0.0.0, infinity)",\ javax.xml.bind.annotation.adapters; version="[0.0.0, infinity)",\ javax.xml.bind.annotation; version="[0.0.0, infinity)",\ javax.xml.bind.attachment; version="[0.0.0, infinity)",\ javax.xml.bind; version="[0.0.0, infinity)",\ javax.xml.soap; version="[0.0.0, infinity)",\ javax.xml.ws; version="[0.0.0, infinity)",\ The file containing bundle metadata is attached here with. See bundles.xml. Open that file, look at your bundle and see what Java EE packages without version constraint. Fix it please. To generate the file yourself, refer to the email that was sent to dev forum earlier. Chris, I have reassigned the issue to you, because this issue needs to be addressed by respective module owners and you are in a better position to coordinate that than me. [1] To run QL on Equinox, do the following: cd glassfish/osgi/equinox/ wget http://download.eclipse.org/equinox/drops/R-3.5.1-200909170800/download.php?dropFile=org.eclipse.osgi_3.5.1.R35x_v20090827.jar export GlassFish_Platform=Equinox Now run QL. Please ensure you see this message in server.log: "startup time : Equinox"
          Hide
          Richard S. Hall added a comment -

          cc heavy

          Show
          Richard S. Hall added a comment - cc heavy

            People

            • Assignee:
              Sanjeeb Sahoo
              Reporter:
              Sanjeeb Sahoo
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated: