Closed ibc closed 4 years ago
By looking at the trace it happens in a non controlled timeout
in association.js
line 925:
setTimeout(() => {
this._bundle()
})
It may happen that the association is closed/ended while the callback given to setTimeout()
is not yet executed, so it will be called in wrong state. Then it will invoke UDP socket.send()
without any try & catch
in transport.js:455
and thus produce an uncaught error
event that, by Node design, terminates the entire process, which is terrible in a server given that the application can not avoid that.
Fixed with try/catch until module refactoring.
Using SCTP over UDP and this is happening eventually when closing the SCTP endpoint. It produces an uncaught
error
event so it's terminating the whole Node process (this is 200% critical for me):