IBM Support

PI07003: RFT SCRIPT PLAYBACK HANGS WHEN RUN FROM RQM

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Passport Canada is seeing a issue with RFT 8.5.0.1 with RQM.
    RQM is investigating, but want RFT input on the issue.
    
    Here is a summary and the associated files
    
    Jazz RQM escalation
    https://jazz.net/jazz/web/projects/Jazz%20Support%20%28Private%2
    9#action=com.ibm.team.workitem.viewWorkItem&id=284564
    
    Overview
    
    Issue: RFT script hangs when running from a shared location via
    RQM
    
    Environment
    RQM 4.0.3 (On Windows)
    RFT 8.5.0.1 (Running on Windows XP) upgraded from 8.3
    Shared Resource Location on a fully shared Windows system
    Shared Resource location value in RQM  \\labrupjazz\PPTC
    Relative Script Path in RQM :
    PPTCLAB\iris\script\Any_esrf.testsuite
    Script information as shown in RFT
    Path: /PPTCLAB/iris/script/Any_esrf.java
    Type File (Java Source)
    Location  \\labrupjazz\PPTC\ PPTCLAB\iris\script\Any_esrf.java
    
    Note: Attached a doc (Screenshot.doc) with the above information
    via screenshots
    
    
    
    Details:
    The customer has an RFT Project on a shared network drive; the
    complete RFT project has been copied there
    They are able to connect to the project directly from the RFT
    UI; access and run the scripts with no issues
    When they attempt to run from RQM (via a test case) the
    application is started but ?hangs? just after the log in portion
    of the script is completed; no error message are seen in the UI
    The adapter does contain the following information
    
    3:09:55 PM Starting adapter
    3:09:56 PM Log in to URL https://labrupjazz.pptc.gc.ca:9443/qm
    <Project area: = PPTC LAB>
    3:13:14 PM Received the execution request:
    \\labrupjazz\PPTC\PPTCLAB\iris\script\Any_esrf.testsuite
    3:13:15 PM Executing RFT command 'C:\Program
    Files\IBM\SDP\jdk\jre\bin\java.exe'  -Drqm.mode=true
    -Drqm.task='C:\DOCUME?1\QCBORI?1.KAR\LOCALS?1\Temp\RQMRFTTask767
    4470438768801742.xml' -jar 'C:\Program
    Files\IBM\SDP\FunctionalTester\bin\rational_ft.jar' -datastore
    'C:\DOCUME?1\QCBORI?1.KAR\LOCALS?1\Temp\RQMRFTProjects\fec28517\
    PPTCLAB' -rt.log_format xml  -iterationcount -1
    -rt.bring_up_logviewer false  -execmode rqm  -execmodeargs
    download  -playback iris.script.Any_esrf
    3:13:18 PM 2013-10-09
    15:13:18.171:INFO:oejs.Server:jetty-8.1.3.v201205223:13:18 PM
    2013-10-09 15:13:18.233:INFO:oejw.StandardDescriptorProcessor:NO
    JSP Support for /, did not find
    org.apache.jasper.servlet.JspServlet3:13:18 PM 2013-10-09
    15:13:18.280:INFO:oejs.AbstractConnector:Started
    SelectChannelConnector@0.0.0.0:9100
    
    I 'think' this is some type of compilation error or java version
    issue; or just a path that cant be resolved which results in a
    missing class file
    However I don?t see any additional errors
    
    We also looked at the temp directory on the system hosting RFT
    \Documents and Settings\<user>\Local
    Settings\Temp\RQMRFTprojects\fec28516\PPTCLAB\iris\task
    There is only one .class file here
    The customer believes there should be more in order to run the
    script
    
    If the customer moves the RFT project on to a local system (i.e.
    on that has RFT installed on it) and imports the RFT script into
    RQM via the Local Resource option (as opposed to the Shared
    location) the script will run fine.
    
    
    I did notice the following error in the adapter log
    I'm note sure what argument the message is referring to Is it
    referring to ' Start
    getResourceFromServer[https://labrupjazz.pptc.gc.ca:9443/qm/serv
    ice/com.ibm.rqm.integration.service.IIntegrationService/resource
    s/PPTC+LAB/resource?resourceURN=%5C%5Clabrupjazz%5CPPTC%5CPPTCLA
    B%5Cresources%5Ciris%5Cscript%5CAny_esrfHelper.class,0])?
    
    
    12:24:20,598 [Execution Thread] DEBUG
    com.ibm.rqm.integration.client.clientlib    - Start
    getResourceFromServer[https://labrupjazz.pptc.gc.ca:9443/qm/serv
    ice/com.ibm.rqm.integration.service.IIntegrationService/resource
    s/PPTC+LAB/resource?resourceURN=%5C%5Clabrupjazz%5CPPTC%5CPPTCLA
    B%5Cresources%5Ciris%5Cscript%5CAny_esrfHelper.class,0]
    12:24:20,631 [Execution Thread] DEBUG
    com.ibm.rqm.integration.client.clientlib    - End
    getResourceFromServer
    12:24:20,631 [Execution Thread] DEBUG com.ibm.rqm.adapter.rft
       - Received download responce:200 for
    file: resources\iris\script\Any_esrfHelper.class,
    Timestamp:1381422260631
    12:24:20,631 [Execution Thread] ERROR
    com.ibm.rqm.adapter.library      - Exception
    in Parser Arguments
    12:24:20,631 [Execution Thread] DEBUG
    com.ibm.rqm.adapter.library      -
    RFTExecutionThread setStatus: 1
    12:24:20,631 [Execution Thread] DEBUG
    com.ibm.rqm.adapter.library      -
    RFTExecutionThread setStatus: 2
    12:24:20,631 [Execution Thread] DEBUG com.ibm.rqm.adapter.rft
       - Project log folder does not exists
    12:24:20,631 [Execution Thread] DEBUG com.ibm.rqm.adapter.rft
       - The execution command is 'C:\Program
    Files\IBM\SDP\jdk\jre\bin\java.exe'  -Drqm.mode=true
    -Drqm.task='C:\DOCUME?1\QCBORI?1.KAR\LOCALS?1\Temp\RQMRFTTask427
    001630203827279.xml' -jar 'C:\Program
    Files\IBM\SDP\FunctionalTester\bin\rational_ft.jar' -datastore
    'C:\DOCUME?1\QCBORI?1.KAR\LOCALS?1\Temp\RQMRFTProjects\fec28519\
    PPTCLAB' -rt.log_format xml  -iterationcount -1
    -rt.bring_up_logviewer false  -execmode rqm  -execmodeargs
    download  -playback iris.script.Any_esrf
    12:24:20,631 [Execution Thread] DEBUG com.ibm.rqm.adapter.rft
       - Launching 'C:\Program
    Files\IBM\SDP\jdk\jre\bin\java.exe'  -Drqm.mode=true
    -Drqm.task='C:\DOCUME?1\QCBORI?1.KAR\LOCALS?1\Temp\RQMRFTTask427
    001630203827279.xml' -jar 'C:\Program
    Files\IBM\SDP\FunctionalTester\bin\rational_ft.jar' -datastore
    'C:\DOCUME?1\QCBORI?1.KAR\LOCALS?1\Temp\RQMRFTProjects\fec28519\
    PPTCLAB' -rt.log_format xml  -iterationcount -1
    -rt.bring_up_logviewer false  -execmode rqm  -execmodeargs
    download  -playback iris.script.Any_esrf
    12:24:23,552 [Thread-7] DEBUG com.ibm.rqm.adapter.library
      - Adapter polling RQM server for instructions.
    12:24:23,552 [Thread-7] DEBUG
    com.ibm.rqm.integration.client.clientlib    - Start
    getFromServer[https://labrupjazz.pptc.gc.ca:9443/qm/service/com.
    ibm.rqm.integration.service.IIntegrationService/resources/PPTC+L
    AB/instructions/_OEYF0vlMEeKIz--WwNsCkQ]
    12:24:23,585 [Thread-7] DEBUG
    com.ibm.rqm.integration.client.clientlib    -   ETag
    ['_eZquBDHHEeOm2Ziwqu1tvQ']
    12:24:23,585 [Thread-7] DEBUG
    com.ibm.rqm.integration.client.clientlib    -
    Cache-Control [private]
    12:24:23,585 [Thread-7] DEBUG
    com.ibm.rqm.integration.client.clientlib    -
    rqm_responseMessage [<?xml version='1.0'
    encoding='UTF-8'?><ns2:instructions
    xmlns:ns2='http://jazz.net/xmlns/alm/qm/v0.1/'
    xmlns:ns1='http://schema.ibm.com/vega/2008/'
    xmlns:ns3='http://purl.org/dc/elements/1.1/'
    xmlns:ns4='http://jazz.net/xmlns/prod/jazz/process/0.6/'
    xmlns:ns5='http://jazz.net/xmlns/alm/v0.1/'
    xmlns:ns6='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
    xmlns:ns7='http://purl.org/dc/terms/'
    xmlns:ns8='http://jazz.net/xmlns/alm/qm/v0.1/tsl/v0.1/'
    xmlns:ns9='http://jazz.net/xmlns/alm/qm/v0.1/testscript/v0.1/'
    xmlns:ns10='http://jazz.net/xmlns/alm/qm/qmadapter/task/v0.1'
    xmlns:ns11='http://jazz.net/xmlns/alm/qm/qmadapter/v0.1'
    xmlns:ns12='http://jazz.net/xmlns/alm/qm/v0.1/executionworkitem/
    v0.1'
    xmlns:ns13='http://jazz.net/xmlns/alm/qm/v0.1/executionresult/v0
    .1' xmlns:ns14='http://jazz.net/xmlns/alm/qm/v0.1/catalog/v0.1'
    xmlns:ns16='http://jazz.net/xmlns/alm/qm/styleinfo/v0.1/'
    xmlns:ns17='http://www.w3.org/1999/XSL/Transform'><ns11:workavai
    lable>false</ns11:workavailable></ns2:instructions>]
    
    Update from QM dev
    
    RFT adapter downloads all the contents of the folder to the
    temp. in the beginning. Looking at the rfttrace.log it is
    throwing up errors about certain .class files however in the
    rftadapter.log, those files seem to have been downloaded with a
    200 OK response.
    
    For e.g. in rft_trace.txt, for G_wn_process_observations.class
    I see
    
    FtClassLoader,        FtClassLoader cannot find
    [iris.getter.G_wn_process_observations] file or Java archive
    file
    2013-10-10 12:26:58.119,    2656:  3744,  DETAIL,
           FtClassLoader,       FtClassLoader.loadClass found:
    iris.getter.G_wn_process_observations
    2013-10-10 12:26:58.119,    2656:  3744,  DETAIL,
           FtClassLoader,       reading file
    C:\DOCUME~1\QCBORI~1.KAR\LOCALS~1\Temp\RQMRFTProjects\fec28519\P
    PTCLAB\iris\getter\G_wn_process_observations.class
    2013-10-10 12:26:58.119,    2656:  3744,  DETAIL,
           FtClassLoader,       FtClassLoader calling TSSDownload
    with iris\getter\G_wn_process_observations.class
    2013-10-10 12:26:58.167,    2656:  3744,  DETAIL,
           FtClassLoader,       reading file
    C:\DOCUME~1\QCBORI~1.KAR\LOCALS~1\Temp\RQMRFTProjects\fec28519\P
    PTCLAB\iris\getter\G_wn_process_observations.class  length 3155
    2013-10-10 12:26:58.167,    2656:  3744,  DETAIL,
           FtClassLoader,       FtClassLoader.loadClass found:
    iris.getter.G_wn_process_observations
    
    However in rftadapter.log, this file has a download status of
    200 Ok. I looked at a few other such entries and found that the
    status of 200 in the rftadapter.log.
    
    Are all these logs attached for the one script that failed or
    multiple scripts that were executed?
    Since you mentioned these scripts were running fine from shared
    location with RQM 4.0.3 and RFT 8.3 and stopped working after
    the upgrade to rft 8.5, we should have someone from RFT also
    looking into this. Is there an escalation with RFT to track this
    on their end also? One thing to note is that although the shared
    location is specified in RQM, the actual logic to download the
    files for the RFT project is written with the RFT adapter
    itself. So it might be possible that something has changed in
    the RFT adapter between 8.3 and 8.5. That was the reason, I was
    asking if you are able to execute a new script created with RFT
    8.5 and shared location.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    The RFT scripts running from RQM stopped playing back after
    some time.
    

Problem conclusion

  • The RFT scripts containing method calls to output data to
    the output stream, when executed from RQM, were filling up
    the outputstream buffer. Since output stream and error
    stream are the same in the case of the adapter, the buffer
    was filled and was not flushed since no read was occurring
    on it. This caused the playback process to wait indefinitely
    for the stream to be flushed in order to write more data as
    part of playback.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI07003

  • Reported component name

    RATL QUALITY MG

  • Reported component ID

    5724V1000

  • Reported release

    850

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2013-11-26

  • Closed date

    2013-12-19

  • Last modified date

    2013-12-19

  • 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

    RAT FUNC TESTER

  • Fixed component ID

    5724G2503

Applicable component levels

  • R850 PSN

       UP

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSJMXE","label":"Rational Functional Tester"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8.5","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
15 October 2021