IBM Support

PH26607: IBM MQ MFT 'fteListAgents' command throws a java.lang.NullPointerException

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

  • When using 'fteListAgents' command, a
    'java.lang.NullPointerException' exception stack is reported
    instead of agent information, as follows:
    
    $ /opt/mqm/bin/fteListAgents
    5724-H72 Copyright IBM Corp.  2008, 2018.  ALL RIGHTS RESERVED
    
    Command executed at 2020-07-01 14:32:51 BST
    
    Coordination queue manager time 2020-07-01 13:32:52 UTC
    
    java.lang.NullPointerException
    at
    com.ibm.wmqfte.utils.AgentStatusDetails.getAgeOfAgentStatus(Agen
    tStatusDetails.java:1203)
    at
    com.ibm.wmqfte.api.ListAgents.displayResults(ListAgents.java:443
    )
    at com.ibm.wmqfte.api.ListAgents.main(ListAgents.java:308)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessor
    Impl.java:90)
    at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethod
    AccessorImpl.java:55)
    at java.lang.reflect.Method.invoke(Method.java:508)
    at
    com.ibm.wmqfte.agent.bootstrap.impl.BootstrapMain.run(BootstrapM
    ain.java:284)
    at
    com.ibm.wmqfte.agent.bootstrap.impl.BootstrapMain.main(Bootstrap
    Main.java:118)
    

