IV16500: DEADLOCK BETWEEN THREAD LOADING CLASS AND THREAD INVOKING JAVA.NET.URL.GETURLSTREAMHANDLER()

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

APAR status

  • Closed as program error.

Error description

  • Error Message: Deadlock between URL handler and Class loader
    .
    Stack Trace: 1LKDEADLOCK    Deadlock detected !!!
    NULL           ---------------------
    NULL
    2LKDEADLOCKTHR  Thread 'Non-deferrable Alarm : 0'
    (0x00000000012B8A00)
    3LKDEADLOCKWTR    is waiting for:
    4LKDEADLOCKMON      sys_mon_t:0x0000040014088C00 infl_mon_t:
    0x0000040014088C78:
    4LKDEADLOCKOBJ
    com/ibm/ws/bootstrap/ExtClassLoader@0x0000000010A7F940/0x0000000
    010A7F944:
    3LKDEADLOCKOWN    which is owned by:
    2LKDEADLOCKTHR  Thread 'PluginConfigService : 0'
    (0x0000000002229100)
    3LKDEADLOCKWTR    which is waiting for:
    4LKDEADLOCKMON      sys_mon_t:0x0000040014CD0588 infl_mon_t:
    0x0000040014CD0600:
    4LKDEADLOCKOBJ
    java/lang/Object@0x0000000010121CE0/0x0000000010121CE4:
    3LKDEADLOCKOWN    which is owned by:
    2LKDEADLOCKTHR  Thread 'Non-deferrable Alarm : 0'
    (0x00000000012B8A00)
    3XMTHREADINFO      'Non-deferrable Alarm : 0'
    J9VMThread:0x00000000012B8A00, j9thread_t:0x00000400064427E0,
    java/lang/Thread:0x00000000115A6F90, state:B, prio=5
    3XMTHREADINFO1            (native thread ID:0x612, native
    priority:0x5, native policy:UNKNOWN)
    3XMTHREADINFO2            (native stack address range
    from:0x0000040011EC0000, to:0x0000040011F00000, size:0x40000)
    3XMTHREADINFO3           Java callstack:
    4XESTACKTRACE                at
    java/lang/ClassLoader.loadClass(ClassLoader.java:630(Compiled
    Code))
    4XESTACKTRACE                at
    com/ibm/ws/bootstrap/ExtClassLoader.loadClass(ExtClassLoader.jav
    a:113(Compiled Code))
    4XESTACKTRACE                at
    java/lang/ClassLoader.loadClass(ClassLoader.java:612(Compiled
    Code))
    4XESTACKTRACE                at
    com/ibm/ws/eba/internal/framework/EBAClassLoader.loadClass(EBACl
    assLoader.java:86(Compiled Code))
    4XESTACKTRACE                at
    org/eclipse/osgi/launch/EquinoxFWClassLoader.loadClass(EquinoxFW
    ClassLoader.java:46(Compiled Code))
    4XESTACKTRACE                at
    java/lang/ClassLoader.loadClass(ClassLoader.java:638(Compiled
    Code))
    4XESTACKTRACE                at
    java/lang/ClassLoader.loadClass(ClassLoader.java:612(Compiled
    Code))
    4XESTACKTRACE                at
    sun/reflect/DelegatingClassLoader.loadClass(DelegatingClassLoade
    r.java:51)
    4XESTACKTRACE                at
    sun/misc/Unsafe.defineClass(Native Method)
    4XESTACKTRACE                at
    sun/reflect/ClassDefiner.defineClass(ClassDefiner.java:57)
    4XESTACKTRACE                at
    sun/reflect/MethodAccessorGenerator$1.run(MethodAccessorGenerato
    r.java:437)
    4XESTACKTRACE                at
    java/security/AccessController.doPrivileged(AccessController.jav
    a:203(Compiled Code))
    4XESTACKTRACE                at
    sun/reflect/MethodAccessorGenerator.generate(MethodAccessorGener
    ator.java:433)
    4XESTACKTRACE                at
    sun/reflect/MethodAccessorGenerator.generateMethod(MethodAccesso
    rGenerator.java:85(Compiled Code))
    4XESTACKTRACE                at
    sun/reflect/NativeMethodAccessorImpl.invoke(NativeMethodAccessor
    Impl.java:54(Compiled Code))
    4XESTACKTRACE                at
    sun/reflect/DelegatingMethodAccessorImpl.invoke(DelegatingMethod
    AccessorImpl.java:37(Compiled
    Code))
    4XESTACKTRACE                at
    java/lang/reflect/Method.invoke(Method.java:611(Compiled Code))
    4XESTACKTRACE                at
    org/eclipse/osgi/framework/internal/protocol/MultiplexingFactory
    .findAuthorizedFactory
    (MultiplexingFactory.java:128)
    4XESTACKTRACE                at
    org/eclipse/osgi/framework/internal/protocol/StreamHandlerFactor
    y.findAuthorizedURLStreamHandler
    (StreamHandlerFactory.java:194)
    4XESTACKTRACE                at
    org/eclipse/osgi/framework/internal/protocol/StreamHandlerFactor
    y.createURLStreamHandler
    (StreamHandlerFactory.java:112)
    4XESTACKTRACE                at
    java/net/URL.getURLStreamHandler(URL.java:1184(Compiled Code))
    4XESTACKTRACE                at
    java/net/URL.<init>(URL.java:405(Compiled Code))
    4XESTACKTRACE                at
    java/net/URL.<init>(URL.java:295(Compiled Code))
    4XESTACKTRACE                at
    java/security/CodeSource.getDecodedURL(CodeSource.java:344(Compi
    led Code))
    4XESTACKTRACE                at
    java/security/CodeSource.implies(CodeSource.java:357(Compiled
    Code))
    3XMTHREADINFO      'PluginConfigService : 0'
    J9VMThread:0x0000000002229100, j9thread_t:0x0000040011697280,
    java/lang/Thread:0x000000001514E678, state:B, prio=5
    3XMTHREADINFO1            (native thread ID:0xD88, native
    priority:0x5, native policy:UNKNOWN)
    3XMTHREADINFO2            (native stack address range
    from:0x00000400126E0000, to:0x0000040012720000, size:0x40000)
    3XMTHREADINFO3           Java callstack:
    4XESTACKTRACE                at
    java/net/URL.getURLStreamHandler(URL.java:1169(Compiled Code))
    4XESTACKTRACE                at
    java/net/URL.<init>(URL.java:405(Compiled Code))
    4XESTACKTRACE                at
    java/net/URL.<init>(URL.java:295(Compiled Code))
    4XESTACKTRACE                at
    java/security/CodeSource.getDecodedURL(CodeSource.java:344(Compi
    led Code))
    4XESTACKTRACE                at
    java/security/CodeSource.implies(CodeSource.java:358(Compiled
    Code))
    4XESTACKTRACE                at
    com/ibm/ws/security/policy/WSDynamicPolicy.getPermissions_s(WSDy
    namicPolicy.java:274(Compiled Code))
    .
    

Local fix

Problem summary

  • The synchronized block which loads classes and get called while
    a class is being loaded may end up in a deadlock situation.
    

Problem conclusion

  • This defect will be fixed in:
    6.0.0 SR11
    6.0.1 SR2
    .
    The JDK has been updated to minimize the synchronization to
    avoid the deadlock situation as sysnchronization is not required
    during class loading. The problem did not exist in JDK 7 as
    parallel class loading is allowed in JDK 7.
    

Temporary fix

Comments

APAR Information

  • APAR number

    IV16500

  • Reported component name

    JAVA CLASS LIBS

  • Reported component ID

    620700130

  • Reported release

    600

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2012-03-03

  • Closed date

    2013-10-04

  • Last modified date

    2013-10-04

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    JAVA CLASS LIBS

  • Fixed component ID

    620700130

Applicable component levels

  • R600 PSY

       UP



Rate this page:

(0 users)Average rating

Add comments

Document information


More support for:

Runtimes for Java Technology
Java Class Libraries

Software version:

6.0

Reference #:

IV16500

Modified date:

2013-10-04

Translate my page

Machine Translation

Content navigation