Problem is a race condition
private producer buffer not quite working