Uploaded image for project: 'Felix'
  1. Felix
  2. FELIX-536

Threadlocks on ContentClassLoader by FelixDispatchQueue and FelixStartLevel threads when using log bundles

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Blocker
    • Resolution: Fixed
    • framework-1.0.3
    • framework-1.0.4
    • None
    • None
    • 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

    Description

      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/dev@felix.apache.org/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

      Attachments

        Activity

          People

            karlpauls Karl Pauls
            wimpi Dieter Wimberger
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: