golang range over channel deadlock