The error channel should have room for an error from each worker goroutine, otherwise goroutines deadlock if an error occurs in more than one at the same time.