Skip to content

Zero resources might crash the raylet #4892

@pcmoritz

Description

@pcmoritz

The crash can be reproduced with the following script (this is on 0.7.0 from pip):

import ray

ray.init(num_cpus=0)

@ray.remote(num_cpus=0) 
class A(object): 
    def __init__(self): 
        pass 
    def f(self): 
        pass

a = A.remote()
x = a.f.remote()
ray.get(x)

The last line crashes the raylet with

WARNING: Logging before InitGoogleLogging() is written to STDERR
I0529 21:13:02.770886 18815 stats.h:48] Succeeded to initialize stats: exporter address is 127.0.0.1:8888
terminate called after throwing an instance of 'std::out_of_range'
  what():  _Map_base::at
*** Aborted at 1559164424 (unix time) try "date -d @1559164424" if you are using GNU date ***
PC: @                0x0 (unknown)
*** SIGABRT (@0x3e80000497f) received by PID 18815 (TID 0x7f9b6a960740) from PID 18815; stack trace: ***
    @     0x7f9b6a540890 (unknown)
    @     0x7f9b69634e97 gsignal
    @     0x7f9b69636801 abort
    @     0x7f9b6a0298b7 (unknown)
    @     0x7f9b6a02fa06 (unknown)
    @     0x7f9b6a02fa41 std::terminate()
    @     0x7f9b6a02fc74 __cxa_throw
    @     0x7f9b6a02b78f (unknown)
    @           0x45800a std::__detail::_Map_base<>::at()
    @           0x465ae2 ray::raylet::NodeManager::AssignTask()
    @           0x466407 ray::raylet::NodeManager::DispatchTasks()
    @           0x46ef6a ray::raylet::NodeManager::ProcessGetTaskMessage()
    @           0x471b6b ray::raylet::NodeManager::ProcessClientMessage()
    @           0x43011d _ZNSt17_Function_handlerIFvSt10shared_ptrIN3ray16ClientConnectionIN5boost4asio5local15stream_protocolEEEElPKhEZNS1_6raylet6Raylet12HandleAcceptERKNS3_6system10error_codeEEUlS8_lSA_E0_E9_M_invokeERKSt9_Any_dataS8_lSA_
    @           0x4e21a0 ray::ClientConnection<>::ProcessMessage()
    @           0x4de5aa boost::asio::detail::read_op<>::operator()()
    @           0x4de6f3 boost::asio::detail::reactive_socket_recv_op<>::do_complete()
    @           0x42497d boost::asio::detail::scheduler::run()
    @           0x40e041 main
    @     0x7f9b69617b97 __libc_start_main
    @           0x41f571 (unknown)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions