IBM Support

JR45318: STRINGS CONTAINING NULL BYTES (\0) ARE NOT HANDLED PROPERLY WHEN EDITING DATA IN PROCESS INSPECTOR

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • There is a Stored Procedure(SQLResult)) to fetch data in the
    form of dates.
    
    Sometimes the data returned contains invalid values for date so
    the stored procedure call fails. The following error is seen on
    the Process Inspector
    
    Error: Runtime error in script ("bpd engine expression"
    -1:-1).Internal Script error: org.jdom.IllegalDataException:
    The data "" is not legal for a JDOM CDATA section: 0x0 is not a
    legal XML character.
    
    Resuming the process using retry failed steps from process
    inspector does not work.
    Using the move token REST API call using tw_admin user it was
    possible to move it to the service id before the stored
    procedure call and also a timer event after the call but the
    token is not moving. We have used the id both with "bpdId"
    string and without the string like
    "bpdid:
    acaecff8208d668f:-18bb95f3:13a4ac2ab08:-7fe9" for the step id
    parameter.
    .
    .----------------------------------------------
    [9/26/13 7:40:50:060 EDT] 00000991 wle_ucaexcept E   CWLLG0203E:
    Undercover Agent job failed. Task 1409528 job details are:
    class=com.lombardisoftware.server.scheduler.tasks.UcaExecutorTas
    k
    parameters=[4.2689f067-c9d4-4639-ad6c-359b9b0e773c;30;Trigger
    mycom Task Live Distr_ua<reason type="UCAIDMessage"
    ucaId="4.2689f067-c9d4-4639-ad6c-359b9b0e773c">
    
    Caused by: org.jdom.JDOMException: stringToDocument(...):
    Premature end of file.
        at
    com.lombardisoftware.core.XMLUtilities.stringToDocument(XMLUtili
    ties.java:308)
        at
    com.lombardisoftware.core.XMLUtilities.stringToElement(XMLUtilit
    ies.java:260)
        at
    com.lombardisoftware.server.eventmgr.UnderCoverAgentExecutor.doG
    et(UnderCoverAgentExecutor.java:115)
        ... 50 more
    Caused by: org.xml.sax.SAXParseException: Premature end of file.
        at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
        at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown
    Source)
        at
    com.lombardisoftware.core.XMLUtilities.stringToDocument(XMLUtili
    ties.java:306)
        ... 52 more
    

Local fix

  • N/A
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  Users of BPM Express, Standard, and         *
    *                  Advanced.                                   *
    ****************************************************************
    * PROBLEM DESCRIPTION: In Process Inspector, if you use a      *
    *                      Business Object with String fields, and *
    *                      one or more or those fields contains    *
    *                      the NUL byte (\u0000), attempts to      *
    *                      serialize the complex object from       *
    *                      JavaScript will cause the script to     *
    *                      fail.                                   *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    When a Complex Business Object has a string field that contains
    the NUL byte (\0 or \u0000), the object cannot be serialized and
    causes the task/activity to fail unexpectedly.
    

Problem conclusion

  • The fix made here simply strips out all \u0000 characters from
    any CDATA blocks in the VariableSerializer, if and only if an
    IllegalDataException occurs. Otherwise the existing behaviour
    continues to execute, so we anticipate this is a very rarely
    executed codepath.
    
    In Web Inspector, any string variables will have the \u0000
    characters stripped out in the BPM Inspector REST Facade, before
    being sent back to the client.
    
    Install/Dependency information is available in the readme.txt on
    FixCentral. When the user goes to the download files page in
    FixCentral, the readme will be available with the fix package as
    a separate download.
    

Temporary fix

Comments

APAR Information

  • APAR number

    JR45318

  • Reported component name

    BPM ADVANCED

  • Reported component ID

    5725C9400

  • Reported release

    800

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2013-01-08

  • Closed date

    2013-03-22

  • Last modified date

    2015-06-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

    BPM ADVANCED

  • Fixed component ID

    5725C9400

Applicable component levels

  • R800 PSY

       UP

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSFTN5","label":"IBM Business Process Manager Advanced"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8.0","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
12 October 2021