Open
Description
What happened + What you expected to happen
Running any Ray jobs just hangs after I upgraded to Ray 2.47. I use uv
for environment management, which may be part of the issue judging by the error messages below. I can confirm the script below runs with Ray 2.46.
I have no idea what the issue might be, happy to give more information as needed. This may be related to #53060 as well.
Please see logs below:
2025-06-16 05:07:01,222 INFO worker.py:1917 -- Started a local Ray instance.
2025-06-16 05:07:01,240 INFO packaging.py:588 -- Creating a file package for local module '/home/coder/Research/Setup/uv_base'.
2025-06-16 05:07:01,263 INFO packaging.py:380 -- Pushing file package 'gcs://_ray_pkg_dbbf75d97baeb29d.zip' (1.63MiB) to Ray cluster...
2025-06-16 05:07:01,272 INFO packaging.py:393 -- Successfully pushed file package 'gcs://_ray_pkg_dbbf75d97baeb29d.zip'.
(raylet) error: unexpected argument '--node-ip-address' found
(raylet)
(raylet) tip: a similar argument exists: '--no-editable'
(raylet)
(raylet) Usage: uv run --with <WITH> --no-editable
(raylet)
(raylet) For more information, try '--help'.
(raylet)
(raylet)
(raylet) Usage: uv run --with <WITH> --no-editable
(raylet)
(raylet)
(raylet)
(raylet) Usage: uv run --with <WITH> --no-editable
(raylet)
(raylet) [2025-06-16 05:08:02,689 E 2371813 2371813] (raylet) worker_pool.cc:586: Some workers of the worker process(2372264) have not registered within the timeout. The process is dead, probably it crashed during start.
(raylet) error: unexpected argument '--node-ip-address' found [repeated 2x across cluster] (Ray deduplicates logs by default. Set RAY_DEDUP_LOGS=0 to disable log deduplication, or see https://docs.ray.io/en/master/ray-observability/user-guides/configure-logging.html#log-deduplication for more options.)
(raylet) tip: a similar argument exists: '--no-editable' [repeated 2x across cluster]
(raylet) For more information, try '--help'. [repeated 2x across cluster]
(raylet)
(raylet)
(raylet) Usage: uv run --with <WITH> --no-editable
(raylet)
(raylet)
(raylet)
(raylet) Usage: uv run --with <WITH> --no-editable
(raylet)
(raylet)
(raylet)
(raylet) Usage: uv run --with <WITH> --no-editable
(raylet)
Versions / Dependencies
Ray 2.47
Python 3.11
uv 0.7.13
Reproduction script
The script is taken from the docs:
import subprocess
import ray
zen_of_python = subprocess.check_output(["python", "-c", "import this"])
corpus = zen_of_python.split()
num_partitions = 3
chunk = len(corpus) // num_partitions
partitions = [corpus[i * chunk : (i + 1) * chunk] for i in range(num_partitions)]
def map_function(document):
for word in document.lower().split():
yield word, 1
@ray.remote
def apply_map(corpus, num_partitions=3):
map_results = [list() for _ in range(num_partitions)]
for document in corpus:
for result in map_function(document):
first_letter = result[0].decode("utf-8")[0]
word_index = ord(first_letter) % num_partitions
map_results[word_index].append(result)
return map_results
map_results = [
apply_map.options(num_returns=num_partitions).remote(data, num_partitions)
for data in partitions
]
for i in range(num_partitions):
mapper_results = ray.get(map_results[i])
for j, result in enumerate(mapper_results):
print(f"Mapper {i}, return value {j}: {result[:2]}")
Issue Severity
Medium: It is a significant difficulty but I can work around it.