IBM Support

IJ35605: DB CONNECTION LEAK IN CREWS APPLICATION

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

  • Description:
    
    The DB Connection watchdog is warning about a connection leak.
    
    The front-end steps are not clear but reading from the stack it
    shows that user is looking at workorder related records.
    The user may have been assigning using a lookup to set the AM
    Crew value.
    
    The problem code appears to be in:
    com.ibm.tivoli.maximo.amcrew.app.AMCrew.checkWorkPeriodMbo(AMCr
    ew.java:954)
    
    Java code
    
    /* */ private MboRemote checkWorkPeriodMbo(Date workdate) throws
    MXException, RemoteException {
    /* */ workdate = getCalDate(workdate);
    /* */ if (this.workperiodSet == null ||
    workdate.before(this.wpStartDate) ||
    workdate.after(this.wpEndDate))
    /* */ this.workperiodSet = getWorkPeriodSet(workdate);
    /* */ int i = 0;
    /* */ for (MboRemote mbo = this.workperiodSet.getMbo(i); mbo !=
    null; mbo = this.workperiodSet.getMbo(++i)) {
    /* */ Date mboDate = mbo.getDate("workdate");
    /* */ String mboCal = mbo.getString("calnum");
    /* */ String mboShift = mbo.getString("shiftnum");
    /* */ String mboOrg = mbo.getString("orgid");
    /* */ String calnum = getString("calnum");
    /* */ String shiftnum = getString("shiftnum");
    /* */ String orgid = getString("orgid");
    /* */ if (workdate.equals(mboDate) && calnum.equals(mboCal) &&
    shiftnum.equals(mboShift) && orgid.equals(mboOrg))
    /* */ return mbo;
    /* */ }
    /* */ return null;
    /* */ }
    
    The following code suggests that it will return and leave the
    mboset open if there are records that have not been processed.
    
    /* */ if (workdate.equals(mboDate) && calnum.equals(mboCal) &&
    shiftnum.equals(mboShift) && orgid.equals(mboOrg))
    
    RESULT:
    The DB connections are being leaked and causing memory
    leaks/issues on the database.
    
    The only workaround is to restart the JVM.
    
    All database connection leaks cause problems and need to be
    fixed to reduce the risk of JVM crashes.
    
    EXPECTED RESULT:
    The DB connection should be released / closed when the code has
    finished using the connection.
    The current code does not appear to do that.
    
    PRODUCT:
    TPAE 7610
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * All Maximo users using Crews                                 *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * DATABASE CONNECTIONLEAK IN CREWS APPLICATION                 *
    ****************************************************************
    * RECOMMENDATION:                                              *
    * DATABASE CONNECTIONLEAK IN CREWS APPLICATION                 *
    ****************************************************************
    

Problem conclusion

  • Fixed the code to close the mbo set when done
    

Temporary fix

Comments

APAR Information

  • APAR number

    IJ35605

  • Reported component name

    MAXIMO ASST MGM

  • Reported component ID

    5724R46AM

  • Reported release

    761

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2021-10-18

  • Closed date

    2021-10-21

  • Last modified date

    2021-10-21

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

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

Modules/Macros

  • MAXIMO
    

Fix information

  • Fixed component name

    MAXIMO ASST MGM

  • Fixed component ID

    5724R46AM

Applicable component levels

[{"Line of Business":{"code":"LOB59","label":"Sustainability Software"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSLKT6","label":"Maximo Asset Management"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"761"}]

Document Information

Modified date:
22 October 2021