Skip to content

Bug in tut_intro.ipynb when calling cv.MultiSim #399

@TristanFauvel

Description

@TristanFauvel

Describe the bug

In the last cell of the tutorial tut_intro.ipynb , when running msim = cv.MultiSim([s1, s2]), I get the following error message:

BrokenProcessPool: A process in the process pool was terminated abruptly while the future was running or pending.

The full output is:

---------------------------------------------------------------------------
BrokenProcessPool                         Traceback (most recent call last)
Cell In[17], line 22
     20 s2 = cv.Sim(pars, interventions=protect_elderly, label='Protect the elderly')
     21 msim = cv.MultiSim([s1, s2])
---> 22 msim.run()
     23 fig = msim.plot(['cum_deaths', 'cum_infections'])

File c:\users\tfauvel\documents\covasim\covasim\run.py:172, in MultiSim.run(self, reduce, combine, **kwargs)
    170 # Run
    171 kwargs = sc.mergedicts(self.run_args, kwargs)
--> 172 self.sims = multi_run(sims, **kwargs)
    174 # Reduce or combine
    175 if reduce:

File c:\users\tfauvel\documents\covasim\covasim\run.py:1496, in multi_run(sim, n_runs, reseed, noise, noisepar, iterpars, combine, keep_people, run_args, sim_args, par_args, do_run, parallel, n_cpus, verbose, retry, **kwargs)
   1494         raise RuntimeError(errormsg) from E
   1495     else: # For all other runtime errors, raise the original exception
-> 1496         raise E
   1497 except pkl.PicklingError as E:
   1498     parallelizer = par_args.get('parallelizer')

File c:\users\tfauvel\documents\covasim\covasim\run.py:1477, in multi_run(sim, n_runs, reseed, noise, noisepar, iterpars, combine, keep_people, run_args, sim_args, par_args, do_run, parallel, n_cpus, verbose, retry, **kwargs)
   1475 kw = dict(iterkwargs=iterkwargs, kwargs=kwargs, **par_args)
   1476 try:
...
    392     finally:
    393         # Break a reference cycle with the exception in self._exception
    394         self = None

BrokenProcessPool: A process in the process pool was terminated abruptly while the future was running or pending.

Note that the following works fine:

s1 = cv.Sim(pars, label='Default')
s2 = cv.Sim(pars, interventions=protect_elderly, label='Protect the elderly')

Platform (please complete the following information):

  • Covasim version: 3.1.4
  • OS: Windows 10
  • Other platform information: using Anaconda Python

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