Root cause: some consumers loop forever when input queue is empty and producer has been interrupted (due to the trailing garbage detection).
Proposed solution:
producer should register it's ending when prematurely exits
and/or
consumers' interrupt check should take into account consumers waiting for brand new blocks when garbage has already been detected
Root cause: some consumers loop forever when input queue is empty and producer has been interrupted (due to the trailing garbage detection).
Proposed solution:
producer should register it's ending when prematurely exits
and/or
consumers' interrupt check should take into account consumers waiting for brand new blocks when garbage has already been detected
I'll publish a fix today