Uploaded image for project: 'Weld'
  1. Weld
  2. WELD-1296

JDK deadlock while parsing annotations

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Won't Do
    • Icon: Critical Critical
    • None
    • 1.1.5.Final
    • Reflection layer
    • None

      Several times JBoss 7.1.1.Final is hanging during startup on Linux machines due to a deadlock in the JDK while parsing annotations:

      "MSC service thread 1-8":
      at java.lang.Class.initAnnotationsIfNecessary(Class.java:3067)

      • waiting to lock <0x00000000a40752c0> (a java.lang.Class for javax.enterprise.context.Dependent)
        at java.lang.Class.getAnnotation(Class.java:3029)
        at sun.reflect.annotation.AnnotationType.<init>(AnnotationType.java:113)
        at sun.reflect.annotation.AnnotationType.getInstance(AnnotationType.java:66)
      • locked <0x00000000a23a16f8> (a java.lang.Class for sun.reflect.annotation.AnnotationType)
        at sun.reflect.annotation.AnnotationParser.parseAnnotation(AnnotationParser.java:202)
        at sun.reflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:69)
        at sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:52)
        at java.lang.Class.initAnnotationsIfNecessary(Class.java:3070)
      • locked <0x00000000a4540cd0> (a java.lang.Class for com.asml.lcp.middleware.common.core.jms.TextMessageSender)
        at java.lang.Class.getAnnotations(Class.java:3050)
        at org.jboss.weld.introspector.jlr.WeldClassImpl.of(WeldClassImpl.java:118)
        at org.jboss.weld.resources.ClassTransformer$TransformTypeToWeldClass.apply(ClassTransformer.java:49)
        at org.jboss.weld.resources.ClassTransformer$TransformTypeToWeldClass.apply(ClassTransformer.java:40)
        ...
        "MSC service thread 1-1":
        at sun.reflect.annotation.AnnotationType.getInstance(AnnotationType.java:63)
      • waiting to lock <0x00000000a23a16f8> (a java.lang.Class for sun.reflect.annotation.AnnotationType)
        at sun.reflect.annotation.AnnotationParser.parseAnnotation(AnnotationParser.java:202)
        at sun.reflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:69)
        at sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:52)
        at java.lang.Class.initAnnotationsIfNecessary(Class.java:3070)
      • locked <0x00000000a40752c0> (a java.lang.Class for javax.enterprise.context.Dependent)
        at java.lang.Class.getAnnotations(Class.java:3050)
        at org.jboss.weld.introspector.jlr.WeldAnnotationImpl.of(WeldAnnotationImpl.java:56)
        at org.jboss.weld.resources.ClassTransformer$TransformClassToWeldAnnotation.apply(ClassTransformer.java:63)
        at org.jboss.weld.resources.ClassTransformer$TransformClassToWeldAnnotation.apply(ClassTransformer.java:54)
        ...

      The problem itself is located in the JDK but it seems that Oracle decided to ignore it... (see ticket references in WELD-1169).

              rhn-engineering-jharting Jozef Hartinger
              dirk-mahler Dirk Mahler (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: