IBM Support

IT12671: SERVER MAY CRASH IF VOLUME_NAME PARAMETER EXCEEDING MAXIMUM SUPPORTED LENGTH IS PASSED TO 'CHECKIN LIBVOLUME' COMMAND

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • If SEARCH=NO and CHECKLABEL=NO parameters are used with CHECKIN
    LIBVOLUME command and the VOLUME_NAME parameter exceeds expected
     length, server may crash.
    
    For example:
    
    11/25/2015 11:16:34,"ANR2017I Administrator ADMIN issued
    command: CHECKIN LIBVOLUME LIB1
    A00001L4,A00002L4,A00003L4,A00004L4,A00005L4,A00006L4,A00007L4,A
    00008L4,A00009L4,A00010L4 CHECKLABEL=NO STATUS=PRIVATE OWNER=TSM
    (SESSION: 574868)"
    
    In this case an incorrect usage of the CHECKIN command, passing
    a list of volumes instead of expected single volume as a
    VOLUME_NAME parameter, resulted in server crash.
    
    The call stack will look similar to following:
    
    PRIMARY_PROBLEM_CLASS:  STACK_BUFFER_OVERRUN
    
    STACK_TEXT:
    adsmdll!__report_securityfailure+0x1c
    adsmdll!__report_rangecheckfailure+0xe
    adsmdll!ScsiWriteLibInventory+0x3c5
    adsmdll!MmsLtsWriteLibInventory+0x8d
    adsmdll!MmsWriteLibInventory+0x235
    adsmdll!pvrWriteLibInventory+0x9
    adsmdll!ssWriteDevconfig+0x497
    adsmdll!ssRefreshDevconfigFiles+0x68
    adsmdll!MmsRefreshDevconfigFile+0x6c
    adsmdll!CheckinThread+0x43
    adsmdll!startThread+0x171
    msvcr120!_callthreadstartex+0x17
    msvcr120!_threadstartex+0x102
    kernel32!BaseThreadInitThunk+0xd
    ntdll!RtlUserThreadStart+0x1d
    
    The server trace NA PVR MMS DB DBDBG DBSTMT will look similar to
    the following:
    
    19:34:51.944
    [190][tbcli.c][10858][TraceSetInputParameters]:Handle 60:2,
    OpInsert operation on table Libvolumest, numkeys=2.
    19:34:51.944
    [190][tbcli.c][10871][TraceSetInputParameters]:key=0,
    name=LIBRARY_NAME, type=STRING, value=LIB1
    19:34:51.945
    [190][tbcli.c][10871][TraceSetInputParameters]:key=1,
    name=VOLUME_NAME, type=STRING,
    value=A00001L4,A00002L4,A00003L4,A00004L4,A00005L4,A00006L4,A000
    07L4,A0Private.........TSM
    19:34:51.945
    [190][tbcli.c][10871][TraceSetInputParameters]:col=2,
    name=STATUS, type=STRING, value=Private
    19:34:51.945
    [190][tbcli.c][10871][TraceSetInputParameters]:col=3,
    name=OWNER, type=STRING, value=TSM
    19:34:51.946
    [190][tbcli.c][10871][TraceSetInputParameters]:col=4,
    name=LAST_USE, type=STRING, value=NULL
    19:34:51.946
    [190][tbcli.c][10871][TraceSetInputParameters]:col=5,
    name=HOME_ELEMENT, type=INT32, value=2219
    19:34:51.946
    [190][tbcli.c][10871][TraceSetInputParameters]:col=6,
    name=DEVTYPE, type=STRING, value=LTO
    19:34:51.947
    [190][tbcli.c][10871][TraceSetInputParameters]:col=7,
    name=CLEANINGS_LEFT, type=INT32, value=NULL
    19:34:51.947
    [190][tbcli.c][10871][TraceSetInputParameters]:col=8,
    name=MEDIATYPE, type=STRING, value=LTO-4
    19:34:51.947 [190][tbcli.c][5731][RdbBindParamsForStmt]:Entry
    for OpInsert, using stmtHandle 60:2.
    19:34:51.975
    [190][tbcli.c][4683][RdbPrepareAndExecuteStmt]:Executing
    statement 'INSERT INTO "TSMDB1"."LIBVOLUMEST"
    (LIBRARY_NAME,VOLUME_NAME,STATUS,OWNER,LAST_USE,HOME_ELEMENT,DEV
    TYPE,CLEANINGS_LEFT,MEDIATYPE) VALUES(?,?,?,?,?,?,?,?,?) --190'
    submitted from admsql.c(5808).
    19:34:51.976
    [190][dbieval.c][630][DbiEvalSQLOutcomeX]:admsql.c(5808)
    requesting stmtEval with sqlRc -1 for handle 60:2.
    19:34:51.977 [190][dbieval.c][677][DbiEvalSQLOutcomeX]:SQLSTATE
    22001, SQLCODE -99999, SQLMsg=[IBM][CLI Driver] CLI0109E  String
    data right truncation. SQLSTATE=22001.
    19:34:51.982 [190][output.c][7644][PutConsoleMsg]:ANR0102E
    admsql.c(5811): Error 2332 inserting row in table
    "Libvolumest".~
    19:35:01.570
    [182][mmsscsi.c][5327][ScsiWriteLibInventory]:Writing SCSI
    libary inventory; lib=LIB1.
    
    
    The DB2 error CLI0109E (string data right truncation) error
    during insert attempt into LIBVOLUMEST table and the stack trace
    with primary problem class STACK_BUFFER_OVERRUN indicate a
    buffer overflow. If SEARCH=NO and CHECKLABEL=NO parameters are
    used, the verification of the label or the barcode with a tape
    library is omitted and server trusts that user input for
    VOLUME_NAME parameter is correct.
    
    In addition the insert is partially successful, resulting in
    incorrect database table entry.
    
    TSM Versions Affected:
    Tivoli Storage Manager server on all platforms.
    
    Initial Impact:
    Low
    
    Additional Keywords:
    TSM; server; crash; checkin libvolume; ScsiWriteLibInventory;
    CLI0109E; Error 2332; Libvolumest; DCF 1972926
    

