It seems that if the collector is killed (SIGINT) while it is in the process of cleaning up after a router disconnect, then something goes wrong with the thread and I see the following message:
^C2017-10-12T23:57:41.037796 | NOTICE | signal_handler | Caught signal 2
terminate called without an active exception
Aborted (core dumped)
From what I can tell this is probably something like the main thread trying to cancel the client thread while it is already in the process of shutting down. I took a quick look, but nothing obvious stood out.
I'm able to fairly easily reproduce this by using the openbmp-forwarder to send messages to the collector. I then kill the forwarder and immediately kill the collector. If I wait until the collector has finished cleaning up after the client disconnect, then it will shut down cleanly.
It seems that if the collector is killed (SIGINT) while it is in the process of cleaning up after a router disconnect, then something goes wrong with the thread and I see the following message:
From what I can tell this is probably something like the main thread trying to cancel the client thread while it is already in the process of shutting down. I took a quick look, but nothing obvious stood out.
I'm able to fairly easily reproduce this by using the openbmp-forwarder to send messages to the collector. I then kill the forwarder and immediately kill the collector. If I wait until the collector has finished cleaning up after the client disconnect, then it will shut down cleanly.