There was some kind of deadlock while one listener was trying to read a config changes.
I rewrote gitpod config service to use conditional variable to announce changes in gitpod config to avoid synchronization over map of listeners.
I changed clients as well that they don't consider nil config as closed channel and stop reading.