IBM Support

IV19701: USING SHARED CLASS WITH RE-TRANSFORMATION CAPABLE JVMTI AGENTS C AN RESULT IN SEGMENTATION FAULT OR JAVA.LANG.CLASSFORMATERROR

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Error Message: Segmentation Fault in libj9dyn26.so
    or
    java.lang.ClassFormatError exception
    .
    Stack Trace: j9bcutil_readClassFileBytes () from
    jre/lib/ppc/default/libj9dyn26.so
    lassFileParser::parseClassFile () from
    jre/lib/ppc/default/libj9dyn26.so
    ROMClassBuilder::buildROMClass () from
    jre/lib/ppc/default/libj9dyn26.so
    j9bcutil_buildRomClass () from jre/lib/ppc/default/libj9dyn26.so
    callDynamicLoader () from jre/lib/ppc/default/libj9dyn26.so
    internalLoadROMClass () from jre/lib/ppc/default/libj9dyn26.so
    reloadROMClasses () from jre/lib/ppc/default/libj9jvmti26.so
    redefineClassesCommon () from
    jre/lib/ppc/default/libj9jvmti26.so
    jvmtiRetransformClasses () from
    jre/lib/ppc/default/libj9jvmti26.so
    retransformClasses () from  jre/lib/ppc/libinstrument.so
    Java_sun_instrument_InstrumentationImpl_retransformClasses0 ()
    from jre/lib/ppc/libinstrument.so
    .
    

Local fix

  • This problem can be prevented by disabling the shared class
    cache using -Xshareclasses:none. It can also be worked around by
    removing the re-transformation capable JVMTI agent.
    

Problem summary

  • Problem is seen when the same shared class cache is used by
    multiple JVMs. In certain situations a JVM may store a
    re-transformed class in the shared cache such that one of the
    pointers in the class refers to the JVM's private memory. When
    another JVM tries to access this pointer, it may suffer a
    java.lang.ClassFormatError or a segmentation fault if that
    memory is not mapped in its address space.
    

Problem conclusion

  • This defect will be fixed in:
    7.0.0 SR1
    6.0.1 SR2
    .
    The JVM has been updated to prevent the pointer in the shared
    cache class from referring to memory outside the cache.
    

Temporary fix

Comments

APAR Information

  • APAR number

    IV19701

  • Reported component name

    J9 COMMON CODE

  • Reported component ID

    620700127

  • Reported release

    260

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2012-04-13

  • Closed date

    2012-04-13

  • Last modified date

    2012-04-13

  • 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

    J9 COMMON CODE

  • Fixed component ID

    620700127

Applicable component levels

  • R260 PSY

       UP

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSNVBF","label":"Runtimes for Java Technology"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"6.1","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
21 February 2022