OK - thanks. Sorry for being pushy. I know you're a busy guy.
/Bengt 2012/11/9 j...@nanthrax.net <j...@nanthrax.net> > Hi Bengt, > > I'm at the airport (back from ApacheCon and W-JAX). I will take a look > beginning of this afternoon. > > Regards > JB > > > -- > Jean-Baptiste Onofré > jbono...@apache.org > http://blog.nanthrax.net > Talend - http://wwx.talend.com > > > ----- Reply message ----- > From: "Bengt Rodehav" <be...@rodehav.com> > To: <user@karaf.apache.org> > Subject: Problems with ipojo in Karaf 2.3.0 > Date: Fri, Nov 9, 2012 8:59 am > > > JB, > > I will have to release our product very shortly. Do you think the > workaround I'm currently using is "safe" for production or should I wait > for your analysis? As far as I've tested it seems to work perfectly but I'm > a bit worried about the underlying cause to this. > > /Bengt > > > 2012/11/8 Bengt Rodehav <be...@rodehav.com> > >> 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 <be...@rodehav.com> >> >>> 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 <be...@rodehav.com> >>> >>>> 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 <be...@rodehav.com> >>>> >>>>> Thanks a lot JB, >>>>> >>>>> /Bengt >>>>> >>>>> >>>>> 2012/11/5 Jean-Baptiste Onofré <j...@nanthrax.net> >>>>> >>>>>> 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 <be...@rodehav.com <mailto:be...@rodehav.com >>>>>>> >> >>>>>>> >>>>>>> >>>>>>> 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 <be...@rodehav.com <mailto: >>>>>>> be...@rodehav.com>> >>>>>>> >>>>>>> >>>>>>> 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é >>>>>> jbono...@apache.org >>>>>> http://blog.nanthrax.net >>>>>> Talend - http://www.talend.com >>>>>> >>>>> >>>>> >>>> >>> >> >