Open patdub opened 11 months ago
This seems related to child classes that call super() and appears to be a bug in the pickling/canning process.
import ipyparallel as ipp
class A:
def __init__(self):
self.x = 1
class B(A):
def __init__(self):
pass
class C(A):
def __init__(self):
super().__init__()
# Start the clusters
rc = ipp.Cluster(n=2).start_and_connect_sync()
rc.wait_for_engines(n=2)
dview = rc[:]
dview["A"] = A
dview["B"] = B
dview["C"] = C # <-- RecursionError: maximum recursion depth exceeded
Hello all, I am trying to use ipyparallel with a module for Genetic Algorithm (pymoo) and for that, I need to pass the class name 'MyProblem' to the clusters (don't know really why clusters are not aware but I have also the same problem with function defined in the main program). When I pass the name using 'dview["MyProblem"] = MyProblem' I am facing a recursing error.
This is the simplified code below which reproduce the error. Do you have any idea ?
Thanks in advance for your help. Patrick.