"Wait requires a list of unique object refs" error

  • High: It blocks me to complete my task.

Hi. I encountered the following error during parallel execution.

Wait requires a list of unique object refs.

I checked the error and the ObjectRefs.

ObjectRef(b613ce2798bea6ed7c8fee5e51832ce467d14a750200000001000000), 
ObjectRef(777e7162ae762d36d86073c4abd4eca7d19e3f960200000001000000), 
ObjectRef(b613ce2798bea6ed7c8fee5e51832ce467d14a750200000001000000), 
ObjectRef(b613ce2798bea6ed7c8fee5e51832ce467d14a750200000001000000), 
ObjectRef(777e7162ae762d36d86073c4abd4eca7d19e3f960200000001000000), 
ObjectRef(777e7162ae762d36d86073c4abd4eca7d19e3f960200000001000000), 
...

As you can see, some ObjectRefs are redundant. But I made all of these actors differently and actually checked even those Class.options.

{"num_cpus": 1, "resources": {'node-000-000': 1}}
{"num_cpus": 1, "resources": {'node-000-001': 1}}
{"num_cpus": 1, "resources": {'node-000-002': 1}}
...

What’s more serious is that once the main execution flow is terminated (such as Control+c), and executed again, it now executed normally. Normal execution here means that ObjectRef is not duplicated as above.

I would be grateful if you could tell me why this is happening.

python version : 3.8.6
ray version : 2.3.0
If there is any other information you need, I will reply right away.

Hi @doryan607 , sorry just seeing this now. If you created each actor separately then this definitely is a bug. Can you share how you created the actors? Each should have its own actor handle…