Local fix

  • If SEARCH=NO and CHECKLABEL=NO parameters are used with CHECKIN
    LIBVOLUME command, make sure only single volume name is
    specified as an input parameter and verify that the volume name
    is valid.
    
    Contact IBM support to obtain step to delete incorrect database
    table entry.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * All Tivoli Storage Manager server users.                     *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * See ERROR DESCRIPTION                                        *
    ****************************************************************
    * RECOMMENDATION:                                              *
    * Apply fixing level when available. This problem is currently *
    * projected to be fixed in levels 6.3.6 and 7.1.5.  Note that  *
    * this is subject to change at the discretion of IBM.          *
    ****************************************************************
    

Problem conclusion

  • This problem was fixed.
    
    Affected platforms: AIX, HP-UX, Linux, Solaris, and Windows
    

Temporary fix

Comments

APAR Information

  • APAR number

    IT12671

  • Reported component name

    TSM SERVER

  • Reported component ID

    5698ISMSV

  • Reported release

    71W

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2015-12-15

  • Closed date

    2016-02-05

  • Last modified date

    2016-02-05

  • 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

    TSM SERVER

  • Fixed component ID

    5698ISMSV

Applicable component levels

  • R63A PSY

       UP

  • R63H PSY

       UP

  • R63L PSY

       UP

  • R63S PSY

       UP

  • R63W PSY

       UP

  • R71A PSY

       UP

  • R71H PSY

       UP

  • R71L PSY

       UP

  • R71S PSY

       UP

  • R71W PSY

       UP



Document information

More support for: Tivoli Storage Manager

Software version: 7.1.3

Reference #: IT12671

Modified date: 05 February 2016