Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight

Re^2: Transport endpoint not connected

by DrManhattan (Chaplain)
on Mar 17, 2005 at 15:32 UTC ( #440398=note: print w/replies, xml ) Need Help??

in reply to Re: Transport endpoint not connected
in thread Transport endpoint not connected

I'm afraid I don't have any easy way to recreate it, other than throwing a lot of clients at it. It's perl 5.8.4 running under Linux 2.6.8. If I use the list form of accept, I get back the peer address correctly. Here's some debugging code:

foreach my $socket (@ready) { print STDERR "Start accept\n"; my ($connect, $paddr) = $socket->accept(); my ($port, $iaddr) = sockaddr_in($paddr); print STDERR "Peer: ", inet_ntoa($iaddr), ":$port\n"; if ($connect) { if (!$connect->peerhost()) { cluck("NULL PEERHOST: " . join(" : ", $connect->sockhost(), $connect->sockport(), $connect->peerhost(), $connect->peerport(), $! )); close($connect); print STDERR "End accept (no peerhost) +\n"; next; } $CLIENTS->add($connect); print STDERR "End accept (success)\n"; next; } print STDERR "End accept (no connect)\n"; }

Output looks like this:

Start accept
Peer: X.X.X.X:15627
NULL PEERHOST: Y.Y.Y.Y : 1235 :  :  : Transport endpoint is not connected at ./ line 115
End accept (no peerhost)
Where X.X.X.X is the client ip and Y.Y.Y.Y is my server ip. Perhaps this is an IO::Socket::INET bug?

On a related note, I'm also getting segfaults from perl under heavy load (~2500+ clients). The segfaults don't seem to be related to the null peerhosts. I believe they're occuring on syswrite() calls when I'm sending text back to the clients.


Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://440398]
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others avoiding work at the Monastery: (6)
As of 2023-12-11 21:28 GMT
Find Nodes?
    Voting Booth?
    What's your preferred 'use VERSION' for new CPAN modules in 2023?

    Results (41 votes). Check out past polls.