Skip to content

Batch of parallel fails #584

@yaelbh

Description

@yaelbh

Informations

  • Qiskit Experiments version: main
  • Python version: 3.8.5
  • Operating system: Linux

What is the current behavior?

Running a batch experiment consisting of a parallel experiment fails.

Steps to reproduce the problem

import numpy as np

from qiskit_experiments.framework import ParallelExperiment, BatchExperiment
from qiskit_experiments.library import T1
from qiskit_experiments.test import T1Backend

backend = T1Backend([100e-6, 100e-6])

delays = list(np.arange(10e-6, 200e-6, 5e-6))

exp0 = T1(0, delays)
exp1 = T1(1, delays)
exp2 = T1(0, delays)

exp = BatchExperiment([exp0, ParallelExperiment([exp1, exp2])])
exp.run(backend)

Output:

Analysis callback <function BaseAnalysis.run.<locals>.run_analysis at 0x7f8b61bfff70> failed:
Traceback (most recent call last):
  File "/home/hrlquantum/work/experiments/System/qiskit_experiments/database_service/db_experiment_data.py", line 299, in _wrapped_callback
    callback(self, **kwargs)
  File "/home/hrlquantum/work/experiments/System/qiskit_experiments/framework/base_analysis.py", line 168, in run_analysis
    results, figures = analysis._run_analysis(expdata)
  File "/home/hrlquantum/work/experiments/System/qiskit_experiments/framework/composite/composite_analysis.py", line 86, in _run_analysis
    sub_exp.analysis.run(sub_exp_data, replace_results=True)
  File "/home/hrlquantum/work/experiments/System/qiskit_experiments/framework/base_analysis.py", line 183, in run
    experiment_data.add_analysis_callback(run_analysis)
  File "/home/hrlquantum/work/experiments/System/qiskit_experiments/database_service/db_experiment_data.py", line 325, in add_analysis_callback
    self._callback_future = self._executor.submit(_wrapped_callback)
  File "/home/hrlquantum/miniconda3/envs/env1/lib/python3.9/concurrent/futures/thread.py", line 161, in submit
    raise RuntimeError('cannot schedule new futures after shutdown')
RuntimeError: cannot schedule new futures after shutdown

Comments

  1. Apologizing about the usage of T1Backend in the example instead of Aer, just because I'm still used to it.
  2. Can be related to (or even a duplicate of) ThreadSafe object doesn't work as expected #573.
  3. I checked this scenario because Mattias pointed it out to me. It's important for Mattias to solve it. (Noting that Mattias receives another error message: Possibly incomplete analysis results: an analysis callback raised an error.).
  4. Consider to put on-hold until all the refactoring is done. @chriseclectic, @nkanazawa1989 Do you think the refactoring will solve the issue?

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions