Joined: Dec 2002
In the following sections you will find a list of common, connection-related IRC errors, with a description/link when and why those happen.
To make these messages easier to understand, let's make an analogy.
 Can't assign requested address More hereScenario: Joe is trying to call Mary's workplace; he doesn't really care who he talks to there (Mary, Jane, Helga, Kyoko), so he just dials the main company number, which has been (temporarily) changed to 9. The solution, of course, is to dial up Mary or (Jane, or Helga, etc.) directly.
- Cast of characters:
- Joe is your mIRC, an IRC client.
- Mary is the IRC server (as are Jane, Helga and Kyoko, all of whom work at the same place (network) Mary does).
- The switchboard operator where Mary works is the random server on a network (usually irc.network.net).
- In most cases in our scenario, Joe is trying to call Mary via telephone. [/color]
 Network is down More here Network unreachable More hereScenario: Joe gets a dial tone but dialing Mary's telephone number doesn't make her phone ring.
- This means the IRC server is unreachable for everybody. Most probably the admins have tweaked their DNS records to point to the non-existant IP number 255.255.255.255 to detour a DDoS (Distributed Denial of Service) attack. Better try a specific IRC server on that network or another network! (When they set the server IP address to be 255.255.255.255 you will get the error "Can't assign requested address". When they set it to 127.0.0.1 you will get the error "Connection refused" because you are trying to connect to yourself as the server. If they disable the address altogether (set it to nothing) you will get the error "[color:§green]Unable to resolve IRC server[/color]".)
 Network dropped connection on reset More hereScenario: Joe gets a dial tone but in the process of dialing Mary and making her phone ring, her switchboard went down.
- These error occurs on if the destination network is down, or perhaps one of the network segments on the way to that network is down with no way to reroute the data packets.
 Software cause connection abort More hereScenario: Joe and Mary are on their cell phones. Joe's battery freaks out briefly, making him think that the call to Mary had ended, so he hung up.
- The server that hosts the IRC server, or the network it's on, crashed, rebooted or got reset. Just reconnect in a few minutes.
 Connection reset by peer More here
- This error occurs on the client-side for many reasons. Essentially, it is the same thing as the next error (which is server-side).
 No buffer space available More here Scenario: Joe wanted to call Mary, but his hands were already full.
- Connection reset by peer is a tough one because it can be caused by so many things. In all cases, the server determines that the socket is no longer good and closes it from its side.
- Read Error
Scenario: Mary couldn't make out what Joe was saying anymore, so she hung up rather than lose his messages (data).
A read error occurs when a server cannot successfully read from a user's client. Servers gather information from the client by text, setup, and other items.When the server receives an error when reading from a client, it then disconnects the user, resulting in a read error quit message.
- Write Error
Scenario: Mary was trying to talk to Joe but didn't think she was getting through, so she hung rather than lose his messages (data).
A write error occurs when a server cannot successfully write to a user's client. When the server receives information, it usually responds with information of its own. When the server receives an error when writing to a client, it then disconnects the user, resulting in a write error quit message similar to the read error format.
- Ping Timeout Error
Scenario: Mary, having been raised in a household with too many kids and always craving attention, keeps asking to make sure that Joe is still on the line and listening. If he doesn't reply fast enough to suit her, she hangs up.
Servers automatically ping users at a preset time. The reason for this is to ensure the client is still connected to the server. When you see "PING? PONG!" results in your status window, it means the server has pinged your client, and it has responded back with a pong to ensure the server that you are still connected. When this does not happen and you disconnect without the server's knowledge, the server will automatically disconnect the user when it does not receive a response, resulting in a ping timeout. Ping timeouts occur to EVERYONE.
- Broken pipe Error
Scenario: Mary had picked up a sticky note with a message she needed to relay to Joe, but somehow between her hand and her mouth, the message got misplaced. Mary was trying to talk to Joe but didn't think she was getting through, so she hung up rather than lose his messages (data).
A broken pipe error occurs when the server knows it has a message but can't seem to use its internal data link to get the data out to the socket.
Scenario: Lots of other reasons; perhaps the operator broke in and gave Mary a message that made her doubt the validity of the call so she hung up.
 Connection timed out Error More hereScenario: Joe dialed Mary's number, but it never rang, or, it rang but she never picked it up.
