We already catch panics in user goroutines, but we don't restart the goroutines so users aren't able to login in again. Need to be careful about races.
Also need to make sure all related upstream & downstream goroutines are correctly terminated.