Ray.serve.start failure when actors with names lacking '#' already exist in namespace

I’m running ray 1.7.0

import ray
import ray.serve

ray.init(namespace="test2")

class Foo:
    def __init__(self):
        pass

h = ray.remote(Foo).options(name='foo').remote()
ray.serve.start()

When I run the above script I get

(pid=24965) INFO:     Started server process [24965]
Traceback (most recent call last):
  File "seesaw/session_server3.py", line 15, in <module>
    ray.serve.start()
  File "/home/gridsan/omoll/.local/lib/python3.8/site-packages/ray/serve/api.py", line 442, in start
    proxy_handles = ray.get(controller.get_http_proxies.remote())
  File "/home/gridsan/omoll/.local/lib/python3.8/site-packages/ray/_private/client_mode_hook.py", line 89, in wrapper
    return func(*args, **kwargs)
  File "/home/gridsan/omoll/.local/lib/python3.8/site-packages/ray/worker.py", line 1623, in get
    raise value
ray.exceptions.RayActorError: The actor died because of an error raised in its creation task, ray::SERVE_CONTROLLER_ACTOR:HVDCsE:ServeController.__init__ (pid=24987, ip=172.31.130.194)
  File "/state/partition1/llgrid/pkg/anaconda/anaconda3-2021b/lib/python3.8/concurrent/futures/_base.py", line 437, in result
    return self.__get_result()
  File "/state/partition1/llgrid/pkg/anaconda/anaconda3-2021b/lib/python3.8/concurrent/futures/_base.py", line 389, in __get_result
    raise self._exception
  File "/home/gridsan/omoll/.local/lib/python3.8/site-packages/ray/serve/controller.py", line 91, in __init__
    self.backend_state_manager = BackendStateManager(
  File "/home/gridsan/omoll/.local/lib/python3.8/site-packages/ray/serve/backend_state.py", line 1159, in __init__
    self._recover_from_checkpoint(all_current_actor_names)
  File "/home/gridsan/omoll/.local/lib/python3.8/site-packages/ray/serve/backend_state.py", line 1202, in _recover_from_checkpoint
    deployment_to_current_replicas = self._map_actor_names_to_deployment(
  File "/home/gridsan/omoll/.local/lib/python3.8/site-packages/ray/serve/backend_state.py", line 1185, in _map_actor_names_to_deployment
    replica_tag = ReplicaName.from_str(replica_name)
  File "/home/gridsan/omoll/.local/lib/python3.8/site-packages/ray/serve/common.py", line 59, in from_str
    assert len(parsed) == 2, (
AssertionError: Given replica name foo didn't match pattern, please ensure it has exactly two fields with delimiter #

This does not happen if I do not create the actor, and also does not happen if I name my actor
foo#bar. Is this behavior expected?

Hi @orm011 this is definitely not expected. Thank you for writing a clear reproducible example :D. I created a github issue for fixing this. [Serve] `serve.start` failure with existing regular ray actors. · Issue #20066 · ray-project/ray · GitHub