PM03106: *ORB* DEADLOCK IN COM.IBM.RMI.IO.VALUEUITLITY

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • Error Message: Post migration to 142_SR13,the following deadlock
    may be seen at startup.
    1LKDEADLOCK    Deadlock detected !!!
    NULL           ---------------------
    NULL
    2LKDEADLOCKTHR  Thread "WebContainer : 39" (0x3DA8E5A8)
    3LKDEADLOCKWTR    is waiting for:
    4LKDEADLOCKMON      sys_mon_t:0x461EDEB8 infl_mon_t: 0x00000000:
    4LKDEADLOCKOBJ
    com.ibm.rmi.io.ValueUtility$ValueUtilityLock@88D73C50/88D73C58:
    3LKDEADLOCKOWN    which is owned by:
    2LKDEADLOCKTHR  Thread "WebContainer : 6" (0x458CBF28)
    3LKDEADLOCKWTR    which is waiting for:
    4LKDEADLOCKMON      sys_mon_t:0x461E25C8 infl_mon_t: 0x00000000:
    4LKDEADLOCKOBJ
    com.ibm.rmi.io.ValueUtility$ValueUtilityLock@88EC3A68/88EC3A70:
    3LKDEADLOCKOWN    which is owned by:
    2LKDEADLOCKTHR  Thread "WebContainer : 39" (0x3DA8E5A8)
    .
    Stack Trace: "WebContainer : 39" (TID:0x70C95E20,
    sys_thread_t:0x3DA8E5A8, state:CW, native ID:0xCE14) prio=5
    
    
        at
    com.ibm.rmi.io.ValueUtility$ValueUtilityLock.createTC(ValueUtili
    ty.java(Compiled Code))
    
        at
    com.ibm.rmi.io.ValueUtility$ValueUtilityLock.createValueTC(Value
    Utility.java(Compiled Code))
    
        at
    com.ibm.rmi.io.ValueUtility.createTypeCodeForClass(ValueUtility.
    java(Compiled Code))
    
        at
    com.ibm.rmi.io.ValueUtility.getTypeCode(ValueUtility.java(Compil
    ed Code))
    
        at
    com.ibm.rmi.io.ValueUtility.getTypeCode(ValueUtility.java(Compil
    ed Code))
    
        at
    com.ibm.rmi.io.ValueUtility.createTypeCodeForClass(ValueUtility.
    java(Compiled Code))
    
        at
    com.ibm.rmi.io.ValueUtility.getTypeCode(ValueUtility.java(Compil
    ed Code))
    
        at
    com.ibm.rmi.io.ValueUtility.getMembers(ValueUtility.java(Compile
    d Code))
    
        at
    com.ibm.rmi.io.ValueUtility.access$100(ValueUtility.java(Compile
    d Code))
    
        at
    com.ibm.rmi.io.ValueUtility$ValueUtilityLock.createTC(ValueUtili
    ty.java(Compiled Code))
    
        at
    com.ibm.rmi.io.ValueUtility$ValueUtilityLock.createValueTC(Value
    Utility.java(Compiled Code))
    
        at
    com.ibm.rmi.io.ValueUtility.createTypeCodeForClass(ValueUtility.
    java(Compiled Code))
    
        at
    com.ibm.rmi.io.ValueUtility.getTypeCode(ValueUtility.java(Compil
    ed Code))
    
        at
    com.ibm.rmi.io.ValueUtility.getMembers(ValueUtility.java(Compile
    d Code))
    
        at
    com.ibm.rmi.io.ValueUtility.translate(ValueUtility.java(Compiled
    Code))
    
        at
    com.ibm.rmi.util.RepositoryId.getFVDesc(RepositoryId.java(Compil
    ed Code))
    
        at
    com.ibm.rmi.util.RepositoryId.createForJavaType(RepositoryId.jav
    a(Compiled Code))
    
        at
    com.ibm.rmi.io.ValueUtility.createTypeCodeForClass(ValueUtility.
    java(Compiled Code))
    
        at
    com.ibm.rmi.io.ValueUtility.getTypeCode(ValueUtility.java(Compil
    ed Code))
    
        at
    com.ibm.rmi.io.ValueUtility.getTypeCode(ValueUtility.java(Compil
    ed Code))
    
        at
    com.ibm.rmi.io.ValueUtility.createTypeCodeForClass(ValueUtility.
    java(Compiled Code))
    
        at
    com.ibm.rmi.io.ValueUtility.getTypeCode(ValueUtility.java(Compil
    ed Code))
    
        at
    com.ibm.rmi.io.ValueUtility.translate(ValueUtility.java(Compiled
    Code))
    
        at
    com.ibm.rmi.util.RepositoryId.getFVDesc(RepositoryId.java(Compil
    ed Code))
    
        at
    com.ibm.rmi.util.RepositoryId.createForJavaType(RepositoryId.jav
    a(Compiled Code))
    
        at
    com.ibm.rmi.io.ValueUtility.getMembers(ValueUtility.java(Compile
    d Code))
    
        at
    com.ibm.rmi.io.ValueUtility.translate(ValueUtility.java(Compiled
    Code))
    
        at
    com.ibm.rmi.util.RepositoryId.getFVDesc(RepositoryId.java(Compil
    ed Code))
    
        at
    com.ibm.rmi.util.RepositoryId.createForJavaType(RepositoryId.jav
    a(Compiled Code))
    
        at
    com.ibm.rmi.util.RepositoryId.createForAnyType(RepositoryId.java
    (Compiled Code))
        at
    com.ibm.rmi.iiop.CDRInputStream.fast_read_value(CDRInputStream.j
    ava(Compiled Code))
        at
    com.ibm.rmi.iiop.CDRInputStream.read_value(CDRInputStream.java:2
    017)
    
        at
    com.a.b._RemoteService_Stub.remoteMethod(_RemoteService_Stub.jav
    a:249)
    .
    

Local fix

Problem summary

  • The problem was caused due to a synchronization issue in the
    ValueUtilityLock class when multiple threads try to initialize
    classes holding references to each other
    

Problem conclusion

  • This defect will be fixed in:
    5.0.0 SR12
    1.4.2 SR13 FP6
    The deadlock was resolved by using thread safe structures
    

Temporary fix

Comments

APAR Information

  • APAR number

    PM03106

  • Reported component name

    JAVA(1.3/1.4 CO

  • Reported component ID

    5648C9800

  • Reported release

    42A

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2009-12-10

  • Closed date

    2010-01-31

  • Last modified date

    2010-09-28

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

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

    PM03111 PM03112 IZ70316

Fix information

  • Fixed component name

    JAVA(1.3/1.4 CO

  • Fixed component ID

    5648C9800

Applicable component levels

  • R42A PSY

       UP



Rate this page:

(0 users)Average rating

Add comments

Document information


More support for:

z/OS family

Software version:

1.4.2

Reference #:

PM03106

Modified date:

2010-09-28

Translate my page

Machine Translation

Content navigation