fails(depends on GC behavior, fails intermittently):WeakRef#__getobj__ raises WeakRef::RefError if the object is no longer reachable
fails(depends on GC behavior, fails intermittently):WeakRef#__getobj__ returns the object if it is reachable
