Just a question Bengt,

do you confirm that you reproduce the issue by installing the ipojo and jpa feature (and not necessary by putting to featuresBoot) ?

First I'm going to test to set aries.util with dependency=true as it's already provided by the framework feature (and so in the startup.properties as well).

In any case, it doesn't make sense to define aries.util in jpa, jndi or application-without-isolation features, as it's already provided by the startup.properties.

However, the features definition (and startup.properties) is the same between Karaf 2.2.x and Karaf 2.3.x. So, I gonna dig to understand the change (in Karaf and Aries).

Regards
JB

On 11/09/2012 03:52 PM, Bengt Rodehav wrote:
Thanks for the info and your effort,

/Bengt


2012/11/9 Jean-Baptiste Onofré <[email protected] <mailto:[email protected]>>

    Hi Bengt,

    just back home ;)

    We found an issue around Aries Blueprint (around graceperiod and
    deadlock especially). I gonna work on your issue this afternoon and
    see to fix it on Aries.

    Regards
    JB


    On 11/08/2012 10:41 AM, Bengt Rodehav wrote:

        I just tried doing the same thing using Karaf 2.2.9, that is:

           * Add an ipojo feature
           * Add the jpa and ipojo feature to featuresBoot


        This works without any problems. Of course, Karaf 2.2.9 uses
        org.apache.aries.util version 0.3.1 while Karaf 2.3.0 uses version
        1.0.0. One of my main reasons for upgrading Karaf is in fact to
        upgrade
        Aries to a modern version.

        Don't know if this means that the problem lies within Aries or
        not. I
        still think that there is something fishy going on in Karaf.

        /Bengt


        2012/11/8 Bengt Rodehav <[email protected]
        <mailto:[email protected]> <mailto:[email protected]
        <mailto:[email protected]>>>


             Hello JB,

             Just wanted to check whether you've managed to recreate
        this and
             possibly explain what is happening. I'm wondering if there
        might be
             a problem with the implementation of the feature
        functionality which
             is why I don't want this in production yet (but I have to
        upgrade
             our production servers very soon).

             My reasoning is as follows: If the org.apache.aries.util
        bundle is
             already installed (and possibly active - don't know what
        the timing
             looks like) then installing a feature containing the
             org.apache.aries.util bundle should be a noop - right? But
             apparently the feature functionality does something
        regarding this
             bundle anyway. What should it do? Why should it do anything?

             /Bengt


             2012/11/7 Bengt Rodehav <[email protected]
        <mailto:[email protected]> <mailto:[email protected]
        <mailto:[email protected]>>>


                 The workaround I'm currently using is to modify the
                 enterprise-2.3.0-features.xml so that the *jpa* feature
        and the
                 *jndi* feature no longer include the org.apache.aries.util

                 bundle. Then everything seems to work (the
        org.apache.aries.util
                 bundle is installed anyway thanks to startup.properties).

                 However, I still don't feel comfortable putting this into
                 production until I know what is happening.

                 /Bengt




                 2012/11/5 Bengt Rodehav <[email protected]
        <mailto:[email protected]>
                 <mailto:[email protected] <mailto:[email protected]>>>


                     Thanks a lot JB,

                     /Bengt


                     2012/11/5 Jean-Baptiste Onofré <[email protected]
        <mailto:[email protected]>
                     <mailto:[email protected] <mailto:[email protected]>>>


                         Hi Bengt,

                         thanks for the detailed explanation.

                         I will try to create a use case (without iPojo) to
                         reproduce the issue (in combination with jpa
        feature).

                         Regards
                         JB


                         On 11/05/2012 04:59 PM, Bengt Rodehav wrote:

                             Some more findings...

                             It seems like the Karaf Shell
                             (org.apache.karaf.shell.____console) bundle

                             uses packages from aries (e g
                             org.apache.aries.blueprint) which in turn
                             uses packages from org.apache.aries.util.
        Could it
                             be that when
                             the org.apache.aries.util bundle is
        installed as
                             part of the jpa
                             feature, it somehow causes a refresh which
        causes
                             dependent bundles
                             (such as the org.apache.karaf.shell.console
        bundle)
                             to be rewired. This
                             in turn would probably reinitialize the
        console (I'm
                             probably using the
                             wrong terminology here but you know what I
        mean...).

                             If that is the case, then it seems highly
                             undesirable to include
                             the org.apache.aries.util bundle in the jpa
        feature.

                             I don't have an explanation as to why this
        problem
                             only occurs together
                             with iPojo but I assume that it somehow
        triggers the
                             refresh.

                             /Bengt


                             2012/11/5 Bengt Rodehav <[email protected]
        <mailto:[email protected]>
                             <mailto:[email protected]
        <mailto:[email protected]>> <mailto:[email protected]
        <mailto:[email protected]>

                             <mailto:[email protected]
        <mailto:[email protected]>>>>


                                  BTW, I tried using iPojo 1.6.8 instead
        to see
                             if this is a problem
                                  introduced in later iPojo versions. I do,
                             however, get the same
                                  problems using iPojo 1.6.8 which
        implies that
                             it's not a newly
                                  introduced iPojo problem.

                                  /Bengt


                                  2012/11/5 Bengt Rodehav
        <[email protected] <mailto:[email protected]>
                             <mailto:[email protected]
        <mailto:[email protected]>> <mailto:[email protected]
        <mailto:[email protected]>

                             <mailto:[email protected]
        <mailto:[email protected]>>>>


                                      I'm trying to upgrade my custom Karaf
                             distribution to Karaf
                                      2.3.0 but have ran into some
        problems. It
                             seems there is some
                                      kind of conflict between ipojo
        1.8.2 and
                             the jpa feature -
                                      specifically the org.apache.aries.util
                             bundle in the jpa feature.

                                      I install ipojo as a feature (not
        listed in
                             startup.properties).
                                      But when I do this I get the following
                             exception:

                                      /2012-11-05 15:51:20,251 | INFO  | l
                             Console Thread | Console

                                                              |
                             araf.shell.console.jline.____Console  199

                                      | 14 -
        org.apache.karaf.shell.console -
                             2.3.0 | Exception caught
                                      while executing command/

          /java.lang.____UnsupportedOperationException:

                             read() with timeout
                                      cannot be called as non-blocking
        operation
                             is disabled/
                                      /at


        
