UNEXPECTED client call failed

Post Reply
jeff2390
Posts: 2
Joined: Fri Aug 12, 2016 8:15 pm

UNEXPECTED client call failed

Post by jeff2390 » Fri Aug 12, 2016 8:24 pm

Hi,

I am running some PHP against an IBM i from a Linux box using ODBC. I have tested and checked my basic connectivity and it works fine.

When I run my current PHP I am getting the error: UNEXPECTED client call failed from my PHP.

Here are the contents of my tkit_debug.log:

Code: Select all

Creating new conn with database: 'VTWIN1', user or i5 naming flag: 'TJEFF', transport: 'odbc', persistence: ''
Going to create a new db connection at 2016-08-12 15:08:52.
Did create a new db connection in 0.070692 seconds.
Exec start: 2016-08-12 15:08:53
Version of toolkit front end: 1.5.0
IPC: '/tmp/TJEFF'. Control key: *cdata *sbmjob(ZENDSVR6/ZSVR_JOBD/XTOOLKIT)
Stmt: call ZENDSVR6.iPLUGR512K(?,?,?) with transport: odbc
Input XML: <?xml version="1.0" encoding="ISO-8859-1" ?>
<script>
<pgm name='WCDLR001' lib='VTWINWC' func='WCStock1'>
<parm comment=''><ds var='In'>
<data var='SPARTI' type='10A'>10-0000</data><data var='RWHSE' type='2A'>MO</data><data var='CWHSE' type='2A'>MO</data><data var='RQTY' type='2A'>2</data></ds>
</parm>
<parm comment=''><ds var='Out'>
<data var='SPART' type='10A'> </data><data var='STATCDE' type='2A'> </data><data var='SAQTY' type='2A'> </data><data var='BOQTY' type='2A'> </data><data var='OWHSE' type='2A'> </data><data var='SSTAT2' t
ype='35A'> </data></ds>
</parm>
</pgm>
</script>
Output XML: <?xml version="1.0" encoding="ISO-8859-1" ?>
<report>
<version>XML Toolkit 1.9.1</version>
<error>
<errnoile>3025</errnoile>
<errnoilemsg><![CDATA[No such path or directory.]]></errnoilemsg>
<errnoxml>1400001</errnoxml>
<xmlerrmsg><![CDATA[client call failed]]></xmlerrmsg>
<xmlhint><![CDATA[failure]]></xmlhint>
</error>
<error>
<errnoile>3025</errnoile>
<errnoilemsg><![CDATA[No such path or directory.]]></errnoilemsg>
<errnoxml>1301021</errnoxml>
<xmlerrmsg><![CDATA[IPC ftok fail]]></xmlerrmsg>
<xmlhint><![CDATA[/tmp/TJEFF]]></xmlhint>
</error>
<error>
<errnoile>3025</errnoile>
<errnoilemsg><![CDATA[No such path or directory.]]></errnoilemsg>
<errnoxml>1301021</errnoxml>
<xmlerrmsg><![CDATA[IPC ftok fail]]></xmlerrmsg>
<xmlhint><![CDATA[/tmp/TJEFF]]></xmlhint>
</error>
<error>
<errnoile>3025</errnoile>
<errnoilemsg><![CDATA[No such path or directory.]]></errnoilemsg>
<errnoxml>1301022</errnoxml>
<xmlerrmsg><![CDATA[IPC ftok loop fail]]></xmlerrmsg>
<xmlhint><![CDATA[/tmp/TJEFF : 1010]]></xmlhint>
</error>
<error>
<errnoile>3025</errnoile>
<errnoilemsg><![CDATA[No such path or directory.]]></errnoilemsg>
<errnoxml>1400001</errnoxml>
<xmlerrmsg><![CDATA[client call failed]]></xmlerrmsg>
<xmlhint><![CDATA[failure]]></xmlhint>
</error>
<jobinfo>
<jobipc>/tmp/TJEFF</jobipc>
<jobipcskey>FFFFFFFF</jobipcskey>
<jobname>QZDASOINIT</jobname>
<jobuser>QUSER</jobuser>
<jobnbr>219442</jobnbr>
<jobsts>*ACTIVE</jobsts>
<curuser>TJEFF</curuser>
<ccsid>37</ccsid>
<dftccsid>37</dftccsid>
<paseccsid>0</paseccsid>
<langid>ENU</langid>
<cntryid>US</cntryid>
<sbsname>QUSRWRK</sbsname>
<sbslib>QSYS</sbslib>
<curlib></curlib>
<syslibl>QSYS QSYS2 QHLPSYS QUSRSYS</syslibl>
<usrlibl>S80LIB S80LIBD VTWINWC CCAVIGNA RITADB FFPLUS TEDVTOBJ ASAPS91 ASAPR91 ASAPT91 QGPL QTEMP R80LIBO VTWINWEB KTLIC KSHIPVT KSHIP RXS TCPRINT ZCLIB TEDVTDTA</usrlibl>
<jobcpffind>see log scan, not error list</jobcpffind>
</jobinfo>
<joblogscan>
<joblogrec>
<jobcpf>CPF1301</jobcpf>
<jobtime><![CDATA[08/12/16  15:09:10.781310]]></jobtime>
<jobtext><![CDATA[QWTCCCHJ main 129 ACGDTA for 219442/QUSER/QZDASOINIT not journaled; reason Job resource accounting data for job]]></jobtext>
</joblogrec>
<joblogrec>
<jobcpf>CPF1301</jobcpf>
<jobtime><![CDATA[08/12/16  15:09:10.781310]]></jobtime>
<jobtext><![CDATA[TJEFF QZBSSECR QzbsChangeJob__Fi 33 ACGDTA for 219442/QUSER/QZDASOINIT not journaled; reason Job resource accounting data for jo]]></jobtext>
</joblogrec>
<joblogrec>
<jobcpf>SQL799C</jobcpf>
<jobtime><![CDATA[08/12/16  15:09:10.781310]]></jobtime>
<jobtext><![CDATA[TJEFF QZDACMDP CP_SET_ATTRCODE 21261 QZDACMDP CP_SET_ATTRCODE 21261 The following special registers have been set: This message]]></jobtext>
</joblogrec>
</joblogscan>
<joblog job='QZDASOINIT' user='QUSER' nbr='219442'>
<![CDATA[5770SS1 V7R1M0 100423                        Display Job Log                        VTWIN1   08/12/16 15:09:22          Page    1
  Job name . . . . . . . . . . :   QZDASOINIT      User  . . . . . . :   QUSER        Number . . . . . . . . . . . :   219442
  Job description  . . . . . . :   QDFTSVR         Library . . . . . :   QGPL
MSGID      TYPE                    SEV  DATE      TIME             FROM PGM     LIBRARY     INST     TO PGM      LIBRARY     INST
CPF1301    Information             30   08/12/16  15:08:46.017536  QWTCHGJB     QSYS        11F4     QWTCCCHJ    QSYS        *STMT
                                     To module . . . . . . . . . :   QWTCCCHJ
                                     To procedure  . . . . . . . :   main
                                     Statement . . . . . . . . . :   129
                                     Message . . . . :   ACGDTA for 219442/QUSER/QZDASOINIT not journaled; reason
                                       1.
                                     Cause . . . . . :   Job resource accounting data for job
                                       219442/QUSER/QZDASOINIT was not journaled to the system accounting journal
                                       QSYS/QACGJRN. -- Reason codes and their meanings follow: -- 1-The accounting
                                       level system value (QACGLVL) indicated that this level of resource
                                       accounting was not to be done when the job entered the system. -- 2-The
                                       accounting journal QSYS/QACGJRN is unable to receive the data.  The
                                       accounting data was sent to the history log (QHST) as the text of a CPF1303
                                       message.  See CPF1302 in the history log (QHST) for recovery action. --
                                       3-The accounting journal QSYS/QACGJRN  was allocated to another job.  The
                                       accounting data was sent to the history log (QHST) as the text of a CPF1303
                                       message.
CPF1301    Information             30   08/12/16  15:09:10.742953  QWTCHGJB     QSYS        11F4     QZBSSECR    QSYS        *STMT
                                     From user . . . . . . . . . :   TJEFF
                                     To module . . . . . . . . . :   QZBSSECR
                                     To procedure  . . . . . . . :   QzbsChangeJob__Fi
                                     Statement . . . . . . . . . :   33
                                     Message . . . . :   ACGDTA for 219442/QUSER/QZDASOINIT not journaled; reason
                                       1.
                                     Cause . . . . . :   Job resource accounting data for job
                                       219442/QUSER/QZDASOINIT was not journaled to the system accounting journal
                                       QSYS/QACGJRN. -- Reason codes and their meanings follow: -- 1-The accounting
                                       level system value (QACGLVL) indicated that this level of resource
                                       accounting was not to be done when the job entered the system. -- 2-The
                                       accounting journal QSYS/QACGJRN is unable to receive the data.  The
                                       accounting data was sent to the history log (QHST) as the text of a CPF1303
                                       message.  See CPF1302 in the history log (QHST) for recovery action. --
                                       3-The accounting journal QSYS/QACGJRN  was allocated to another job.  The
                                       accounting data was sent to the history log (QHST) as the text of a CPF1303
                                       message.
CPIAD02    Information             00   08/12/16  15:09:10.743291  QZBSSECR     QSYS        *STMT    QZBSSECR    QSYS        *STMT
                                     From user . . . . . . . . . :   TJEFF
                                     From module . . . . . . . . :   QZBSSECR
                                     From procedure  . . . . . . :   QzbsCheckSwapResults__FiP17QzbsStrSrvRequestP1
                                       2QzbsStdReplyP14QzbsReplyHdr_tPA10_cPcPiPsP16sockaddr_storageN27
                                     Statement . . . . . . . . . :   315
                                     To module . . . . . . . . . :   QZBSSECR
                                     To procedure  . . . . . . . :   QzbsCheckSwapResults__FiP17QzbsStrSrvRequestP1
                                       2QzbsStdReplyP14QzbsReplyHdr_tPA10_cPcPiPsP16sockaddr_storageN27
                                     Statement . . . . . . . . . :   315
                                     Message . . . . :   User TJEFF from client 10.10.1.250 connected to server.
                                     Cause . . . . . :   User profile TJEFF from client 10.10.1.250 is currently
                                       connected to this server job.  The client name is either a TCP/IP remote
                                       system name, a dotted decimal IP address, the local host name, or an IPv6
                                       address.
SQL799C    Information             10   08/12/16  15:09:10.781310  QZDASRV      QSYS        *STMT    QZDASRV     QSYS        *STMT
                                     From user . . . . . . . . . :   TJEFF
 5770SS1 V7R1M0 100423                        Display Job Log                        VTWIN1   08/12/16 15:09:22          Page    2
  Job name . . . . . . . . . . :   QZDASOINIT      User  . . . . . . :   QUSER        Number . . . . . . . . . . . :   219442
  Job description  . . . . . . :   QDFTSVR         Library . . . . . :   QGPL
MSGID      TYPE                    SEV  DATE      TIME             FROM PGM     LIBRARY     INST     TO PGM      LIBRARY     INST
                                     From module . . . . . . . . :   QZDACMDP
                                     From procedure  . . . . . . :   CP_SET_ATTRCODE
                                     Statement . . . . . . . . . :   21261
                                     To module . . . . . . . . . :   QZDACMDP
                                     To procedure  . . . . . . . :   CP_SET_ATTRCODE
                                     Statement . . . . . . . . . :   21261
                                     Message . . . . :   The following special registers have been set:
                                       CLIENT_APPLNAME: APACHE2
                                     Cause . . . . . :   This message is issued when any of the client special
                                       registers have been updated.
CPC1221    Completion              00   08/12/16  15:09:10.938037  QWTCCSBJ     QSYS        01C4     XMLSTOREDP  ZENDSVR6    *STMT
                                     From user . . . . . . . . . :   TJEFF
                                     To module . . . . . . . . . :   PLUGIPC
                                     To procedure  . . . . . . . :   SBMJOB
                                     Statement . . . . . . . . . :   6910
                                     Message . . . . :   Job 260908/TJEFF/XTOOLKIT submitted to job queue ZSVR_JOBQ
                                       in library ZENDSVR6.
]]>
</joblog>
</report>



