implement internal unstuck utility function
improve workaround for async cases