Announcement Announcement Module
No announcement yet.
How to read resolver report Page Title Module
Move Remove Collapse
Conversation Detail Module
  • Filter
  • Time
  • Show
Clear All
new posts

  • How to read resolver report

    What is the problem here? Which of the three bundles does have a problem?
    The report is really hard to interpret.

    Resolver report:
    An Import-Package could not be resolved. Caused by missing constraint in bundle <com.xxxxx.xxxxx.server.security_1.0.0>
    constraint: <Import-Package:; version="0.0.0">
    Uses violation: <Import-Package: org.springframework.ldap; version="[1.3.0.RELEASE,1.4.0)"> in bundle < >
    Resolver reported uses conflict for import

  • #2
    I agree these kind of diagnostics are a pretty cryptic. We've put a lot of work in to making them simpler, but this one is still terse.

    It is not at all obvious which bundle is causing the problem. Indeed it may be due to a combination of bundles.

    However, the general principle is that a uses constraint violation always stems from an attempt to wire a related collection of bundles to two different versions of a given package. So the first thing to check is how many versions of the package org.springframework.ldap are present.

    You can use the admin console (OSGi tab) to explore the state dump in detail and see how many versions of the various packages were available when the resolution was attempted.

    Please let us know how you get on. If you can capture a simple test which reproduces this error, we can look at further improving our diagnostics in the fulness of time.


    • #3
      On the OSGi State tab, i do not see the any of the bundles i put in the repository/usr directory and therefore i have no information about how many of the same packages are installed. what can i do or do i have any misconfiguration here?

      It seems to be complicated to extract a simple usecase here since we want to use spring security and spring ldap to build a security infrastructure.


      • #4
        Please make sure you are examining the state dump which was generated when the resolver error occurred. If you view the "live" state, it won't contain anything that was brought in during the failed resolution. (This process is explained on a separate thread - if you can't find it and are interested, let me know.)


        • #5
          okay i found detailed information:

          therein i see that spring security is unsresolved (and implecitly also my application):

          1271841278799  	3.0.2.RELEASE  	  	 Unresolved
          If i click on unresoved, i get the following information, which is not that helpful:

          Bundle Symbolic Name
          Bundle Version 	3.0.2.RELEASE
          Bundle ID 	1271841278799
          Hosts/Fragments 	NA
          State 	Unresolved
          Cannot resolve:
              Unsatisfied leaf constraints:


          • #6
            I'm glad you can now explore the state dump. The simplest thing to look for is for multiple versions of the same bundle, especially any which export LDAP-related packages. You can also click on an exported package to see all the exporters of the package.

            Does that help at all?


            • #7
              I do not see duplicate package entries here. But what I had to do is to deploy also spring core, beans, etc. in version 2.5.6.SEC01 in repository/usr (beside of 3.0.2.RELEASE in repository/ext) because of the dependency of spring ldap.

              what i have seen in SpringSource EBR is "The following imports are not satisfied by the above bundles." when executing a detailed dependency analysis.

              Unfortunately, i do not understand what i have to do, when i get this message.


              • #8
                You cannot mix two versions of Spring as this is almost certain to give rise to the very problems you are seeing. So, since Spring LDAP currently requires a Spring framework version less than 3, you'll have to keep Spring 2.5.6.SEC01 and delete Spring 3.0.2.RELEASE. I recommend replacing Spring in repository/ext.