code: def test_owner_assign_bug(ray_start_regular):
      @ray.remote
      class Owner:
          pass
  
      owner = Owner.remote()
  
      @ray.remote
      class Executor:
          def f(self):
              x = [ray.put("World", _owner=owner)]
              print("World id:", x)
              return x
  
      e = Executor.remote()
      [ref] = ray.get(e.f.remote())
  
      time.sleep(1)
      del e  # <------ this also seems to delete the "World" object
      time.sleep(1)
  
      print("Hello", ray.get(ref))
  
file_path: ray/python/ray/tests/test_object_assign_owner.py
imports: import pytest
  import ray
  import time
  import numpy
  import os
  from ray._private.test_utils import skip_flaky_core_test_premerge
  from ray.exceptions import OwnerDiedError
label_desc: Use image node_id 1 for calling a global function with example usage: test_owner_assign_bug(ray_start_regular) and returns: x