looping reads, doesn't crash