Local fix

  • A workaround for this issue is to use the "-t" option to the
    'fteListAgents' command, which prevents the status age from
    being displayed, avoiding the cause of the
    'java.lang.NullPointerException'.
    

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    This issue affects users of IBM MQ Managed File Transfer, who
    are running the command:
    
      fteListAgents
    
    It also affects users of the MQExplorer, who are connecting to
    their MFT topology.
    
    
    Platforms affected:
    MultiPlatform
    
    ****************************************************************
    PROBLEM DESCRIPTION:
    When a IBM MQ MFT topology included data from older IBM MQ
    releases that did not publish agent status age data to the
    Coordination queue manager's Topics, when the newer version of
    'fteListAgents' command or IBM MQExplorer accessed the published
    data, it expected it to contain the agent status age.
    
    With it being absent, a 'java.lang.NullPointerException' was
    thrown instead of the expected agent listing being returned by
    the command.
    
    The Java exception stack output reported on the 'fteListAgents'
    command line was of the following form:
    
    $ /opt/mqm/bin/fteListAgents
    5724-H72 Copyright IBM Corp.  2008, 2018.  ALL RIGHTS RESERVED
    
    Command executed at 2020-07-01 14:32:51 BST
    
    Coordination queue manager time 2020-07-01 13:32:52 UTC
    
    java.lang.NullPointerException
            at
    com.ibm.wmqfte.utils.AgentStatusDetails.getAgeOfAgentStatus(Agen
    tStatusDetails.java:1203)
            at
    com.ibm.wmqfte.api.ListAgents.displayResults(ListAgents.java:443
    )
            at
    com.ibm.wmqfte.api.ListAgents.main(ListAgents.java:308)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
    Method)
            at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessor
    Impl.java:90)
            at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethod
    AccessorImpl.java:55)
            at java.lang.reflect.Method.invoke(Method.java:508)
            at
    com.ibm.wmqfte.agent.bootstrap.impl.BootstrapMain.run(BootstrapM
    ain.java:284)
            at
    com.ibm.wmqfte.agent.bootstrap.impl.BootstrapMain.main(Bootstrap
    Main.java:118)
    
    
    Users of the IBM MQExplorer who connected to the Managed File
    Transfer Configuration would also encounter a
    'java.lang.NullPointerException' dialog box, with a Java stack
    of the following form:
    
    !MESSAGE Problems occurred when invoking code from plug-in:
    "org.eclipse.jface".
    !STACK 0
    java.lang.NullPointerException
            at
    com.ibm.wmqfte.utils.AgentStatusDetails.getAgeOfAgentStatus(Agen
    tStatusDetails.java:1203)
            at
    com.ibm.wmqfte.explorer.content.AgentStatusAgeLabelProvider.getT
    ext(AgentContentPage.java:1220)
            at
    org.eclipse.jface.viewers.ColumnLabelProvider.update(ColumnLabel
    Provider.java:34)
            at
    org.eclipse.jface.viewers.ViewerColumn.refresh(ViewerColumn.java
    :141)
            at
    org.eclipse.jface.viewers.AbstractTableViewer.doUpdateItem(Abstr
    actTableViewer.java:391)
            at
    org.eclipse.jface.viewers.StructuredViewer$UpdateItemSafeRunnabl
    e.run(StructuredViewer.java:475)
            at
    org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
            at
    org.eclipse.ui.internal.JFaceUtil.lambda$0(JFaceUtil.java:44)
            at
    org.eclipse.ui.internal.JFaceUtil$$Lambda$8/000000008C53CDE0.run
    (Unknown Source)
            at
    org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:173)
            at
    org.eclipse.jface.viewers.StructuredViewer.updateItem(Structured
    Viewer.java:2159)
            at
    org.eclipse.jface.viewers.AbstractTableViewer.internalRefreshAll
    (AbstractTableViewer.java:674)
            at
    org.eclipse.jface.viewers.AbstractTableViewer.internalRefresh(Ab
    stractTableViewer.java:612)
            at
    org.eclipse.jface.viewers.AbstractTableViewer.internalRefresh(Ab
    stractTableViewer.java:604)
            at
    org.eclipse.jface.viewers.StructuredViewer.lambda$2(StructuredVi
    ewer.java:1508)
            at
    org.eclipse.jface.viewers.StructuredViewer$$Lambda$148/000000008
    DE91430.run(Unknown Source)
            at
    org.eclipse.jface.viewers.StructuredViewer.preservingSelection(S
    tructuredViewer.java:1447)
            at
    org.eclipse.jface.viewers.StructuredViewer.preservingSelection(S
    tructuredViewer.java:1408)
            at
    org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredVie
    wer.java:1508)
            at
    org.eclipse.jface.viewers.ColumnViewer.refresh(ColumnViewer.java
    :523)
            at
    org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredVie
    wer.java:1467)
            at
    com.ibm.wmqfte.explorer.content.AgentContentPage$8.run(AgentCont
    entPage.java:822)
            at
    org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:37)
            at
    org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchroniz
    er.java:182)
            at
    org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:45
    77)
            at
    org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:418
    6)
            at
    org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.r
    un(PartRenderingEngine.java:1150)
            at
    org.eclipse.core.databinding.observable.Realm.runWithDefault(Rea
    lm.java:336)
            at
    org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run
    (PartRenderingEngine.java:1039)
            at
    org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(
    E4Workbench.java:153)
            at
    org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:680)
            at
    org.eclipse.ui.internal.Workbench$$Lambda$14/000000008CE4EE60.ru
    n(Unknown Source)
            at
    org.eclipse.core.databinding.observable.Realm.runWithDefault(Rea
    lm.java:336)
            at
    org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbenc
    h.java:594)
            at
    org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:
    148)
            at
    com.ibm.mq.explorer.ui.rcp.internal.base.RcpApplication.start(Rc
    pApplication.java:152)
            at
    org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseApp
    Handle.java:196)
            at
    org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.run
    Application(EclipseAppLauncher.java:134)
            at
    org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.sta
    rt(EclipseAppLauncher.java:104)
            at
    org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStart
    er.java:388)
            at
    org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStart
    er.java:243)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
    Method)
            at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessor
    Impl.java:90)
            at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethod
    AccessorImpl.java:55)
            at java.lang.reflect.Method.invoke(Method.java:508)
            at
    org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:653)
            at
    org.eclipse.equinox.launcher.Main.basicRun(Main.java:590)
            at org.eclipse.equinox.launcher.Main.run(Main.java:1499)
            at
    org.eclipse.equinox.launcher.Main.main(Main.java:1472)
    

Problem conclusion

  • The IBM MQ MFT component has been updated to tolerate the
    absence of the agent age in agent publication information on the
    Topics on the Coordination queue manager.
    
    ---------------------------------------------------------------
    The fix is targeted for delivery in the following PTFs:
    
    Version    Maintenance Level
    v9.1 LTS   9.1.0.7
    v9.2 LTS   9.2.0.1
    v9.x CD    9.2.1
    
    The latest available MQ maintenance can be obtained from
    'WebSphere MQ Recommended Fixes'
    http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg27006037
    
    If the maintenance level is not yet available information on
    its planned availability can be found in 'WebSphere MQ
    Planned Maintenance Release Dates'
    http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg27006309
    ---------------------------------------------------------------
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH26607

  • Reported component name

    IBM MQ MFT Z/OS

  • Reported component ID

    5655MF900

  • Reported release

    910

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2020-06-18

  • Closed date

    2020-07-09

  • Last modified date

    2020-08-03

  • 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

    IBM MQ MFT Z/OS

  • Fixed component ID

    5655MF900

Applicable component levels

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSYHRD","label":"IBM MQ"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"910","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
05 August 2020