> That is excellent news, especially since it helps us to debug the
> situation...now I can go beat on Karl... ;-)

:-)

> -> richard


> > Hi Richard,
> >
> > I've "solved" the issue by commenting out the static initialisation in 
> > ExtensionManager. It's still completely obscure for me, I just searched the 
> > code and found this "felix://extension" URL that was only refered there.
> >
> > Now eveything looks OK (at least I can run log4j correctly, and instantiate 
> > a "SimpleDateFormat". Of course now I have to test the complete 
> > application...
> >
> > I put some output traces in the code, and it turned out that there was an 
> > (almost) infinite recursion in UrlHandlers.createURLStreamHandler, trying 
> > to create a streal handler for the "felix" protocol.

Interesting. I'll look into it but it sounds like a bug in classpath
(however, we need to find at least a workaround). Thanks for looking
into this issue.

regards,

Karl

> > Conerning jamvm, for these tests I used a debian package.
> >
> > Best regards,
> >
> > Anne
> >
> >
> > -----Message d'origine-----
> > De : Richard S. Hall [mailto:[EMAIL PROTECTED]
> > Envoyé : mardi 4 décembre 2007 16:40
> > À : [email protected]
> > Objet : Re: Problem with log4j on felix and jamvm
> >
> > Well, the issue for me is that I currently cannot compile JamVM for fedora 
> > (my machine's gcc installation seems to be messed up somehow and I have 
> > been unable to fix it)...I will work on getting JamVM working...if anyone 
> > knows of some binary RPMs for it and/or GNU Classpath that would greatly 
> > help.
> >
> > Once I can run JamVM, then perhaps you can send me a boiled down example to 
> > recreate the situation...feel free to send it any time.
> >
> > -> richard
> >
> > GERODOLLE Anne RD-MAPS-GRE wrote:
> >
> >> Hi Richard,
> >>
> >> I've just tried with the last version of felix, that is : I've updated 
> >> from svn, then run "mvn install" from the "main" folder. This downloaded 
> >> the dependencies from the central repository.
> >>
> >> Now, here is what happens on jamvm (note that everything works alright on 
> >> Sun's vm):
> >>
> >> If I run jamvm without parameters /usr/bin/jamvm -jar bin/felix.jar, and 
> >> without any changes to the generated configuration file :
> >> I get first an "unknown protocol: http" when the obr bundle is loaded, 
> >> which I ignore (because I only want to install bundles from the file 
> >> system, and it works).
> >>
> >> Then, I install the log4j bundle from felix, and then my small example .
> >> Instantiation of the Level class now works (no more "Duplicate class").
> >> but I get : "Unknown protocol: felix" in the initializarion of
> >> LogManager, when calling Logger.getLogger(...); This semms to be in fact 
> >> the same problem as with the HTTP service :
> >> log4j uses "AbsoluteTimeDateFormat", which in turn calls 
> >> Calendar.getInstance, and this results into this "unknown protocol: felix".
> >>
> >> If now I type "-Djava.protocol.handle.pkg=gnu.java.net.protocol , the 
> >> problem with "unknown protocol: http" disappears but the "unknown 
> >> protocol: felix" stay.
> >>
> >> If I choose "-Dfelix.service.urlhandlers=false", the calls to 
> >> Calendar.newInstance simply hang (looks like a deadlock), and the "start" 
> >> method of an activator calling "new SimpleDateFormat" just never returns.
> >>
> >> I agree with you that I have to solve the URL handler issue in felix 1.0.1 
> >> . But I have no clue how to proceed.
> >>
> >> Best regards,
> >>
> >> Anne
> >>
> >>
> >> -----Message d'origine-----
> >> De : Richard S. Hall [mailto:[EMAIL PROTECTED] Envoyé : lundi 3
> >> décembre 2007 21:26 À : [email protected] Objet : Re: Problem
> >> with log4j on felix and jamvm
> >>
> >> I believe there was a synchronization bug in class loading in Felix 0.8.0 
> >> that opened a window for defining the same class more than once...this was 
> >> fixed in later versions of Felix...so, you might want to go back to trying 
> >> to solve the URL handler issue on Felix 1.0.1...perhaps you should try the 
> >> latest trunk build, since there were some changes that might impact the 
> >> URL handler stuff...regardless, were better off trying to get you on 1.0.x 
> >> than 0.8.0...
> >>
> >> -> richard
> >>
> >> GERODOLLE Anne RD-MAPS-GRE wrote:
> >>
> >>
> >>> Hi all,
> >>>
> >>> I got into classloading problems using log4j on felix and jamvm, as
> >>> soon as I try to use log4j, for example calling Logger.getLogger.
> >>> I'm including below a piece of code that exhibits the problem.
> >>> The corresponding bundle works OK on felix on sun's VM .
> >>> It works OK on prosyst mbs on jamvm.
> >>>
> >>> On felix on jamvm, I obtain a "duplicate class error", whether I'm
> >>> using the log4j bundle from felix or embedding directly log4j in my
> >>> test bundle.
> >>>
> >>> I'm using felix-0.8.0, due to unresolved problems with felix 1.0.1 on
> >>> jamvm I mentionned earlier on this list ("unknown protocol: felix").
> >>>
> >>> I have found a workaround : loading the "Priority" class in advance,
> >>> by adding a line like Priority debug = Priority.DEBUG; But this means
> >>> that I have to change the code of all bundles that use log4j :(
> >>>
> >>> Here is the "start" method of my activator :
> >>>
> >>> public void start(BundleContext context){
> >>>     System.out.println("defining a variable of the
> >>> org.apache.log4j.Level class");
> >>>     org.apache.log4j.Level level;
> >>>     System.out.println("now trying to instantiate this variable");
> >>>     level=org.apache.log4j.Level.DEBUG;
> >>> }
> >>>
> >>> And here is the stack trace :
> >>> ERROR: Error starting
> >>> file:/home/gerodol/.m2/repository/com/francetelecom/osgi/test/log4j-t
> >>> e st /0.1-SNAPSHOT/log4j-test-0.1-SNAPSHOT.jar
> >>> (org.osgi.framework.BundleException: Activator start error.)
> >>> java.lang.NoClassDefFoundError: org/apache/log4j/Level
> >>>    at com.francetelecom.test.LoggerTest.start(LoggerTest.java:38)
> >>>    at
> >>> org.apache.felix.framework.util.SecureAction.startActivator(SecureAct
> >>> i
> >>> on
> >>> .java:509)
> >>>    at org.apache.felix.framework.Felix._startBundle(Felix.java:1260)
> >>>    at org.apache.felix.framework.Felix.startBundle(Felix.java:1201)
> >>>    at
> >>> org.apache.felix.framework.Felix.setFrameworkStartLevel(Felix.java:807)
> >>>    at
> >>> org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:256)
> >>>    at java.lang.Thread.run(Thread.java:710)
> >>> Caused by: java.lang.LinkageError: duplicate class definition
> >>>    at java.lang.VMClassLoader.defineClass(Native Method)
> >>>    at
> >>> java.lang.VMClassLoader.defineClassWithTransformers(VMClassLoader.jav
> >>> a
> >>> :3
> >>> 74)
> >>>    at java.lang.ClassLoader.defineClass(ClassLoader.java:472)
> >>>    at java.lang.ClassLoader.defineClass(ClassLoader.java:437)
> >>>    at
> >>> org.apache.felix.framework.searchpolicy.ContentClassLoader.findClass(
> >>> C
> >>> on
> >>> tentClassLoader.java:149)
> >>>    at
> >>> org.apache.felix.framework.searchpolicy.ContentClassLoader.loadClassF
> >>> r
> >>> om
> >>> Module(ContentClassLoader.java:51)
> >>>    at
> >>> org.apache.felix.framework.searchpolicy.ContentLoaderImpl.getClass(Co
> >>> n
> >>> te
> >>> ntLoaderImpl.java:121)
> >>>    at
> >>> org.apache.felix.framework.searchpolicy.R4SearchPolicyCore.findClassO
> >>> r
> >>> Re
> >>> source(R4SearchPolicyCore.java:358)
> >>>    at
> >>> org.apache.felix.framework.searchpolicy.R4SearchPolicyCore.findClass(
> >>> R
> >>> 4S
> >>> earchPolicyCore.java:136)
> >>>    at
> >>> org.apache.felix.framework.searchpolicy.R4SearchPolicy.findClass(R4Se
> >>> a
> >>> rc
> >>> hPolicy.java:45)
> >>>    at
> >>> org.apache.felix.framework.searchpolicy.ContentClassLoader.loadClass(
> >>> C
> >>> on
> >>> tentClassLoader.java:70)
> >>>    at java.lang.ClassLoader.loadClass(ClassLoader.java:294)
> >>>    at com.francetelecom.test.LoggerTest.start(LoggerTest.java:38)
> >>>
> >>> Thanks in advance,
> >>>
> >>> Anne
> >>>
> >>> ---------------------------------------------------------------------
> >>> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >>> For additional commands, e-mail: [EMAIL PROTECTED]
> >>>
> >>>
> >>>
> >>>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >> For additional commands, e-mail: [EMAIL PROTECTED]
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >> For additional commands, e-mail: [EMAIL PROTECTED]
> >>
> >>
> >>
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


-- 
Karl Pauls
[EMAIL PROTECTED]

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to