RE: Error -25573 OS error 76
Posted in 2000
I forgot to state my point, it might be possible that both Informix and IBM
are acting properly, though I am definitely not an expert when it
comes to client server communications.
Will
>===== Original Message From William Rice <ricew@operamail.com> =====
>As always, this is just a hypothesis of what is happening. I dont have
>a setup where I can test this hypothesys/
>
>Might their be someone trying to access your database from a machine
>which has an IP address which the server can not get back to. (You already
>expressed this suspicion) I would think it was due to a client with a bogus
>IP address, so no packets can get back to the client.
>
>In this case the following occurs:
>1. client sends a connection request(SYN) and waits for an ACK
>2. Server recieves connection request(SYN) and sends (SYN, ACK)
> and waits for ACK
>3. ACK from server goes into the bit bucket.
>4. Client times out and sends reset
>5. Informix recieves reset and goes back to listen state and life
> returns to normal.
>
>I am not sure of the timing of all the events you describe. So am
>just guessing
>
>Hope this helps,
>Will
>>===== Original Message From Joe_Miller@Administaff.com =====
>>Hello all:
>>
>> I have been having a slow down in connection times to our
>>database over the past two days. The problem is intermittent, it has
>>happened the past two mornings. The affect is users trying to make
>>connections to the database are taking 1 to 3 minutes to make the
>>initial connection to the database. Once the connection is made all
>>other functions work properly.
>>
>>The following error has been logged to the online log. There has been
>>13 occurrences 1/19 and 129 occurrences 1/20.
>>
>>09:25:40 listener-thread: err = -25573: oserr = 76: errstr = :Network>>driver cannot accept a connection on the port. System error = 76.
>>
>>The system error 76 says, "The socket is not in the connected state"
>>
>>I have opened a case with Informix Technical support # 928201 and IBM
>>support #54305 Branch 004.. Informix has dialed into my server and run
>>their trace utility to capture the error as it was occurring. The
>>analysis of the trace indicates the following chain of events:
>>
>>Request comes into the socket for service. Informix listen thread
>>sends the ack system call to accept the request. The ack system call
>>returns -1. It is unclear (To me) exactly what the chain of events
>>occur after that failure.
>>
>>IBM support says this is a normal condition and AIX is only reporting
>>the fact that the connection is no longer there. IBM has logged two
>>incidents of the error with two applications. The following is the
>>resolutions of these two cases:
>>
>>Ondemand was the app for the client: 76 = client connection has
>>abandoned an existing socket connection. An rst tcp packet has been
>>transferred from the pc to the RISC server (that data can be capture
>>in an IP trace or tcp dump). The app can disregard the error 76 and
>>release the socket and put it back in the listen state. They talked to
>>the Ondemand developers to render it as a nonfatal error.
>>
>>Oracle listener was at 7.3.3.5 needed to be at 7.3.4 or Oracle 8.0.3
>>or higher
>>
>>The IBM technician characterized the conversation like this.
>>
>>Someone calls you on the telephone. You are busy so the phone
>>continues to ring. You finely make it to the phone and as soon as you
>>pick up the receiver the other party hangs up. You say hello and
>>continue to say hello, hello until you give up and hang up the
>>receiver so the next call can be answered. During the time you are
>>saying hello, hello new calls are being queued up on you call waiting.
>>
>>
>>IBM's feeling is that the Informix listener thread should handle the
>>76 error by resetting the socket to the listen state.
>>
>>My gut feeling is that there is a client on out network that may have
>>a bad NIC or something that is causing the problem to occur. I also
>>believe Informix should handle this drop gracefully and not cause the
>>delays.
>>
>>Any insight on this problem would be greatly appreciated.
>>
>>
>>Joe Miller
>>Administaff Inc.
>>Joe_Miller@Administaff.com
>>
>>My environment is :
>>Server:
>>
>>RS/6000 S7A, 12 Processors, 6GB Ram, AIX 4.3.2
>>Clients:
>>
>>Windows NT, Powerbuilder, 4gl on AIX.
>>Onconfig:
>>ROOTNAME rootdbs # Root dbspace name
>>ROOTPATH /dev/rrdbs # Path for device containing root>>dbspace
>>ROOTOFFSET 0 # Offset of root dbspace into device
>>(Kbytes)
>>ROOTSIZE 307200 # Size of root dbspace (Kbytes)>>
>># Disk Mirroring Configuration Parameters
>>
>>MIRROR 0 # Mirroring flag (Yes = 1, No = 0)
>>MIRRORPATH # Path for device containing mirrored>>root
>>MIRROROFFSET 0 # Offset into mirrored device (Kbytes)>>
>># Physical Log Configuration
>>
>>PHYSDBS rootdbs # Location (dbspace) of physical log
>>PHYSFILE 102400 # Physical log file size (Kbytes)>>
>># Logical Log Configuration
>>
>>LOGFILES 282 # Number of logical log files
>>LOGSIZE 2048 # Logical log size (Kbytes)>>
>># Diagnostics
>>
>>MSGPATH /usr/ifmx/online.log # System message log file path
>>CONSOLE /usr/ifmx/cons.log # System console message path
>>#ALARMPROGRAM /usr/ifmx/etc/log_full.sh # Alarm program path
>>SYSALARMPROGRAM /usr/ifmx/etc/evidence.sh # System Alarm program path
>>TBLSPACE_STATS 1>>
>># System Archive Tape Device
>>
>>TAPEDEV /dev/rmt0 # Tape device path
>>TAPEBLK 128 # Tape block size (Kbytes)
>>TAPESIZE 73400320 # Maximum amount of data to put on
>>tape (Kbytes)>>
>># Log Archive Tape Device
>>
>>LTAPEDEV /dev/rmt0 # Log tape device path
>>LTAPEBLK 128 # Log tape block size (Kbytes)
>>LTAPESIZE 73400320 # Max amount of data to put on log
>>tape (Kbytes)>>
>># Optical
>>
>>STAGEBLOB # Informix Dynamic Server/Optical
>>staging area
>>
>># System Configuration
>>
>>SERVERNUM 1 # Unique id corresponding to a Dynamic>>Server instance
>>DBSERVERNAME kingdbs1_l # Name of default database server>>DBSERVERALIASES kingdbs1,bigboy,bigboy_l # List of alternate
>>dbservernames
>>NETTYPE ipcshm,1,100,NET # Configure poll thread(s) for>>nettype
>>NETTYPE soctcp,7,200,CPU # Configure poll thread(s) for>>nettype
>>DEADLOCK_TIMEOUT 60 # Max time to wait of lock in>>distributed env.
>>RESIDENT 0 # Forced residency flag (Yes = 1, No =
>>0)
>>
>>MULTIPROCESSOR 1 # 0 for single-processor, 1 for>>multi-processor
>>NUMCPUVPS 11 # Number of user (cpu) vps
>>SINGLE_CPU_VP 0 # If non-zero, limit number of cpu vps>>to one
>>
>>NOAGE 1 # Process aging
>>AFF_SPROC 0