passed most tests (including transactional), but not the thread case