Which goroutine panics: the one which got a successful login, or the other ones?
If the goroutine which sees a successful login panics, then that's a problem with that particular goroutine, and you'll need to debug it in the normal way. Reading the panic message carefully would be a good starting point.
Note that you don't "break out" of a goroutine; you can break out of a loop. You can terminate a goroutine simply by returning from the function that was invoked by "go <somefunc>"
If you want to terminate the other goroutines, then the standard way to do that is to use a Context, and signal the context as "done". If those goroutines are blocked on I/O, they should be modified so that they make use of the context too. There is a blog post
here you'll find useful. But it seems to me this is a separate problem to the one of the original goroutine throwing a panic.