get first device shouldn't release the context on failure