[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference lassie::ucx

Title:DEC TCP/IP Services for OpenVMS
Notice:Note 2-SSB Kits, 3-FT Kits, 4-Patch Info, 7-QAR System
Moderator:ucxaxp.ucx.lkg.dec.com::TIBBERT
Created:Thu Nov 17 1994
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:5568
Total number of notes:21492

5403.0. "GETHOSTBYNAME QIO Fails, UCX Restart Fixes It" by CSC32::D_PINA () Wed Apr 02 1997 17:51

    
    The gethostbyname qio system service fails with a bogus error -32236
    on the following customer's system
    
    Note: If ucx is shutdown and restarted the QIO system service will
          run successfully
    
    -----------
    Timone:
    
    $ ucx sho comm
    
    Communication Parameters
    
    Local host:      timone                 Domain:   LZ.WL.COM
    
    Cluster timer:             5
                                     Maximum     Current        Peak
    Interfaces                            20           2           2
    Device_sockets                       300          44          61
    Routes                             65535           3           3
    Services                             200           0           2
    Proxies                               20
    
    Type:        FDDI       Free     Maximum   Max Bytes     Minimum   Min
    Bytes
    Large buffers             20         200      947200          10      
    47360
    Small buffers            150        2000      512000          50      
    12800
    IRPs                      20         200
    Non UCX buffers           10
    
    Remote Terminal
      Large buffers:          10
      UCBs:                    4
      Virtual term:     disabled
    
    $ ucx sho comm/mem
                                       MBUF Summary
                          Small_static  Large_static  Small_dynamic 
    Large_dynamic
     Total buffers                  50            10            150             
    0
     Free                            1            10             75             
    0
     Busy
      Data                           0             0              0             
    0
      Header                         7             0             25             
    0
      Socket                        20             0             25             
    0
      Prot. control                 14             0             25             
    0
      Route                          3             0              0             
    0
      Socket name                    0             0              0             
    0
      Socket options                 1             0              0             
    0
      Fragment reassembly            0             0              0             
    0
      IP address                     2             0              0             
    0
     Size of cluster             13056         47616          39504             
    0
    
                    Free       Current          Peak          Waits         
    Drops
     Small Buffers                 124           170              0             
    0
     Large Buffers                   0            10              0             
    0
     IRPs              5             1             6              0             
    0
    
                        Small clusters  Large clusters    Non UCX buffers
     Free                            0             0              0
    
    $ sho mem/poo/fu
                  System Memory Resources on  2-APR-1997 16:28:28.83
    
    Nonpaged Dynamic Memory      (Lists + Variable)
        Current Size (bytes)       4997120    Current Size (pagelets)      
    9760
        Initial Size (NPAGEDYN)    4997120    Initial Size (pagelets)      
    9760
        Maximum Size (NPAGEVIR)   19996672    Maximum Size (pagelets)     
    39056
        Free Space (bytes)         1758400    Space in Use (bytes)      
    3238720
        Size of Largest Block      1092672    Size of Smallest Block         
    64
        Number of Free Blocks         2416    Free Blocks LEQU 64 Bytes     
    386
        Free Blocks on Lookasides     1331    Lookaside Space (bytes)    
    352960
    
    Paged Dynamic Memory
        Current Size (PAGEDYN)     1966080    Current Size (pagelets)      
    3840
        Free Space (bytes)          808368    Space in Use (bytes)      
    1157712
        Size of Largest Block       806432    Size of Smallest Block         
    16
        Number of Free Blocks           57    Free Blocks LEQU 64 Bytes      
    52
    
    
    $ run FORGETH.EXE;/nodeb
    Enter host name OR inet address for GETHOSTBYNAME: localhost
    
    %TRACE-F-TRACEBACK, symbolic stack dump follows
     Image Name   Module Name     Routine Name    Line Number  rel PC     
    abs PC
     FORGETH      GETHOSTBYNAME   CHECK_IOSB             4599 00000E74   
    00030E74
     FORGETH      GETHOSTBYNAME   GETHOSTBYNAME          3181 000002DC   
    000302DC
                                                            0 858E0170   
    858E0170
    
    $ run CHKDNR.EXE;1
    
    Enter Host to Resolve ("EXIT" to quit):localhost
    Status from assign = 1, Index = 208
    QIO Results: status = 1, iosb[0] = -32748, iosb[1] = 778
    Host Address =
    Host IPC Address = 127.0.0.1
    Enter Host to Resolve ("EXIT" to quit):
    
    $ ucx sho vers
    
      Digital TCP/IP Services for OpenVMS Alpha Version V4.1 - ECO Level 4
      on a AlphaServer 1000A 4/266 running OpenVMS V6.2-1H3
    
            Image Identification Information
    
                    image name: "UCX$IPC_SHR"
                    image file identification: "UCX V4.1-12"
                    image file build identification: ""
                    link date/time: 23-JUL-1996 18:32:51.99
                    linker identification: "A11-14"
    
            Image Identification Information
    
                    image name: "LIBRTL"
                    image file identification: "X01-001"
                    image file build identification: "X61Q-SSB-0000"
                    link date/time:  4-MAY-1995 22:30:41.45
                    linker identification: "A11-12"
    
    
                    image name: "SYS$PUBLIC_VECTORS"
                    image file identification: "X-33"
                    image file build identification: "X61Q-SSB-0000"
                    link date/time:  4-MAY-1995 22:29:27.83
                    linker identification: "A11-12
    
                    image name: "DEC$FORRTL"
                    image file identification: "V01-05.171"
                    image file build identification: "X61Q-SSB-0000"
                    link date/time:  4-MAY-1995 22:35:43.51
                    linker identification: "A11-12"
    
                    image name: "DECC$SHR"
                    image file identification: "T06.2-05"
                    image file build identification: "X61Q-SSB-L400"
                    link date/time:  6-JAN-1997 16:34:02.40
                    linker identification: "A11-12"
    
    
    The following program is used to test the QIO interface on the 
    customer's system.
    
    
            OPTIONS /EXTEND_SOURCE
    
            PROGRAM GETHOSTBYNAME
    
            IMPLICIT NONE
            INCLUDE '($IODEF)'
            INCLUDE '($SSDEF)'
            INCLUDE 'SYS$LIBRARY:UCX$INETDEF.FOR'
    
            STRUCTURE /ACP_FUNCTION/
                UNION
                MAP
                    BYTE TYPE
                    BYTE CALL_CODE   / 0 /
                    INTEGER*2 FILLER / 0 /
                END MAP
                MAP
                    INTEGER*4 subfunction_code
                END MAP
                END UNION
            END STRUCTURE    !ACP_FUNCTION
    
            RECORD /ACP_FUNCTION/ ACP_FUNC
    
            INTEGER*4 SYS$QIOW, SYS$ASSIGN, STR$TRIM
            INTEGER*4 IOSTAT, STATUS
            CHARACTER*256 HOST_NAME
            INTEGER*4 RET_LEN, HOST_LEN
            CHARACTER*11 UCX_DEVICE_NAME / 'UCX$DEVICE:' /
            CHARACTER*500 HOST_INET_ADRS
            INTEGER*2 ACP_IOSB(4)
            INTEGER*2 DEV_CHAN
    
            TYPE 100
            ACCEPT 110, host_name
    100     FORMAT(' Enter host name OR inet address for GETHOSTBYNAME:
    ',$)
    110     FORMAT(A)
            TYPE *, ' '
    CC       Trim trailing spaces off host name/inet address, if you don't
    C       the host will not be found.
    C
            STATUS = STR$TRIM (HOST_NAME, HOST_NAME, HOST_LEN)
            IF (.NOT. STATUS) CALL LIB$STOP(%VAL(STATUS))
    
    C
    C       Assign the internet pseudo device
    C
            STATUS = SYS$ASSIGN (UCX_DEVICE_NAME,DEV_CHAN,,,)
            IF (.NOT. STATUS) CALL LIB$STOP(%VAL(STATUS))
    
    C
    C       Get the host INET address
    C
            ACP_FUNC.TYPE = INETACP_FUNC$C_GETHOSTBYNAME
    
            IOSTAT = SYS$QIOW (,%VAL(DEV_CHAN),%VAL(IO$_ACPCONTROL),
         >                    
    ACP_IOSB,,,%DESCR(ACP_FUNC.SUBFUNCTION_CODE),
         >                     HOST_NAME(1:HOST_LEN),%REF(RET_LEN),
         >                     HOST_INET_ADRS,,)
            IF (.not. iostat) call lib$stop(%val(iostat))
            CALL check_iosb(acp_iosb(1))
    
            TYPE *, 'Host INET address for ', HOST_NAME(1:HOST_LEN), ':'
            TYPE *, ' '
    
            CALL WRITE_LIST(HOST_INET_ADRS(1:RET_LEN))
    
            TYPE *, ' '
            TYPE *, ' '
    C
    C       Get the host aliases
    C
            ACP_FUNC.CALL_CODE = INETACP$C_ALIASES
    
            IOSTAT = SYS$QIOW (,%VAL(DEV_CHAN),%VAL(IO$_ACPCONTROL),
         >                    
    ACP_IOSB,,,%DESCR(ACP_FUNC.SUBFUNCTION_CODE),
         >                     HOST_NAME(1:HOST_LEN),%REF(RET_LEN),
         >                     HOST_INET_ADRS,,)
    
            IF (.not. iostat) call lib$stop(%val(iostat))
            CALL check_iosb(acp_iosb(1))
    
            TYPE *, 'Host aliases for ', HOST_NAME(1:HOST_LEN), ':'
            TYPE *, ' '
    
            CALL WRITE_LIST(HOST_INET_ADRS(1:RET_LEN))
    
            TYPE *, ' '
            END
    
    C
    C       Subroutine check_iosb will check return status and output the
    C       appropriate message.
    C
            SUBROUTINE check_iosb(iosb_status)
    
            IMPLICIT NONE
    
            INCLUDE '($SSDEF)'
            INTEGER*2 iosb_status
    
            IF (iosb_status .EQ. SS$_ABORT) THEN
            TYPE *, 'Unknown cause of an internal error.  An unspecified'
            TYPE *, 'error was detected while performing an INET ACP'
            TYPE *, 'function.'
            TYPE *, ' '
            CALL LIB$STOP(%VAL(SS$_ABORT))
            END IF
    
            IF (iosb_status .EQ. SS$_BADPARAM) THEN
            TYPE *, 'Programming or internal error.  Bad parameter (name
    or'
            TYPE *, 'address) specified in a GET{HOST,NET}BY{NAME,ADDRESS}'
            TYPE *, 'ACP call.'
            TYPE *, ' '
            CALL LIB$STOP(%VAL(SS$_BADPARAM))
            END IF
    
            IF (iosb_status .EQ. SS$_BUFFEROVF) THEN
                TYPE *, 'Programming error.  Not enough space for'
                TYPE *, 'returning all alias names in a GET{HOST,NET}'
                TYPE *, ' BY{NAME,ADDRESS} ACP call.'
                TYPE *, ' '
                CALL LIB$STOP(%VAL(SS$_BUFFEROVF))
            END IF
    
            IF (iosb_status .EQ. SS$_ENDOFFILE) THEN
                TYPE *, 'The information requested is not in the database.'
               TYPE *, ' '
                CALL LIB$STOP(%VAL(SS$_ENDOFFILE))
            END IF
    
            IF (iosb_status .EQ. SS$_ILLCNTRFUNC) THEN
            TYPE *, 'Unknown cause of an internal error.  An unspecified'
            TYPE *, 'error was detected while performing an INET ACP'
            TYPE *, 'function.'
            TYPE *, ' '
            CALL LIB$STOP(%VAL(SS$_ILLCNTRFUNC))
            END IF
    
            IF (iosb_status .EQ. SS$_NOPRIV) THEN
            TYPE *, 'INET management error.  No privilege for the
    execution'
            TYPE *, 'of an INET ACP function.'
            TYPE *, ' '
            CALL LIB$STOP(%VAL(SS$_NOPRIV))
            END IF
    
            IF (iosb_status .EQ. SS$_RESULTOVF) THEN
            TYPE *, 'Programming error.  The ACP overflowed the buffer in'
            TYPE *, 'returning a parameter.'
            TYPE *, ' '
            CALL LIB$STOP(%VAL(SS$_RESULTOVF))
            END IF
    
            IF (iosb_status .EQ. SS$_SHUT) THEN
                TYPE *, 'The network is being shut down.'
                TYPE *, ' '
                CALL LIB$STOP(%VAL(SS$_SHUT))
            END IF
    
            IF (.not. iosb_status) call lib$stop(%val(iosb_status))
            RETURN
            END
    
    C
    C       Subroutine write_list takes a list and extracts the NULL
    C       separated elements using STR$ELEMENT.
    C
            SUBROUTINE WRITE_LIST( list )
    
            CHARACTER*(*) list
            CHARACTER*256 item
            INTEGER*4 status, status2, index, item_len
            INTEGER*4 STR$ELEMENT, STR$TRIM
    
            STATUS = 1
            INDEX = 0
    
    C
    C       Continue to extract elements until STR$ELEMENT returns error
    C       %STR-W-NOELEM, no element found
    C
            DO WHILE (STATUS)
                STATUS = STR$ELEMENT (item, index, CHAR(0), list)
                STATUS2 = STR$TRIM (item, item, item_len)
                IF (.NOT. STATUS2) CALL LIB$STOP(%VAL(STATUS2))
                IF ((item_len .GT. 0) .AND. STATUS)
            1       TYPE *, '  ', item(1:item_len)
                INDEX = INDEX + 1
            END DO
    
            RETURN
            END
    
                                               
T.RTitleUserPersonal
Name
DateLines