While refactoring the tests I found that channel.get does not yield errors to the callback. Instead it only emits an error event. I suspect this is the bug, and could mean a callback is left hanging, depending on how the error event is handled.
See get vs other RPCs such as cancel and consume.