It was cause by the free of con_error_message (the diff below) on multiple-server-failure. That for() loop prints out the error message, and frees it.. but never reinitializes it again causing *kaboom*.

During tracking all those various branches I noticed we never set an error message when we are skipping a server (and therefore return a failure code), which would lead to the same thing happening