code: def test_task_crash_after_raylet_dead_throws_node_died_error():
      @ray.remote(max_retries=0)
      def sleeper():
          import os
  
          time.sleep(3)
          os.kill(os.getpid(), 9)
  
      with ray.init():
          ref = sleeper.remote()
  
          raylet = ray.nodes()[0]
          kill_raylet(raylet)
  
          with pytest.raises(ray.exceptions.NodeDiedError) as error:
              ray.get(ref)
          message = str(error)
          assert raylet["NodeManagerAddress"] in message
  
imports: import subprocess
  import sys
  import time
  import grpc
  import numpy
  import psutil
  import pytest
  from grpc._channel import _InactiveRpcError
  from ray.util.state import list_tasks
  from ray._private.state_api_test_utils import verify_failed_task
  import ray
  import ray._private.ray_constants
  import ray.experimental.internal_kv
  from ray import NodeID
  from ray._private.test_utils import SignalActor, get_error_message, init_error_pubsub, run_string_as_driver, wait_for_condition, kill_raylet
  from ray.cluster_utils import Cluster, cluster_not_supported
  from ray.core.generated import gcs_service_pb2, gcs_service_pb2_grpc, node_manager_pb2, node_manager_pb2_grpc
  from ray.exceptions import LocalRayletDiedError
label_desc: Use image node_id 14 for calling a global function with example usage: test_task_crash_after_raylet_dead_throws_node_died_error() without return types