IBM Support

IZ78168: ABSTRACTCOLLECTION.TOARRAY() THROWS NOSUCHELEMENTEXCEPTION

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Error Message: N/A
    .
    Stack Trace: java.util.NoSuchElementException
    at serp.util.LookaheadIterator.next(LookaheadIterator.java:57)
    at
    java.util.AbstractCollection.toArray(AbstractCollection.java:304
    )
    at
    com.exigen.ef.persistence.util.state.StateChangeListenerRegistry
    .notifyStateChanges(StateChangeListenerRegistry.java:79)
    at
    com.exigen.ef.persistence.util.state.StateManager.notifyStateCha
    nges(StateManager.java:824)
    at
    com.exigen.ef.persistence.util.state.StateManager.nofifyEntitiCo
    llectionAttributeChange(StateManager.java:785)
    at
    com.exigen.ef.persistence.util.state.BOMCollectionStateManager.n
    otifyListener(BOMCollectionStateManager.java:176)
    at
    com.exigen.ef.persistence.util.state.StateChangeListenerRegistry
    .notifyStateChanges(StateChangeListenerRegistry.java:92)
    at
    com.exigen.ef.persistence.util.state.BOMCollectionStateManager.n
    otifyStateChanges(BOMCollectionStateManager.java:171)
    at
    com.exigen.ef.persistence.util.state.BOMCollectionStateManager.n
    otifyEntityAttributeChange(BOMCollectionStateManager.java:109)
    at
    com.exigen.ef.persistence.util.state.StateManager.notifyListener
    (StateManager.java:837)
    at
    com.exigen.ef.persistence.util.state.StateChangeListenerRegistry
    .notifyStateChanges(StateChangeListenerRegistry.java:92)
    at
    com.exigen.ef.persistence.util.state.StateManager.notifyStateCha
    nges(StateManager.java:824)
    at
    com.exigen.ef.persistence.util.state.StateManager.notifySimpleAt
    tributeChange(StateManager.java:647)
    at
    com.exigen.ipb.infrastructure.CustomerJDO.setOccupation(Customer
    JDO.java:1487)
    .
    

Local fix

Problem summary

  • As to java.util.AbstractCollection.toArray() method, according
    to Java Spec:
    1. It should return an new array containing all the elements
    returned by its iterator. (the same order, consecutive stored,
    start from 0 index)
    2. The length of the new array is equal to the number of
    elements returned by its iterator. (The size of the collection
    may change during iteration in concurrent environment)
    Our implementation of this method may cause
    NoSuchElementException in such a concurrent environment:
    The size of collection may changed during iteration and iterator
    doesn't have next element when index is smaller than the
    previous size.
    

Problem conclusion

  • This defect will be fixed in:
    6.0.0 SR9
    .
    The java.util.AbstractCollection.toArray() method has been
    updated to prevent such an unexpected exception.
    .
    To obtain the fix:
    Install build 20100909 or later
    

Temporary fix

Comments

APAR Information

  • APAR number

    IZ78168

  • 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

    2010-06-29

  • Closed date

    2010-09-10

  • Last modified date

    2010-09-10

  • 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 PSN

       UP

[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSCVQ3Y","label":"Java Class Libraries"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"6.0","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
10 September 2010