Opened 5 years ago

Closed 5 years ago

#1385 closed defect (fixed)

SSU socket close not propagated

Reported by: zzz Owned by: zzz
Priority: minor Milestone: 0.9.16
Component: router/transport Version: 0.9.15
Keywords: Cc:
Parent Tickets: Sensitive: no

Description

http://zzz.i2p/topics/1707

100% CPU fixed in 0.9.15-1 but more to do.

The DatagramSocket? is being closed out from under us for unknown reasons. But there's no path to propagate this failure from UDPSender and/or UDPReceiver to UDPEndpoint to UDPTransport, and (if the only UDPEndpoint) to TransportManager?. Or to attempt to reopen the transport, or restart the whole router. So we will continue to advertise the SSU address and attempt to make SSU connections. Some of the required TransportManager? changes to remove the whole transport could be facilitated by pluggable transport work by psi.

Subtickets

Change History (2)

comment:1 Changed 5 years ago by zzz

Status: newaccepted

Partial fix in a79ddf9cb3a14cf1f744df839fbe8bbe1e9316bb 0.9.15-7.

Stops the runners, notifies the transport, removes the address, rebuilds the RI.

Not fully tested as I can't reproduce it on Linux. Removing an IPv6 interface just results in 'host unreachable' for outgoing packets. But the dual-stack implementation is completely different on Windows. If the only endpoint is closed, the transport comm system status is set to HOSED. This may blow up NTCP too? Hopefully not.

This also adds logging that may help in further diagnosis.

comment:2 Changed 5 years ago by zzz

Milestone: 0.9.180.9.16
Resolution: fixed
Status: acceptedclosed

I think the remaining 100% CPU issue on Windows is actually NTCP Pumper - see those tickets.

Note: See TracTickets for help on using tickets.