- This means mIRC is having a problem creating a new a network socket; it cannot use your Internet connection to connect to an IRC server. If you are using a lot of other network applications at the same time, you might get this error. Close some other applications and/or reset your Internet connection to fix this problem. This error also indicates a shortage of resources on your system. It can occur if you're trying to run too many applications (of any kind) simultaneously on your machine. If this tends to occur after running certain applications for a while, it might be a symptom of an application that doesn't return system resources (like memory) properly. It may also indicate you are not closing the applications properly. If it persists, exit Windows or reboot your machine to remedy the problem. You can monitor available memory with Windows Explorer's "Help/About..." command.
 Connection refused Error More here Scenario: Mary isn't even home. Try Jane down the road.
- Things can get slow on the Internet. Either when you try to reach a far away server or when connections somewhere in between your Internet provider and the IRC server are broken. Very often you didnt have a (proper) connection to the Internet even before you started mIRC. Patience is usually the best option here. Try it again in a few minutes or try another IRC server. This has nothing todo with mIRC. There is not something you can magically fix.
A connect or send request failed because the connected party did not properly respond after a period of time. (The timeout period is dependent on the communication protocol.)
Check the obvious first: check that the destination address is a valid IP address. If you used a hostname, did it resolve to the correct address? If the hostname resolution uses a local host table, it's possible you resolved to an obsolete address. Can you ping that hostname?
Do you have a router configured? Is the router up and running (check by pinging it, and then ping an address on the other side of it)? Try a traceroute to the destination address to check that all the routers are functioning.
Check your subnet mask. If you don't have the proper subnet mask, your network system may treat a local address as a remote address (so it forwards addresses on the local subnet to the router, rather than broadcasting an ARP request locally), or visa versa.
 No route to host Error More hereScenario: Joe can't even find his phone.
- No connection could be made because the target machine actively refused it. This usually results from trying to connect to a service that is inactive on the foreign host.
Either you went to the wrong host, or the server application you're trying to contact isn't executing. Check the destination address you are using. If you used a hostname, did it resolve to the correct address? If the hostname resolution uses a local hosttable, it's possible you resolved to an old obsolete address. It's also possible that the local services file has an incorrect port number (although it's unlikely).
You can verify that the remote system is rejecting your connection attempt by checking the network statistics locally. Check that your network system (WinSock implementation) has a utility that shows network statistics. You could use this to verify that you're receiving TCP resets or ICMP Port Unreachable packets each time you attempt to connect.
This is one of the most frequent errors and one of the best to encounter, since it's one of the least ambiguous. There are only a few possible causes for this error:
- You tried to connect to the wrong port. This is a common problem.
- You tried to connect to the wrong destination host address.
- The server application isn't running on the destination host.
- The server application isn't listening on the right port.
Unable to resolve IRC server Scenario: Joe is trying to call Mary but the operator doesn't know who Mary is.
- This normally means you are not properly connected to the Internet. Your Windows cannot find out how or where to find the IRC server. It has nothing todo with mIRC or IRC! Check your connection (reconnect if everything seems fine) and try again.
- This error occurs when the DNS records (that convert hostnames to IP addresses for actual use) are altered or non-existant (no authoritative DNS server could be located).
- The DNS server for that hostname is down.
- The DNS records for that domain are no longer active or valid.
- The new DNS records for a domain which has changed IPs have not yet propagated so they still point to the old IP address, which can also give a Connection Refused error or Connection Timed Out error.
- There are a few more errors I have not mentioned here, those errors can be found here.
I would like to thank Hammer for his inspiring ideas for the scenarios and his suggestions and also Krejt for his document.
Last edited by Merlin; 06/01/03 04:14 PM.
DALnet: #HelpDesk, #mIRC, #MISHScript - Undernet: #mIRC, #mIRC-Scripts