[ 
https://issues.apache.org/jira/browse/FELIX-536?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12588487#action_12588487
 ] 

Karl Pauls commented on FELIX-536:
----------------------------------

You can still receive wiring debug messages. They are send to System.out if the 
debug level is 4. Furthermore, Felix accepts a Logger in it's constructor which 
it will log to in case stdout is not an option.

> Threadlocks on ContentClassLoader by FelixDispatchQueue and FelixStartLevel 
> threads when using log bundles
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: FELIX-536
>                 URL: https://issues.apache.org/jira/browse/FELIX-536
>             Project: Felix
>          Issue Type: Bug
>    Affects Versions: felix-1.0.3
>         Environment: 1.6.0_03-b05;Sun Microsystems Inc.;mixed mode, 
> sharing;Linux;32 bit JVM
> and
> 1.5.0_13-119;Apple Inc.;mixed mode, sharing;Mac OS X;32 bit JVM
>            Reporter: Dieter Wimberger
>            Assignee: Karl Pauls
>            Priority: Blocker
>             Fix For: felix-1.0.4
>
>
> Sometimes Felix gets stuck at startup with a threadlock when using a log 
> bundle,  including the Felix provided log bundle.
> jdb reveals the following information:
> FelixDispatchQueue[1] threadlocks 0x3c1
> Monitor information for thread FelixDispatchQueue:
>   Owned monitor: instance of 
> org.apache.felix.framework.searchpolicy.ContentClassLoader(id=970)
>    Waiting for monitor: instance of 
> org.apache.felix.moduleloader.ModuleFactoryImpl(id=971)
> FelixDispatchQueue[1] threadlocks 0x3c0
> Monitor information for thread FelixStartLevel:
>   Owned monitor: instance of 
> org.apache.felix.moduleloader.ModuleFactoryImpl(id=971)
>    Waiting for monitor: instance of 
> org.apache.felix.framework.searchpolicy.ContentClassLoader(id=970)
> FelixStartLevel[1] where
>   [1] sun.misc.Unsafe.defineClass (native method)
>   [2] sun.reflect.ClassDefiner.defineClass (ClassDefiner.java:45)
>   [3] sun.reflect.MethodAccessorGenerator$1.run 
> (MethodAccessorGenerator.java:381)
>   [4] java.security.AccessController.doPrivileged (native method)
>   [5] sun.reflect.MethodAccessorGenerator.generate 
> (MethodAccessorGenerator.java:377)
>   [6] sun.reflect.MethodAccessorGenerator.generateMethod 
> (MethodAccessorGenerator.java:59)
>   [7] sun.reflect.NativeMethodAccessorImpl.invoke 
> (NativeMethodAccessorImpl.java:28)
>   [8] sun.reflect.DelegatingMethodAccessorImpl.invoke 
> (DelegatingMethodAccessorImpl.java:25)
>   [9] java.lang.reflect.Method.invoke (Method.java:585)
>   [10] org.apache.felix.framework.Logger._logReflectively (Logger.java:163)
>   [11] org.apache.felix.framework.Logger._log (Logger.java:143)
>   [12] org.apache.felix.framework.Logger.log (Logger.java:81)
>   [13] org.apache.felix.framework.searchpolicy.R4SearchPolicyCore.createWires 
> (R4SearchPolicyCore.java:2,154)
>   [14] org.apache.felix.framework.searchpolicy.R4SearchPolicyCore.resolve 
> (R4SearchPolicyCore.java:1,034)
>   [15] org.apache.felix.framework.Felix._resolveBundle (Felix.java:1,693)
>   [16] org.apache.felix.framework.Felix._startBundle (Felix.java:1,566)
>   [17] org.apache.felix.framework.Felix.startBundle (Felix.java:1,519)
>   [18] org.apache.felix.framework.Felix.setFrameworkStartLevel 
> (Felix.java:1,104)
>   [19] org.apache.felix.framework.StartLevelImpl.run (StartLevelImpl.java:258)
>   [20] java.lang.Thread.run (Thread.java:613)
> FelixDispatchQueue[1] where
>   [1] org.apache.felix.framework.searchpolicy.R4SearchPolicyCore.resolve 
> (R4SearchPolicyCore.java:989)
>   [2] 
> org.apache.felix.framework.searchpolicy.R4SearchPolicyCore.findClassOrResource
>  (R4SearchPolicyCore.java:374)
>   [3] org.apache.felix.framework.searchpolicy.R4SearchPolicyCore.findClass 
> (R4SearchPolicyCore.java:186)
>   [4] org.apache.felix.framework.searchpolicy.R4SearchPolicy.findClass 
> (R4SearchPolicy.java:45)
>   [5] org.apache.felix.framework.searchpolicy.ContentClassLoader.loadClass 
> (ContentClassLoader.java:109)
>   [6] java.lang.ClassLoader.loadClass (ClassLoader.java:251)
>   [7] java.lang.ClassLoader.loadClassInternal (ClassLoader.java:374)
> I have been reading 
> http://www.mail-archive.com/[email protected]/msg03142.html
> But I think that it does not really provide a "solution" to this problem and 
> that this is an issue in the framework implementation. I don't think that the 
> specification of the LogService implies that it cannot be configurable or 
> loading any classes.....
> Regards,
> Dieter

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to