jline.internal.____NonBlockingInputStream.read(____NonBlockingInputStream.java:____134)[14:org.apache.karaf.____shell.console:2.3.0]/
                                      /at


        
jline.internal.____NonBlockingInputStream.read(____NonBlockingInputStream.java:____246)[14:org.apache.karaf.____shell.console:2.3.0]/
                                      /at


        
jline.internal.____InputStreamReader.read(____InputStreamReader.java:259)[____14:org.apache.karaf.shell.____console:2.3.0]/
                                      /at


        
jline.internal.____InputStreamReader.read(____InputStreamReader.java:196)[____14:org.apache.karaf.shell.____console:2.3.0]/
                                      /at


        
jline.console.ConsoleReader.____readCharacter(ConsoleReader.____java:1974)[14:org.apache.____karaf.shell.console:2.3.0]/
                                      /at


        
jline.console.ConsoleReader.____readLine(ConsoleReader.java:____2174)[14:org.apache.karaf.____shell.console:2.3.0]/
                                      /at


        
jline.console.ConsoleReader.____readLine(ConsoleReader.java:____2098)[14:org.apache.karaf.____shell.console:2.3.0]/
                                      /at


        
org.apache.karaf.shell.____console.jline.Console.____readAndParseCommand(Console.____java:235)[14:org.apache.karaf.____shell.console:2.3.0]/
                                      /at


        
org.apache.karaf.shell.____console.jline.Console.run(____Console.java:171)[14:org.____apache.karaf.shell.console:2.____3.0]/
                                      /at

        java.lang.Thread.run(Thread.____java:662)[:1.6.0_32]/



                                      Then it seems like Karaf (or Felix)
                             restarts somehow since I get
                                      another "Karaf" logo in the
        console. The
                             issue can be reproduced
                                      quite easily:

                                      1. Download a fresh Karaf 2.3.0

                                      2. Create a new feature containing the
                             ipojo bundle. The easiest
                                      way is probably to add the
        following lines
                             to the
                                      enterprise-2.3.0-features.xml in the
                             "system" folder:

                                           <feature name="ipojo">



        
<bundle>mvn:org.apache.felix/____org.apache.felix.ipojo/1.8.2<__/__bundle>
                                           </feature>

                                      3. Edit the
                             etc/org.apache.karaf.features.____cfg as
        follows:



        featuresBoot=config,ssh,____management,kar,jpa,ipojo


                                      Some other obeservations:

                                      - If I switch the jpa and the ipojo
                             features I get other exceptions.

                                      - The org.apache.aries.util bundle
        is part
                             of the jpa feature
                                      (start level 30) but it is also
        present in
                             startup.properties
                                      (start level 20).

                                      - If I remove the
        org.apache.aries.util
                             bundle from the jpa
                                      feature then things seem to work.

                                      - If I install ipojo by using
                             startup.properties instead of
                                      using a feature then things seem
        to work.

                                      The last two observations might
        imply that
                             org.apache.aries.util
                                      and ipojo must be resolved at the
        same time
                             (start levels do not
                                      make any difference).

                                      I'm not sure if this post belongs
        here or
                             in Felix mailing list.
                                      However, since it seems to involve the
                             enterprise features that
                                      is part of Karaf I try here first.
        It's
                             very confusing. Although
                                      I have found a couple of
        work-arounds I
                             don't feel comfortable
                                      using them since I don't know what is
                             happening.

                                      Does anyone have a clue?

                                      /Bengt




                         --
                         Jean-Baptiste Onofré
        [email protected] <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>>

        http://blog.nanthrax.net
                         Talend - http://www.talend.com






    --
    Jean-Baptiste Onofré
    [email protected] <mailto:[email protected]>
    http://blog.nanthrax.net
    Talend - http://www.talend.com



--
Jean-Baptiste Onofré
[email protected]
http://blog.nanthrax.net
Talend - http://www.talend.com

Reply via email to