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

Dieter Wimberger commented on FELIX-536:
----------------------------------------

Karl:

I actually reported this problem, because I was trying to understand the wiring 
process, with the help of the log messages that are turned off with the 
workaround and now disabled in the trunk.

In particular, what would you suggest to use for debugging to figure out why 
bundles with a Manifest Header that includes an ExecutionEnvironment 
specification
(i.e. Bundle-RequiredExecutionEnvironment=J2SE-1.5) needs to explicitly import 
certain packages like for example:
javax.xml.parsers
org.xml.sax.helpers

If not imported explicitly, ClassNotFoundExceptions are thrown.

Regards,
Dieter

> 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