Exec end: 2016-08-12 15:09:04. Seconds to execute: 11.775060176849.


Exec start: 2016-08-12 15:09:04
Version of toolkit front end: 1.5.0
IPC: '/tmp/TJEFF'. Control key: *immed
Stmt: call ZENDSVR6.iPLUGR512K(?,?,?) with transport: odbc
Input XML: <?xml version="1.0" encoding="ISO-8859-1" ?>
Db disconnect requested and done.
I have checked all the suggestions I've found for /tmp being writable and it is.

The really odd thing is that the very first time I ran this it worked fine. But never since. I have switched users, created new DSNs for ODBC, etc.

I am happy to provide any additional details as requested.

Thanks,

JF

jeff2390
Posts: 2
Joined: Fri Aug 12, 2016 8:15 pm

Re: UNEXPECTED client call failed

Post by jeff2390 » Mon Aug 15, 2016 8:44 pm

I have some additional information:

I can connect to the IBM i DB2 data fine using just straight SQL queries over ODBC - command line as well as in a PHP script.

It appears that the issue is that when I use the toolkit my client scripts (from my Linux server) are looking for some Zend hooks on the target IBM i. If that is true then what is required on the IBM i target DB2 server to get this to work?

We have done this successfully with exactly the same toolkit and tools from another IBM i to this same IBM i target. No additional configuration or install on the target was required.

Any comments or suggestions would be greatly appreciated.

Thanks,

JF

Post Reply