IBM Support

IV20824: JAVAHEAP ITERATOR RETURNS MULTIPLE INSTANCES OF THE SAME HEAP IN 2.3/2.4 JVMS

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Error Message: N/A
    .
    Stack Trace: N/A
    .
    Using jdmpview's info heap command the following output is
    printed out:
      Heap #1:  Default@80875cce8
       Section #1:  Heap extent at 0x827f01000 (0x18000000 bytes)
        Size:        402653184 bytes
        Shared:      false
        Executable:  false
        Read Only:   false
       Section #2:  Heap extent at 0x847f01000 (0x7333000 bytes)
        Size:        120795136 bytes
        Shared:      false
        Executable:  false
        Read Only:   false
       Section #3:  Heap extent at 0x84f234000 (0xccd000 bytes)
        Size:        13422592 bytes
        Shared:      false
        Executable:  false
        Read Only:   false
      Heap #2:  Default@80875cb08
       Section #1:  Heap extent at 0x827f01000 (0x18000000 bytes)
        Size:        402653184 bytes
        Shared:      false
        Executable:  false
        Read Only:   false
       Section #2:  Heap extent at 0x847f01000 (0x7333000 bytes)
        Size:        120795136 bytes
        Shared:      false
        Executable:  false
        Read Only:   false
       Section #3:  Heap extent at 0x84f234000 (0xccd000 bytes)
        Size:        13422592 bytes
        Shared:      false
        Executable:  false
        Read Only:   false
      Heap #3:  Default@80875cbf8
       Section #1:  Heap extent at 0x827f01000 (0x18000000 bytes)
        Size:        402653184 bytes
        Shared:      false
        Executable:  false
        Read Only:   false
       Section #2:  Heap extent at 0x847f01000 (0x7333000 bytes)
        Size:        120795136 bytes
        Shared:      false
        Executable:  false
        Read Only:   false
       Section #3:  Heap extent at 0x84f234000 (0xccd000 bytes)
        Size:        13422592 bytes
        Shared:      false
        Executable:  false
        Read Only:   false
    Note that all 3 heaps overlap in memory and there actually
    should only be one heap with three sections.
    The above data was obtaied using JavaRuntime's getHeaps()
    method, and subsequently JavaHeap's getSections().
    

Local fix

  • Note that this only affect DDR DTFJ when trying to read cores
    from 2.3/2.4 JVMs.  However DDR DTFJ is only shipped in 2.6 and
    up.
    Thus this problem only appears to people using 2.6 JVMs looking
    at 2.3/2.4 JVM core files.
    The fix/workaround is therefore to use java626sr2/java7sr1 or up
    when using DTFJ/jdmpview.
    

Problem summary

  • The problem is caused by an faulty implementation of
    JavaRunTime.getHeaps() which returns 'ImageSections' instead of
    the proper 'DTFJavaHeaps'.
    

Problem conclusion

  • This defect will be fixed in:
    7.0.0 SR1
    6.0.1 SR2
    .
    Fixed by having DTFJJavaHeaps be represented by J9MemorySpaces
    and ImageSections be represented by J9MemorySegments.
    

Temporary fix

Comments

APAR Information

  • APAR number

    IV20824

  • 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-05-08

  • Closed date

    2012-05-08

  • Last modified date

    2012-05-08

  • 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