add some thread error propagation

I don't see why we should abort, some error code returns are legit