A fix is available
APAR status
Closed as fixed if next.
Error description
The current Tivoli Storage Manager API protocol validation might report DSM_RC_COMM_PROTOCOL_ERROR if there is some unexpected server response. In the following example, the API gets some object back where it can't interpret the objInfo header (rc= 122) and considers the query to be completed (rc = >0<). However the server is not informed and still sends verbs related to that communication (EndTxn in the sample case) The API protocol validation needs to be enhanced to better handle unepected server responses and not get into the out of sequence verb condition. Tivoli Storage Manager Versions Affected: all supported Customer/L2 Diagnostics (If Applicable) <timestamp> [000873] [239] : session.cpp (1714): Sent Verb: Length: 127 Code: 00003F00 Type: BackQryEnhanced3 -> .. <timestamp> [000873] [239] : session.cpp (1585): Length: 214 Code: 0000004D Type: <- BackQryRespEnhanced3 .. <timestamp> [000873] [239] : cuqrepos.cpp (2463): cuGetBackQryResp: unknown objInfo header format:3,/ICMMC,/L1.A1001001A15A15A90519H14440.V1 <timestamp> [000873] [239] : dsmnextq.cpp (1491): apicuGetBackQryResp: rc= 122 <timestamp> [000873] [239] : dsmnextq.cpp (1493): apicuGetBackQryResp: owner >< Name fs=>< hl=>< ll=>< state >0< id hi:0 lo:105962 <timestamp> [000873] [239] : dsmnextq.cpp (1040): dsmGetNextQObj EXIT: rc = >122<. <timestamp> [000873] [239] : dsmnextq.cpp (1081): dsmEndQuery ENTRY: dsmHandle=1 <timestamp> [000873] [239] : dsmnextq.cpp (1113): dsmEndQuery: completed <timestamp> [000873] [239] : dsmnextq.cpp (1120): dsmEndQuery EXIT: rc = >0<. <timestamp> [000873] [239] : dsmquery.cpp ( 751): dsmBeginQuery ENTRY: dsmHandle=1 queryType: 1 state is 255 <timestamp> [000873] [239] : session.cpp (2176): Sess (103fe95e0) TRYLOCK lock action by thread (ef): <timestamp> [000873] [239] : session.cpp (2288): Address of buffer is 4a3fab8 <timestamp> [000873] [239] : cucommon.cpp (1481): Contents of verb (0x18) Ping, length: 4: <timestamp> [000873] [239] : session.cpp (1677): Send Verb: Length: 4 Code: 00000018 Type: Ping <timestamp> [000873] [239] : commtcp.cpp (2249): TcpWrite: 4 bytes written of 4 requested. <timestamp> [000873] [239] : session.cpp (1714): Sent Verb: Length: 4 Code: 00000018 Type: Ping -> <timestamp> [000873] [239] : session.cpp (2288): Address of buffer is 4a3fab8 <timestamp> [000873] [239] : session.cpp (1442): Recv Verb: ... .. <timestamp> [000873] [239] : session.cpp (1584): Recv Verb: <timestamp> [000873] [239] : session.cpp (1585): Length: 6 Code: 00000013 Type: <- EndTxn <timestamp> [000873] [239] : cucommon.cpp (1497): cuPing: Out of sequence verb: verb: 13 Here the API cannot recognize object's attribute version (probably backed up with a newer code level), it ends the query with an error (122) and begins the next query. Applications get protocol error if they end the query before all the responses were received. The API needs to do some flush in EndQuery, if this is not done the following GetData which issues cuPing gets the server's EndTxn verb and logs this as a protocol error. Initial Impact: Low Additional Keywords: TSM IBM Spectrum Protect
Local fix
apply fixing level once available.
Problem summary
**************************************************************** * USERS AFFECTED: * * Tivoli Storage Manager API client versions 6.3, 6.4 and 7.1 * * running on all platforms. * **************************************************************** * PROBLEM DESCRIPTION: * * See ERROR DESCRIPTION. * **************************************************************** * RECOMMENDATION: * ****************************************************************
Problem conclusion
Temporary fix
Comments
If there is a next release of Tivoli Storage Manager after 7.1, this APAR will be fixed in that next release.
APAR Information
APAR number
IT17145
Reported component name
TSM CLIENT
Reported component ID
5698ISMCL
Reported release
63S
Status
CLOSED FIN
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2016-09-21
Closed date
2016-10-20
Last modified date
2016-10-20
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Applicable component levels
R71A PSN
UP
R71L PSN
UP
R71S PSN
UP
R71W PSN
UP
R71M PSN
UP
R64A PSN
UP
R64L PSN
UP
R64S PSN
UP
R64W PSN
UP
R64M PSN
UP
R63A PSN
UP
R63L PSN
UP
R63S PSN
UP
R63W PSN
UP
R63M PSN
UP
[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSGSG7","label":"Tivoli Storage Manager"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"63S","Line of Business":{"code":"LOB26","label":"Storage"}}]
Document Information
Modified date:
08 January 2022