Skip to content

The Van der Pol Oscillator

In dynamics, the Van Der Pol oscillator1 is a non-conservative oscillator with non-linear damping. It evolves in time according to the second-order differential equation:

\begin{align} \frac{d^2x}{dt^2} - u (1 - x^2) \frac{dx}{dt} + x &= 0 \end{align}

where x is the position coordinate (a function of the time t), and u is a scalar parameter indicating the nonlinearity and the strength of the damping.

To make this an optimal control problem, we want to find the smallest control that will dampen the oscillation (drive the state variables to zero). We can express this as an objective function J to minimize:

\begin{align} J &= \int x^2_0 + x^2_1 + u^2 \end{align}

In other words, we want to find the optimal (smallest) trajectory of the control u such that the oscillation and the oscillation's rate of change are driven to zero.

State Variables

There are three state variables are used to define the configuration of the system at any given instant in time.

  • x_1: The primary output of the oscillator.
  • x_0: The rate of change of the primary output.
  • J: The objective function to be minimized.

The objective function is included as a state variable so that Dymos will do the integration.

The x_1 and x_0 state variables are also inputs to the system, along with the control u.

System Dynamics

The evolution of the state variables is given by the following ordinary differential equations (ODE):

\begin{align} \frac{dx_0}{dt} &= (1 - x^2_1) x_0 - x_1 + u \\ \frac{dx_1}{dt} &= x_0 \\ \frac{dJ}{dt} &= x^2_0 + x^2_1 + u^2 \end{align}

Control Variables

This system has a single control variable:

  • u: The control input.

The control variable has a constraint: -0.75 \leq u \leq 1.0

The initial and final conditions

The initial conditions are:

\begin{align} x_0 &= 1 \\ x_1 &= 1 \\ u &= -0.75 \end{align}

The final conditions are:

\begin{align} x_0 &= 0 \\ x_1 &= 0 \\ u &= 0 \end{align}

Defining the ODE as an OpenMDAO System

In Dymos, the ODE is an OpenMDAO System (a Component, or a Group of components). The following ExplicitComponent computes the state rates for the Van der Pol problem.

More detail on the workings of an ExplicitComponent can be found in the OpenMDAO documentation. In summary:

  • initialize: Called at setup, and used to define options for the component. ALL Dymos ODE components should have the property num_nodes, which defines the number of points at which the outputs are simultaneously computed.
  • setup: Used to add inputs and outputs to the component, and declare which outputs (and indices of outputs) are dependent on each of the inputs.
  • compute: Used to compute the outputs, given the inputs.
  • compute_partials: Used to compute the derivatives of the outputs with respect to each of the inputs analytically. This method may be omitted if finite difference or complex-step approximations are used, though analytic is recommended.

Things to note about the Van der Pol ODE system

  • Only the vanderpol_ode class below is important for defining the basic problem. The other classes are used to demonstrate Message Passing Interface (MPI) parallel calculation of the system. They can be ignored.
  • x_1, x_0, and u are inputs.
  • \dot{x_1}, \dot{x_0}, and \dot{J} are outputs.
  • declare_partials is called for every output with respect to every input.
  • For efficiency, partial derrivatives that are constant have values specified in the setup method rather than the compute_partials method. So although 9 partials are declared, only 5 are computed in compute_partials.
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
import numpy as np
import openmdao.api as om
import time
from openmdao.utils.array_utils import evenly_distrib_idxs


class vanderpol_ode(om.ExplicitComponent):
    """ODE for optimal control of a Van der Pol oscillator

    objective J:
        minimize integral of (x0**2 + x1**2 + u**2) for 0.0 <= t <= 15

    subject to:
        x0dot = (1 - x1^2) * x0 - x1 + u
        x1dot = x0
        -0.75 <= u <= 1.0

    initial conditions:
        x0(0) = 1.0   x1(0) = 1.0

    final conditions:
        x0(15) = 0.0  x1(15) = 0.0
    """

    def initialize(self):
        self.options.declare('num_nodes', types=int)

    def setup(self):
        nn = self.options['num_nodes']

        # inputs: 2 states and a control
        self.add_input('x0', val=np.ones(nn), desc='derivative of Output', units='V/s')
        self.add_input('x1', val=np.ones(nn), desc='Output', units='V')
        self.add_input('u', val=np.ones(nn), desc='control', units=None)

        # outputs: derivative of states
        # the objective function will be treated as a state for computation, so its derivative is an output
        self.add_output('x0dot', val=np.ones(nn), desc='second derivative of Output', units='V/s**2')
        self.add_output('x1dot', val=np.ones(nn), desc='derivative of Output', units='V/s')
        self.add_output('Jdot', val=np.ones(nn), desc='derivative of objective', units='1.0/s')

        # partials
        r = c = np.arange(nn)

        self.declare_partials(of='x0dot', wrt='x0',  rows=r, cols=c)
        self.declare_partials(of='x0dot', wrt='x1',  rows=r, cols=c)
        self.declare_partials(of='x0dot', wrt='u',   rows=r, cols=c, val=1.0)

        self.declare_partials(of='x1dot', wrt='x0',  rows=r, cols=c, val=1.0)
        self.declare_partials(of='x1dot', wrt='x1',  rows=r, cols=c, val=0.0)
        self.declare_partials(of='x1dot', wrt='u',   rows=r, cols=c, val=0.0)

        self.declare_partials(of='Jdot', wrt='x0',  rows=r, cols=c)
        self.declare_partials(of='Jdot', wrt='x1',  rows=r, cols=c)
        self.declare_partials(of='Jdot', wrt='u',   rows=r, cols=c)

    def compute(self, inputs, outputs):
        x0 = inputs['x0']
        x1 = inputs['x1']
        u = inputs['u']

        outputs['x0dot'] = (1.0 - x1**2) * x0 - x1 + u
        outputs['x1dot'] = x0
        outputs['Jdot'] = x0**2 + x1**2 + u**2

    def compute_partials(self, inputs, jacobian):
        # partials declared with 'val' above do not need to be computed
        x0 = inputs['x0']
        x1 = inputs['x1']
        u = inputs['u']

        jacobian['x0dot', 'x0'] = 1.0 - x1 * x1
        jacobian['x0dot', 'x1'] = -2.0 * x1 * x0 - 1.0

        jacobian['Jdot', 'x0'] = 2.0 * x0
        jacobian['Jdot', 'x1'] = 2.0 * x1
        jacobian['Jdot', 'u'] = 2.0 * u


class vanderpol_ode_group(om.Group):
    """Group containing distributed vanderpol_ode pass through and calculation"""

    def initialize(self):
        self.options.declare('num_nodes', types=int)

    def setup(self):
        nn = self.options['num_nodes']

        self.add_subsystem(name='vanderpol_ode_passthrough',
                           subsys=vanderpol_ode_passthrough(num_nodes=nn),
                           promotes_inputs=['x0', 'x1', 'u'])

        self.add_subsystem(name='vanderpol_ode_delay',
                           subsys=vanderpol_ode_delay(num_nodes=nn),
                           promotes_outputs=['x0dot', 'x1dot', 'Jdot'])

        # connect collect_comp (pass through) output to distributed ODE input
        self.connect('vanderpol_ode_passthrough.x0pass', 'vanderpol_ode_delay.x0')
        self.connect('vanderpol_ode_passthrough.x1pass', 'vanderpol_ode_delay.x1')
        self.connect('vanderpol_ode_passthrough.upass', 'vanderpol_ode_delay.u')


class vanderpol_ode_passthrough(om.ExplicitComponent):
    """Pass through component that just copies control and state from input to output

    if you just use a plain old passthrough (non-distributed with a full sized input and output) component to connect
    to the distributed output, the framework will do the MPI allgathering for you"""

    def initialize(self):
        self.options.declare('num_nodes', types=int)

    def setup(self):
        nn = self.options['num_nodes']  # total number of inputs and outputs over all processes

        # inputs: 2 states and a control
        self.add_input('x0', val=np.ones(nn), desc='derivative of Output', units='V/s')
        self.add_input('x1', val=np.ones(nn), desc='Output', units='V')
        self.add_input('u', val=np.ones(nn), desc='control', units=None)

        # outputs: same as inputs
        self.add_output('x0pass', val=np.ones(nn), desc='derivative of Output', units='V/s')
        self.add_output('x1pass', val=np.ones(nn), desc='Output', units='V')
        self.add_output('upass', val=np.ones(nn), desc='control', units=None)

        # partials
        row_col = np.arange(nn)
        self.declare_partials(of='x0pass', wrt='x0', rows=row_col, cols=row_col, val=1.0)
        self.declare_partials(of='x1pass', wrt='x1', rows=row_col, cols=row_col, val=1.0)
        self.declare_partials(of='upass', wrt='u', rows=row_col, cols=row_col, val=1.0)

    def compute(self, inputs, outputs):
        outputs['x0pass'] = inputs['x0']
        outputs['x1pass'] = inputs['x1']
        outputs['upass'] = inputs['u']


class vanderpol_ode_delay(om.ExplicitComponent):
    """intentionally slow version of vanderpol_ode for effects of demonstrating distributed component calculations

    MPI can run this component in multiple processes, distributing the calculation of derivatives.
    This code has a delay in it to simulate a longer computation. It should run faster with more processes.
    """

    def __init__(self, *args, **kwargs):
        self.delay_time = 0.005
        self.progress_prints = False
        super().__init__(*args, **kwargs)

    def initialize(self):
        self.options.declare('num_nodes', types=int)
        self.options['distributed'] = True
        self.options.declare('size', types=int, default=1, desc="Size of input and output vectors.")

    def setup(self):
        nn = self.options['num_nodes']
        comm = self.comm
        rank = comm.rank

        sizes, offsets = evenly_distrib_idxs(comm.size, nn)  # (#cpus, #inputs) -> (size array, offset array)
        start = offsets[rank]
        self.io_size = sizes[rank]  # number of inputs and outputs managed by this distributed process
        end = start + self.io_size

        if self.progress_prints:
            print('in vanderpol_ode_delay.setup', self.io_size, self.comm.rank)

        # inputs: 2 states and a control
        self.add_input('x0', val=np.ones(self.io_size), desc='derivative of Output', units='V/s',
                       src_indices=np.arange(start, end, dtype=int))
        self.add_input('x1', val=np.ones(self.io_size), desc='Output', units='V',
                       src_indices=np.arange(start, end, dtype=int))
        self.add_input('u', val=np.ones(self.io_size), desc='control', units=None,
                       src_indices=np.arange(start, end, dtype=int))

        # outputs: derivative of states
        # the objective function will be treated as a state for computation, so its derivative is an output
        self.add_output('x0dot', val=np.ones(self.io_size), desc='second derivative of Output', units='V/s**2')
        self.add_output('x1dot', val=np.ones(self.io_size), desc='derivative of Output', units='V/s')
        self.add_output('Jdot', val=np.ones(self.io_size), desc='derivative of objective', units='1.0/s')

        # partials
        r = c = np.arange(self.io_size)

        self.declare_partials(of='x0dot', wrt='x0',  rows=r, cols=c)
        self.declare_partials(of='x0dot', wrt='x1',  rows=r, cols=c)
        self.declare_partials(of='x0dot', wrt='u',   rows=r, cols=c, val=1.0)

        self.declare_partials(of='x1dot', wrt='x0',  rows=r, cols=c, val=1.0)
        self.declare_partials(of='x1dot', wrt='x1',  rows=r, cols=c, val=0.0)
        self.declare_partials(of='x1dot', wrt='u',   rows=r, cols=c, val=0.0)

        self.declare_partials(of='Jdot', wrt='x0',  rows=r, cols=c)
        self.declare_partials(of='Jdot', wrt='x1',  rows=r, cols=c)
        self.declare_partials(of='Jdot', wrt='u',   rows=r, cols=c)

    def compute(self, inputs, outputs):
        if self.progress_prints:
            sizes = (len(inputs['x0']), len(inputs['x1']), len(inputs['u']))
            print('in vanderpol_ode_delay.compute', sizes, self.comm.rank)

        time.sleep(self.delay_time * self.io_size)  # introduce slowness proportional to size of computation

        x0 = inputs['x0']
        x1 = inputs['x1']
        u = inputs['u']

        outputs['x0dot'] = (1.0 - x1**2) * x0 - x1 + u
        outputs['x1dot'] = x0
        outputs['Jdot'] = x0**2 + x1**2 + u**2

    def compute_partials(self, inputs, jacobian):
        if self.progress_prints:
            sizes = (len(inputs['x0']), len(inputs['x1']), len(inputs['u']))
            print('in vanderpol_ode_delay.compute_partials', sizes)

        time.sleep(self.delay_time * self.io_size)  # introduce slowness proportional to size of computation

        # partials declared with 'val' above do not need to be computed
        x0 = inputs['x0']
        x1 = inputs['x1']
        u = inputs['u']

        jacobian['x0dot', 'x0'] = 1.0 - x1 * x1
        jacobian['x0dot', 'x1'] = -2.0 * x1 * x0 - 1.0

        jacobian['Jdot', 'x0'] = 2.0 * x0
        jacobian['Jdot', 'x1'] = 2.0 * x1
        jacobian['Jdot', 'u'] = 2.0 * u

Defining the Dymos Problem

Once the ODEs are defined, they are used to create a Dymos Problem object that allows solution.

Things to note about the Van der Pol Dymos Problem definition

  • The vanderpol function creates and returns a Dymos Problem instance that can be used for simulation or optimization.
  • The vanderpol function has optional arguments for specifying options for the type of transcription, number of segments, optimizer, etc. These can be ignored when first trying to understand the code.
  • The Problem object has a Trajectory object, and the trajectory has a single Phase. Most of the problem setup is performed by calling methods on the phase (set_time_options, add_state, add_boundary_constraint, add_objective).
  • The add_state and add_control calls include the target parameter for x_0, x_1, and u. This is required so that the inputs are correctly calculated.
  • Initial (linear) guesses are supplied for the states and control.
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
import openmdao.api as om
import dymos as dm
from dymos.examples.vanderpol.vanderpol_ode import vanderpol_ode, vanderpol_ode_group


def vanderpol(transcription='gauss-lobatto', num_segments=8, transcription_order=3,
              compressed=True, optimizer='SLSQP', use_pyoptsparse=False, delay=None):
    """Dymos problem definition for optimal control of a Van der Pol oscillator"""

    # define the OpenMDAO problem
    p = om.Problem(model=om.Group())

    if not use_pyoptsparse:
        p.driver = om.ScipyOptimizeDriver()
    else:
        p.driver = om.pyOptSparseDriver()
    p.driver.options['optimizer'] = optimizer
    if use_pyoptsparse:
        if optimizer == 'SNOPT':
            p.driver.opt_settings['iSumm'] = 6  # show detailed SNOPT output
        elif optimizer == 'IPOPT':
            p.driver.opt_settings['print_level'] = 4
    p.driver.declare_coloring()

    # define a Trajectory object and add to model
    traj = dm.Trajectory()
    p.model.add_subsystem('traj', subsys=traj)

    # define a Transcription
    if transcription == 'gauss-lobatto':
        t = dm.GaussLobatto(num_segments=num_segments,
                            order=transcription_order,
                            compressed=compressed)
    elif transcription == 'radau-ps':
        t = dm.Radau(num_segments=num_segments,
                     order=transcription_order,
                     compressed=compressed)

    # define a Phase as specified above and add to Phase
    if not delay:
        phase = dm.Phase(ode_class=vanderpol_ode, transcription=t)
    else:
        phase = dm.Phase(ode_class=vanderpol_ode_group, transcription=t)  # distributed component group
    traj.add_phase(name='phase0', phase=phase)

    t_final = 15.0
    phase.set_time_options(fix_initial=True, fix_duration=True, duration_val=t_final, units='s')

    # set the State time options
    phase.add_state('x0', fix_initial=False, fix_final=False,
                    rate_source='x0dot',
                    units='V/s',
                    targets='x0')  # target required because x0 is an input
    phase.add_state('x1', fix_initial=False, fix_final=False,
                    rate_source='x1dot',
                    units='V',
                    targets='x1')  # target required because x1 is an input
    phase.add_state('J', fix_initial=False, fix_final=False,
                    rate_source='Jdot',
                    units=None)

    # define the control
    phase.add_control(name='u', units=None, lower=-0.75, upper=1.0, continuity=True,
                      rate_continuity=True, targets='u')  # target required because u is an input

    # add constraints
    phase.add_boundary_constraint('x0', loc='initial', equals=1.0)
    phase.add_boundary_constraint('x1', loc='initial', equals=1.0)
    phase.add_boundary_constraint('J', loc='initial', equals=0.0)

    phase.add_boundary_constraint('x0', loc='final', equals=0.0)
    phase.add_boundary_constraint('x1', loc='final', equals=0.0)

    # define objective to minimize
    phase.add_objective('J', loc='final')

    # setup the problem
    p.setup(check=True)

    # TODO - Dymos API will soon provide a way to specify this.
    # the linear solver used to compute derivatives is not working on MPI, so switch to LinearRunOnce
    for phase in traj._phases.values():
        phase.linear_solver = om.LinearRunOnce()

    p['traj.phase0.t_initial'] = 0.0
    p['traj.phase0.t_duration'] = t_final

    # add a linearly interpolated initial guess for the state and control curves
    p['traj.phase0.states:x0'] = phase.interpolate(ys=[1, 0], nodes='state_input')
    p['traj.phase0.states:x1'] = phase.interpolate(ys=[1, 0], nodes='state_input')
    p['traj.phase0.states:J'] = phase.interpolate(ys=[0, 1], nodes='state_input')
    p['traj.phase0.controls:u'] = phase.interpolate(ys=[-0.75, -0.75], nodes='control_input')

    p.final_setup()

    # debugging helpers:
    # om.n2(p)       # show n2 diagram
    #
    # with np.printoptions(linewidth=1024):  # display partials for manual checking
    #     p.check_partials(compact_print=True)

    return p


if __name__ == '__main__':
    # just set up the problem, test it elsewhere
    p = vanderpol(transcription='gauss-lobatto', num_segments=75, transcription_order=3,
                  compressed=True, optimizer='SLSQP')

Simulating the Problem (without control)

The following script creates an instance of the Dymos vanderpol problem and simulates it.

Since the problem was only simulated and not solved, the solution lines in the plots show only the initial guesses for x_0, x_1, and u. The simulation lines shown in the plots are the system response with the control variable u held constant.

The first two plots shows the variables x_0 and x_1 vs time. The third plots shows x_0 vs. x_1 (which will be mostly circular in the case of undamped oscillation). The final plot is the (fixed) control variable u vs time.

from dymos.examples.plotting import plot_results
from dymos.examples.vanderpol.vanderpol_dymos import vanderpol

# Create the Dymos problem instance
p = vanderpol(transcription='gauss-lobatto', num_segments=75)

# Run the problem (simulate only)
p.run_model()

# check validity by using scipy.integrate.solve_ivp to integrate the solution
exp_out = p.model.traj.simulate()

# Display the results
plot_results([('traj.phase0.timeseries.time',
               'traj.phase0.timeseries.states:x1',
               'time (s)',
               'x1 (V)'),
             ('traj.phase0.timeseries.time',
              'traj.phase0.timeseries.states:x0',
              'time (s)',
              'x0 (V/s)'),
              ('traj.phase0.timeseries.states:x0',
               'traj.phase0.timeseries.states:x1',
               'x0 vs x1',
               'x0 vs x1'),
             ('traj.phase0.timeseries.time',
              'traj.phase0.timeseries.controls:u',
              'time (s)',
              'control u'),
              ],
             title='Van Der Pol Simulation',
             p_sol=p, p_sim=exp_out)

plt.show()
--- Logging error ---
--- Logging error ---
Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
ValueError: I/O operation on closed file.
ValueError: I/O operation on closed file.
Call stack:
Call stack:
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 25, in test_vanderpol_for_docs_simulation
    p = vanderpol(transcription='gauss-lobatto', num_segments=75)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 25, in test_vanderpol_for_docs_simulation
    p = vanderpol(transcription='gauss-lobatto', num_segments=75)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/vanderpol_dymos.py", line 94, in vanderpol
    p.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/vanderpol_dymos.py", line 94, in vanderpol
    p.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
Message: 'checking out_of_order'
Arguments: ()
Message: 'checking out_of_order'
Arguments: ()
INFO: checking out_of_order
--- Logging error ---
--- Logging error ---
Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
ValueError: I/O operation on closed file.
ValueError: I/O operation on closed file.
Call stack:
Call stack:
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 25, in test_vanderpol_for_docs_simulation
    p = vanderpol(transcription='gauss-lobatto', num_segments=75)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 25, in test_vanderpol_for_docs_simulation
    p = vanderpol(transcription='gauss-lobatto', num_segments=75)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/vanderpol_dymos.py", line 94, in vanderpol
    p.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/vanderpol_dymos.py", line 94, in vanderpol
    p.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
Message: 'checking system'
Arguments: ()
Message: 'checking system'
Arguments: ()
INFO: checking system
--- Logging error ---
--- Logging error ---
Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
ValueError: I/O operation on closed file.
ValueError: I/O operation on closed file.
Call stack:
Call stack:
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 25, in test_vanderpol_for_docs_simulation
    p = vanderpol(transcription='gauss-lobatto', num_segments=75)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 25, in test_vanderpol_for_docs_simulation
    p = vanderpol(transcription='gauss-lobatto', num_segments=75)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/vanderpol_dymos.py", line 94, in vanderpol
    p.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/vanderpol_dymos.py", line 94, in vanderpol
    p.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
Message: 'checking solvers'
Arguments: ()
Message: 'checking solvers'
Arguments: ()
INFO: checking solvers
--- Logging error ---
--- Logging error ---
Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
ValueError: I/O operation on closed file.
ValueError: I/O operation on closed file.
Call stack:
Call stack:
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 25, in test_vanderpol_for_docs_simulation
    p = vanderpol(transcription='gauss-lobatto', num_segments=75)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 25, in test_vanderpol_for_docs_simulation
    p = vanderpol(transcription='gauss-lobatto', num_segments=75)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/vanderpol_dymos.py", line 94, in vanderpol
    p.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/vanderpol_dymos.py", line 94, in vanderpol
    p.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
Message: 'checking dup_inputs'
Arguments: ()
Message: 'checking dup_inputs'
Arguments: ()
INFO: checking dup_inputs
--- Logging error ---
--- Logging error ---
Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
ValueError: I/O operation on closed file.
ValueError: I/O operation on closed file.
Call stack:
Call stack:
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 25, in test_vanderpol_for_docs_simulation
    p = vanderpol(transcription='gauss-lobatto', num_segments=75)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 25, in test_vanderpol_for_docs_simulation
    p = vanderpol(transcription='gauss-lobatto', num_segments=75)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/vanderpol_dymos.py", line 94, in vanderpol
    p.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/vanderpol_dymos.py", line 94, in vanderpol
    p.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
Message: 'checking missing_recorders'
Arguments: ()
Message: 'checking missing_recorders'
Arguments: ()
INFO: checking missing_recorders
--- Logging error ---
--- Logging error ---
Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
ValueError: I/O operation on closed file.
ValueError: I/O operation on closed file.
Call stack:
Call stack:
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 25, in test_vanderpol_for_docs_simulation
    p = vanderpol(transcription='gauss-lobatto', num_segments=75)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 25, in test_vanderpol_for_docs_simulation
    p = vanderpol(transcription='gauss-lobatto', num_segments=75)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/vanderpol_dymos.py", line 94, in vanderpol
    p.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/vanderpol_dymos.py", line 94, in vanderpol
    p.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1893, in check_config
    _all_checks[c](self, logger)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1893, in check_config
    _all_checks[c](self, logger)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/error_checking/check_config.py", line 503, in _check_missing_recorders
    logger.warning(msg)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/error_checking/check_config.py", line 503, in _check_missing_recorders
    logger.warning(msg)
Message: 'The Problem has no recorder of any kind attached'
Arguments: ()
Message: 'The Problem has no recorder of any kind attached'
Arguments: ()
WARNING: The Problem has no recorder of any kind attached
--- Logging error ---
--- Logging error ---
Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
ValueError: I/O operation on closed file.
ValueError: I/O operation on closed file.
Call stack:
Call stack:
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 25, in test_vanderpol_for_docs_simulation
    p = vanderpol(transcription='gauss-lobatto', num_segments=75)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 25, in test_vanderpol_for_docs_simulation
    p = vanderpol(transcription='gauss-lobatto', num_segments=75)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/vanderpol_dymos.py", line 94, in vanderpol
    p.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/vanderpol_dymos.py", line 94, in vanderpol
    p.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
Message: 'checking comp_has_no_outputs'
Arguments: ()
Message: 'checking comp_has_no_outputs'
Arguments: ()
INFO: checking comp_has_no_outputs
--- Logging error ---
--- Logging error ---
Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
ValueError: I/O operation on closed file.
ValueError: I/O operation on closed file.
Call stack:
Call stack:
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 25, in test_vanderpol_for_docs_simulation
    p = vanderpol(transcription='gauss-lobatto', num_segments=75)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 25, in test_vanderpol_for_docs_simulation
    p = vanderpol(transcription='gauss-lobatto', num_segments=75)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/vanderpol_dymos.py", line 94, in vanderpol
    p.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/vanderpol_dymos.py", line 94, in vanderpol
    p.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
Message: 'checking auto_ivc_warnings'
Arguments: ()
Message: 'checking auto_ivc_warnings'
Arguments: ()
INFO: checking auto_ivc_warnings
--- Logging error ---
--- Logging error ---
Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
ValueError: I/O operation on closed file.
ValueError: I/O operation on closed file.
Call stack:
Call stack:
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 28, in test_vanderpol_for_docs_simulation
    p.run_model()
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 28, in test_vanderpol_for_docs_simulation
    p.run_model()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 619, in run_model
    self.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 619, in run_model
    self.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
Message: 'checking out_of_order'
Arguments: ()
Message: 'checking out_of_order'
Arguments: ()
INFO: checking out_of_order
--- Logging error ---
--- Logging error ---
Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
ValueError: I/O operation on closed file.
ValueError: I/O operation on closed file.
Call stack:
Call stack:
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 28, in test_vanderpol_for_docs_simulation
    p.run_model()
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 28, in test_vanderpol_for_docs_simulation
    p.run_model()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 619, in run_model
    self.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 619, in run_model
    self.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
Message: 'checking system'
Arguments: ()
Message: 'checking system'
Arguments: ()
INFO: checking system
--- Logging error ---
--- Logging error ---
Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
ValueError: I/O operation on closed file.
ValueError: I/O operation on closed file.
Call stack:
Call stack:
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 28, in test_vanderpol_for_docs_simulation
    p.run_model()
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 28, in test_vanderpol_for_docs_simulation
    p.run_model()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 619, in run_model
    self.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 619, in run_model
    self.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
Message: 'checking solvers'
Arguments: ()
Message: 'checking solvers'
Arguments: ()
INFO: checking solvers
--- Logging error ---
--- Logging error ---
Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
ValueError: I/O operation on closed file.
ValueError: I/O operation on closed file.
Call stack:
Call stack:
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 28, in test_vanderpol_for_docs_simulation
    p.run_model()
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 28, in test_vanderpol_for_docs_simulation
    p.run_model()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 619, in run_model
    self.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 619, in run_model
    self.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
Message: 'checking dup_inputs'
Arguments: ()
Message: 'checking dup_inputs'
Arguments: ()
INFO: checking dup_inputs
--- Logging error ---
--- Logging error ---
Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
ValueError: I/O operation on closed file.
ValueError: I/O operation on closed file.
Call stack:
Call stack:
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 28, in test_vanderpol_for_docs_simulation
    p.run_model()
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 28, in test_vanderpol_for_docs_simulation
    p.run_model()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 619, in run_model
    self.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 619, in run_model
    self.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
Message: 'checking missing_recorders'
Arguments: ()
Message: 'checking missing_recorders'
Arguments: ()
INFO: checking missing_recorders
--- Logging error ---
--- Logging error ---
Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
ValueError: I/O operation on closed file.
ValueError: I/O operation on closed file.
Call stack:
Call stack:
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 28, in test_vanderpol_for_docs_simulation
    p.run_model()
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 28, in test_vanderpol_for_docs_simulation
    p.run_model()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 619, in run_model
    self.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 619, in run_model
    self.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1893, in check_config
    _all_checks[c](self, logger)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1893, in check_config
    _all_checks[c](self, logger)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/error_checking/check_config.py", line 503, in _check_missing_recorders
    logger.warning(msg)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/error_checking/check_config.py", line 503, in _check_missing_recorders
    logger.warning(msg)
Message: 'The Problem has no recorder of any kind attached'
Arguments: ()
Message: 'The Problem has no recorder of any kind attached'
Arguments: ()
WARNING: The Problem has no recorder of any kind attached
--- Logging error ---
--- Logging error ---
Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
ValueError: I/O operation on closed file.
ValueError: I/O operation on closed file.
Call stack:
Call stack:
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 28, in test_vanderpol_for_docs_simulation
    p.run_model()
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 28, in test_vanderpol_for_docs_simulation
    p.run_model()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 619, in run_model
    self.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 619, in run_model
    self.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
Message: 'checking comp_has_no_outputs'
Arguments: ()
Message: 'checking comp_has_no_outputs'
Arguments: ()
INFO: checking comp_has_no_outputs
--- Logging error ---
--- Logging error ---
Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
ValueError: I/O operation on closed file.
ValueError: I/O operation on closed file.
Call stack:
Call stack:
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 28, in test_vanderpol_for_docs_simulation
    p.run_model()
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 28, in test_vanderpol_for_docs_simulation
    p.run_model()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 619, in run_model
    self.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 619, in run_model
    self.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
Message: 'checking auto_ivc_warnings'
Arguments: ()
Message: 'checking auto_ivc_warnings'
Arguments: ()
INFO: checking auto_ivc_warnings

Simulating trajectory traj
Done simulating trajectory traj

Solving the Optimal Control Problem

The next example shows optimization followed by simulation.

With a successful optimization, the resulting plots show a good match between the simulated (with varying control) and optimized results. The state variables x_0 and x_1 as well as the control variable u are all driven to zero.

import dymos as dm
from dymos.examples.plotting import plot_results
from dymos.examples.vanderpol.vanderpol_dymos import vanderpol

# Create the Dymos problem instance
p = vanderpol(transcription='gauss-lobatto', num_segments=75,
              transcription_order=3, compressed=True, optimizer='SLSQP')

# Find optimal control solution to stop oscillation
dm.run_problem(p)

# check validity by using scipy.integrate.solve_ivp to integrate the solution
exp_out = p.model.traj.simulate()

# Display the results
plot_results([('traj.phase0.timeseries.time',
               'traj.phase0.timeseries.states:x1',
               'time (s)',
               'x1 (V)'),
             ('traj.phase0.timeseries.time',
              'traj.phase0.timeseries.states:x0',
              'time (s)',
              'x0 (V/s)'),
              ('traj.phase0.timeseries.states:x0',
               'traj.phase0.timeseries.states:x1',
               'x0 vs x1',
               'x0 vs x1'),
             ('traj.phase0.timeseries.time',
              'traj.phase0.timeseries.controls:u',
              'time (s)',
              'control u'),
              ],
             title='Van Der Pol Optimization',
             p_sol=p, p_sim=exp_out)

plt.show()
INFO: checking out_of_order
INFO: checking system
INFO: checking solvers
INFO: checking dup_inputs
INFO: checking missing_recorders
WARNING: The Problem has no recorder of any kind attached
INFO: checking comp_has_no_outputs
INFO: checking auto_ivc_warnings
INFO: checking out_of_order
INFO: checking system
INFO: checking solvers
INFO: checking dup_inputs
INFO: checking missing_recorders
WARNING: The Problem has no recorder of any kind attached
INFO: checking comp_has_no_outputs
INFO: checking auto_ivc_warnings
INFO: checking out_of_order
INFO: checking system
INFO: checking solvers
INFO: checking dup_inputs
INFO: checking missing_recorders
WARNING: The Problem has no recorder of any kind attached
INFO: checking comp_has_no_outputs
INFO: checking auto_ivc_warnings
Full total jacobian was computed 3 times, taking 1.762086 seconds.
Total jacobian shape: (300, 379) 


Jacobian shape: (300, 379)  ( 1.84% nonzero)
FWD solves: 9   REV solves: 0
Total colors vs. total size: 9 vs 379  (97.6% improvement)

Sparsity computed using tolerance: 1e-25
Time to compute sparsity: 1.762086 sec.
Time to compute coloring: 0.011161 sec.
Optimization terminated successfully.    (Exit mode 0)
            Current function value: 5.280840345415473
            Iterations: 67
            Function evaluations: 76
            Gradient evaluations: 67
Optimization Complete
-----------------------------------

Simulating trajectory traj
Done simulating trajectory traj

Solving the Optimal Control Problem with Grid Refinement

Repeating the optimization with grid refinement enabled requires changing only two lines in the code. For the sake of grid refinement demonstration, the initial number of segments is also reduced by a factor of 5.

Optimization with grid refinement gets results similar to the example without grid refinement, but runs faster and does not require supplying a good guess for the number segments.

import dymos as dm
from dymos.examples.plotting import plot_results
from dymos.examples.vanderpol.vanderpol_dymos import vanderpol

# Create the Dymos problem instance
p = vanderpol(transcription='gauss-lobatto', num_segments=15,
              transcription_order=3, compressed=True, optimizer='SLSQP')

# Enable grid refinement and find optimal control solution to stop oscillation
p.model.traj.phases.phase0.set_refine_options(refine=True)
dm.run_problem(p, refine_iteration_limit=10)

# check validity by using scipy.integrate.solve_ivp to integrate the solution
exp_out = p.model.traj.simulate()

# Display the results
plot_results([('traj.phase0.timeseries.time',
               'traj.phase0.timeseries.states:x1',
               'time (s)',
               'x1 (V)'),
             ('traj.phase0.timeseries.time',
              'traj.phase0.timeseries.states:x0',
              'time (s)',
              'x0 (V/s)'),
              ('traj.phase0.timeseries.states:x0',
               'traj.phase0.timeseries.states:x1',
               'x0 vs x1',
               'x0 vs x1'),
             ('traj.phase0.timeseries.time',
              'traj.phase0.timeseries.controls:u',
              'time (s)',
              'control u'),
              ],
             title='Van Der Pol Optimization with Grid Refinement',
             p_sol=p, p_sim=exp_out)

plt.show()
--- Logging error ---
--- Logging error ---
Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
ValueError: I/O operation on closed file.
ValueError: I/O operation on closed file.
Call stack:
Call stack:
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 102, in test_vanderpol_for_docs_optimize_refine
    p = vanderpol(transcription='gauss-lobatto', num_segments=15,
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 102, in test_vanderpol_for_docs_optimize_refine
    p = vanderpol(transcription='gauss-lobatto', num_segments=15,
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/vanderpol_dymos.py", line 94, in vanderpol
    p.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/vanderpol_dymos.py", line 94, in vanderpol
    p.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
Message: 'checking out_of_order'
Arguments: ()
Message: 'checking out_of_order'
Arguments: ()
INFO: checking out_of_order
--- Logging error ---
--- Logging error ---
Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
ValueError: I/O operation on closed file.
ValueError: I/O operation on closed file.
Call stack:
Call stack:
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 102, in test_vanderpol_for_docs_optimize_refine
    p = vanderpol(transcription='gauss-lobatto', num_segments=15,
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 102, in test_vanderpol_for_docs_optimize_refine
    p = vanderpol(transcription='gauss-lobatto', num_segments=15,
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/vanderpol_dymos.py", line 94, in vanderpol
    p.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/vanderpol_dymos.py", line 94, in vanderpol
    p.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
Message: 'checking system'
Arguments: ()
Message: 'checking system'
Arguments: ()
INFO: checking system
--- Logging error ---
--- Logging error ---
Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
ValueError: I/O operation on closed file.
ValueError: I/O operation on closed file.
Call stack:
Call stack:
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 102, in test_vanderpol_for_docs_optimize_refine
    p = vanderpol(transcription='gauss-lobatto', num_segments=15,
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 102, in test_vanderpol_for_docs_optimize_refine
    p = vanderpol(transcription='gauss-lobatto', num_segments=15,
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/vanderpol_dymos.py", line 94, in vanderpol
    p.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/vanderpol_dymos.py", line 94, in vanderpol
    p.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
Message: 'checking solvers'
Arguments: ()
Message: 'checking solvers'
Arguments: ()
INFO: checking solvers
--- Logging error ---
--- Logging error ---
Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
ValueError: I/O operation on closed file.
ValueError: I/O operation on closed file.
Call stack:
Call stack:
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 102, in test_vanderpol_for_docs_optimize_refine
    p = vanderpol(transcription='gauss-lobatto', num_segments=15,
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 102, in test_vanderpol_for_docs_optimize_refine
    p = vanderpol(transcription='gauss-lobatto', num_segments=15,
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/vanderpol_dymos.py", line 94, in vanderpol
    p.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/vanderpol_dymos.py", line 94, in vanderpol
    p.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
Message: 'checking dup_inputs'
Arguments: ()
Message: 'checking dup_inputs'
Arguments: ()
INFO: checking dup_inputs
--- Logging error ---
--- Logging error ---
Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
ValueError: I/O operation on closed file.
ValueError: I/O operation on closed file.
Call stack:
Call stack:
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 102, in test_vanderpol_for_docs_optimize_refine
    p = vanderpol(transcription='gauss-lobatto', num_segments=15,
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 102, in test_vanderpol_for_docs_optimize_refine
    p = vanderpol(transcription='gauss-lobatto', num_segments=15,
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/vanderpol_dymos.py", line 94, in vanderpol
    p.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/vanderpol_dymos.py", line 94, in vanderpol
    p.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
Message: 'checking missing_recorders'
Arguments: ()
Message: 'checking missing_recorders'
Arguments: ()
INFO: checking missing_recorders
--- Logging error ---
--- Logging error ---
Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
ValueError: I/O operation on closed file.
ValueError: I/O operation on closed file.
Call stack:
Call stack:
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 102, in test_vanderpol_for_docs_optimize_refine
    p = vanderpol(transcription='gauss-lobatto', num_segments=15,
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 102, in test_vanderpol_for_docs_optimize_refine
    p = vanderpol(transcription='gauss-lobatto', num_segments=15,
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/vanderpol_dymos.py", line 94, in vanderpol
    p.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/vanderpol_dymos.py", line 94, in vanderpol
    p.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1893, in check_config
    _all_checks[c](self, logger)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1893, in check_config
    _all_checks[c](self, logger)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/error_checking/check_config.py", line 503, in _check_missing_recorders
    logger.warning(msg)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/error_checking/check_config.py", line 503, in _check_missing_recorders
    logger.warning(msg)
Message: 'The Problem has no recorder of any kind attached'
Arguments: ()
Message: 'The Problem has no recorder of any kind attached'
Arguments: ()
WARNING: The Problem has no recorder of any kind attached
--- Logging error ---
--- Logging error ---
Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
ValueError: I/O operation on closed file.
ValueError: I/O operation on closed file.
Call stack:
Call stack:
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 102, in test_vanderpol_for_docs_optimize_refine
    p = vanderpol(transcription='gauss-lobatto', num_segments=15,
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 102, in test_vanderpol_for_docs_optimize_refine
    p = vanderpol(transcription='gauss-lobatto', num_segments=15,
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/vanderpol_dymos.py", line 94, in vanderpol
    p.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/vanderpol_dymos.py", line 94, in vanderpol
    p.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
Message: 'checking comp_has_no_outputs'
Arguments: ()
Message: 'checking comp_has_no_outputs'
Arguments: ()
INFO: checking comp_has_no_outputs
--- Logging error ---
--- Logging error ---
Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
ValueError: I/O operation on closed file.
ValueError: I/O operation on closed file.
Call stack:
Call stack:
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 102, in test_vanderpol_for_docs_optimize_refine
    p = vanderpol(transcription='gauss-lobatto', num_segments=15,
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 102, in test_vanderpol_for_docs_optimize_refine
    p = vanderpol(transcription='gauss-lobatto', num_segments=15,
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/vanderpol_dymos.py", line 94, in vanderpol
    p.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/vanderpol_dymos.py", line 94, in vanderpol
    p.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
Message: 'checking auto_ivc_warnings'
Arguments: ()
Message: 'checking auto_ivc_warnings'
Arguments: ()
INFO: checking auto_ivc_warnings
--- Logging error ---
--- Logging error ---
Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
ValueError: I/O operation on closed file.
ValueError: I/O operation on closed file.
Call stack:
Call stack:
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 107, in test_vanderpol_for_docs_optimize_refine
    dm.run_problem(p, refine_iteration_limit=10)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 107, in test_vanderpol_for_docs_optimize_refine
    dm.run_problem(p, refine_iteration_limit=10)
  File "/home/travis/build/OpenMDAO/dymos/dymos/run_problem.py", line 126, in run_problem
    problem.final_setup()  # make sure command line option hook has a chance to run
  File "/home/travis/build/OpenMDAO/dymos/dymos/run_problem.py", line 126, in run_problem
    problem.final_setup()  # make sure command line option hook has a chance to run
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
Message: 'checking out_of_order'
Arguments: ()
Message: 'checking out_of_order'
Arguments: ()
INFO: checking out_of_order
--- Logging error ---
--- Logging error ---
Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
ValueError: I/O operation on closed file.
ValueError: I/O operation on closed file.
Call stack:
Call stack:
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 107, in test_vanderpol_for_docs_optimize_refine
    dm.run_problem(p, refine_iteration_limit=10)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 107, in test_vanderpol_for_docs_optimize_refine
    dm.run_problem(p, refine_iteration_limit=10)
  File "/home/travis/build/OpenMDAO/dymos/dymos/run_problem.py", line 126, in run_problem
    problem.final_setup()  # make sure command line option hook has a chance to run
  File "/home/travis/build/OpenMDAO/dymos/dymos/run_problem.py", line 126, in run_problem
    problem.final_setup()  # make sure command line option hook has a chance to run
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
Message: 'checking system'
Arguments: ()
Message: 'checking system'
Arguments: ()
INFO: checking system
--- Logging error ---
--- Logging error ---
Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
ValueError: I/O operation on closed file.
ValueError: I/O operation on closed file.
Call stack:
Call stack:
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 107, in test_vanderpol_for_docs_optimize_refine
    dm.run_problem(p, refine_iteration_limit=10)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 107, in test_vanderpol_for_docs_optimize_refine
    dm.run_problem(p, refine_iteration_limit=10)
  File "/home/travis/build/OpenMDAO/dymos/dymos/run_problem.py", line 126, in run_problem
    problem.final_setup()  # make sure command line option hook has a chance to run
  File "/home/travis/build/OpenMDAO/dymos/dymos/run_problem.py", line 126, in run_problem
    problem.final_setup()  # make sure command line option hook has a chance to run
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
Message: 'checking solvers'
Arguments: ()
Message: 'checking solvers'
Arguments: ()
INFO: checking solvers
--- Logging error ---
--- Logging error ---
Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
ValueError: I/O operation on closed file.
ValueError: I/O operation on closed file.
Call stack:
Call stack:
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 107, in test_vanderpol_for_docs_optimize_refine
    dm.run_problem(p, refine_iteration_limit=10)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 107, in test_vanderpol_for_docs_optimize_refine
    dm.run_problem(p, refine_iteration_limit=10)
  File "/home/travis/build/OpenMDAO/dymos/dymos/run_problem.py", line 126, in run_problem
    problem.final_setup()  # make sure command line option hook has a chance to run
  File "/home/travis/build/OpenMDAO/dymos/dymos/run_problem.py", line 126, in run_problem
    problem.final_setup()  # make sure command line option hook has a chance to run
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
Message: 'checking dup_inputs'
Arguments: ()
Message: 'checking dup_inputs'
Arguments: ()
INFO: checking dup_inputs
--- Logging error ---
--- Logging error ---
Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
ValueError: I/O operation on closed file.
ValueError: I/O operation on closed file.
Call stack:
Call stack:
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 107, in test_vanderpol_for_docs_optimize_refine
    dm.run_problem(p, refine_iteration_limit=10)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 107, in test_vanderpol_for_docs_optimize_refine
    dm.run_problem(p, refine_iteration_limit=10)
  File "/home/travis/build/OpenMDAO/dymos/dymos/run_problem.py", line 126, in run_problem
    problem.final_setup()  # make sure command line option hook has a chance to run
  File "/home/travis/build/OpenMDAO/dymos/dymos/run_problem.py", line 126, in run_problem
    problem.final_setup()  # make sure command line option hook has a chance to run
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
Message: 'checking missing_recorders'
Arguments: ()
Message: 'checking missing_recorders'
Arguments: ()
INFO: checking missing_recorders
--- Logging error ---
--- Logging error ---
Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
ValueError: I/O operation on closed file.
ValueError: I/O operation on closed file.
Call stack:
Call stack:
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 107, in test_vanderpol_for_docs_optimize_refine
    dm.run_problem(p, refine_iteration_limit=10)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 107, in test_vanderpol_for_docs_optimize_refine
    dm.run_problem(p, refine_iteration_limit=10)
  File "/home/travis/build/OpenMDAO/dymos/dymos/run_problem.py", line 126, in run_problem
    problem.final_setup()  # make sure command line option hook has a chance to run
  File "/home/travis/build/OpenMDAO/dymos/dymos/run_problem.py", line 126, in run_problem
    problem.final_setup()  # make sure command line option hook has a chance to run
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1893, in check_config
    _all_checks[c](self, logger)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1893, in check_config
    _all_checks[c](self, logger)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/error_checking/check_config.py", line 503, in _check_missing_recorders
    logger.warning(msg)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/error_checking/check_config.py", line 503, in _check_missing_recorders
    logger.warning(msg)
Message: 'The Problem has no recorder of any kind attached'
Arguments: ()
Message: 'The Problem has no recorder of any kind attached'
Arguments: ()
WARNING: The Problem has no recorder of any kind attached
--- Logging error ---
--- Logging error ---
Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
ValueError: I/O operation on closed file.
ValueError: I/O operation on closed file.
Call stack:
Call stack:
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 107, in test_vanderpol_for_docs_optimize_refine
    dm.run_problem(p, refine_iteration_limit=10)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 107, in test_vanderpol_for_docs_optimize_refine
    dm.run_problem(p, refine_iteration_limit=10)
  File "/home/travis/build/OpenMDAO/dymos/dymos/run_problem.py", line 126, in run_problem
    problem.final_setup()  # make sure command line option hook has a chance to run
  File "/home/travis/build/OpenMDAO/dymos/dymos/run_problem.py", line 126, in run_problem
    problem.final_setup()  # make sure command line option hook has a chance to run
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
Message: 'checking comp_has_no_outputs'
Arguments: ()
Message: 'checking comp_has_no_outputs'
Arguments: ()
INFO: checking comp_has_no_outputs
--- Logging error ---
--- Logging error ---
Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
ValueError: I/O operation on closed file.
ValueError: I/O operation on closed file.
Call stack:
Call stack:
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 107, in test_vanderpol_for_docs_optimize_refine
    dm.run_problem(p, refine_iteration_limit=10)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 107, in test_vanderpol_for_docs_optimize_refine
    dm.run_problem(p, refine_iteration_limit=10)
  File "/home/travis/build/OpenMDAO/dymos/dymos/run_problem.py", line 126, in run_problem
    problem.final_setup()  # make sure command line option hook has a chance to run
  File "/home/travis/build/OpenMDAO/dymos/dymos/run_problem.py", line 126, in run_problem
    problem.final_setup()  # make sure command line option hook has a chance to run
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
Message: 'checking auto_ivc_warnings'
Arguments: ()
Message: 'checking auto_ivc_warnings'
Arguments: ()
INFO: checking auto_ivc_warnings
--- Logging error ---
--- Logging error ---
Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
ValueError: I/O operation on closed file.
ValueError: I/O operation on closed file.
Call stack:
Call stack:
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 107, in test_vanderpol_for_docs_optimize_refine
    dm.run_problem(p, refine_iteration_limit=10)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 107, in test_vanderpol_for_docs_optimize_refine
    dm.run_problem(p, refine_iteration_limit=10)
  File "/home/travis/build/OpenMDAO/dymos/dymos/run_problem.py", line 132, in run_problem
    problem.run_driver()
  File "/home/travis/build/OpenMDAO/dymos/dymos/run_problem.py", line 132, in run_problem
    problem.run_driver()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 659, in run_driver
    self.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 659, in run_driver
    self.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
Message: 'checking out_of_order'
Arguments: ()
Message: 'checking out_of_order'
Arguments: ()
INFO: checking out_of_order
--- Logging error ---
--- Logging error ---
Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
ValueError: I/O operation on closed file.
ValueError: I/O operation on closed file.
Call stack:
Call stack:
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 107, in test_vanderpol_for_docs_optimize_refine
    dm.run_problem(p, refine_iteration_limit=10)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 107, in test_vanderpol_for_docs_optimize_refine
    dm.run_problem(p, refine_iteration_limit=10)
  File "/home/travis/build/OpenMDAO/dymos/dymos/run_problem.py", line 132, in run_problem
    problem.run_driver()
  File "/home/travis/build/OpenMDAO/dymos/dymos/run_problem.py", line 132, in run_problem
    problem.run_driver()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 659, in run_driver
    self.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 659, in run_driver
    self.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
Message: 'checking system'
Arguments: ()
Message: 'checking system'
Arguments: ()
INFO: checking system
--- Logging error ---
--- Logging error ---
Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
ValueError: I/O operation on closed file.
ValueError: I/O operation on closed file.
Call stack:
Call stack:
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 107, in test_vanderpol_for_docs_optimize_refine
    dm.run_problem(p, refine_iteration_limit=10)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 107, in test_vanderpol_for_docs_optimize_refine
    dm.run_problem(p, refine_iteration_limit=10)
  File "/home/travis/build/OpenMDAO/dymos/dymos/run_problem.py", line 132, in run_problem
    problem.run_driver()
  File "/home/travis/build/OpenMDAO/dymos/dymos/run_problem.py", line 132, in run_problem
    problem.run_driver()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 659, in run_driver
    self.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 659, in run_driver
    self.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
Message: 'checking solvers'
Arguments: ()
Message: 'checking solvers'
Arguments: ()
INFO: checking solvers
--- Logging error ---
--- Logging error ---
Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
ValueError: I/O operation on closed file.
ValueError: I/O operation on closed file.
Call stack:
Call stack:
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 107, in test_vanderpol_for_docs_optimize_refine
    dm.run_problem(p, refine_iteration_limit=10)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 107, in test_vanderpol_for_docs_optimize_refine
    dm.run_problem(p, refine_iteration_limit=10)
  File "/home/travis/build/OpenMDAO/dymos/dymos/run_problem.py", line 132, in run_problem
    problem.run_driver()
  File "/home/travis/build/OpenMDAO/dymos/dymos/run_problem.py", line 132, in run_problem
    problem.run_driver()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 659, in run_driver
    self.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 659, in run_driver
    self.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
Message: 'checking dup_inputs'
Arguments: ()
Message: 'checking dup_inputs'
Arguments: ()
INFO: checking dup_inputs
--- Logging error ---
--- Logging error ---
Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
ValueError: I/O operation on closed file.
ValueError: I/O operation on closed file.
Call stack:
Call stack:
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 107, in test_vanderpol_for_docs_optimize_refine
    dm.run_problem(p, refine_iteration_limit=10)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 107, in test_vanderpol_for_docs_optimize_refine
    dm.run_problem(p, refine_iteration_limit=10)
  File "/home/travis/build/OpenMDAO/dymos/dymos/run_problem.py", line 132, in run_problem
    problem.run_driver()
  File "/home/travis/build/OpenMDAO/dymos/dymos/run_problem.py", line 132, in run_problem
    problem.run_driver()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 659, in run_driver
    self.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 659, in run_driver
    self.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
Message: 'checking missing_recorders'
Arguments: ()
Message: 'checking missing_recorders'
Arguments: ()
INFO: checking missing_recorders
--- Logging error ---
--- Logging error ---
Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
ValueError: I/O operation on closed file.
ValueError: I/O operation on closed file.
Call stack:
Call stack:
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 107, in test_vanderpol_for_docs_optimize_refine
    dm.run_problem(p, refine_iteration_limit=10)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 107, in test_vanderpol_for_docs_optimize_refine
    dm.run_problem(p, refine_iteration_limit=10)
  File "/home/travis/build/OpenMDAO/dymos/dymos/run_problem.py", line 132, in run_problem
    problem.run_driver()
  File "/home/travis/build/OpenMDAO/dymos/dymos/run_problem.py", line 132, in run_problem
    problem.run_driver()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 659, in run_driver
    self.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 659, in run_driver
    self.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1893, in check_config
    _all_checks[c](self, logger)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1893, in check_config
    _all_checks[c](self, logger)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/error_checking/check_config.py", line 503, in _check_missing_recorders
    logger.warning(msg)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/error_checking/check_config.py", line 503, in _check_missing_recorders
    logger.warning(msg)
Message: 'The Problem has no recorder of any kind attached'
Arguments: ()
Message: 'The Problem has no recorder of any kind attached'
Arguments: ()
WARNING: The Problem has no recorder of any kind attached
--- Logging error ---
--- Logging error ---
Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
ValueError: I/O operation on closed file.
ValueError: I/O operation on closed file.
Call stack:
Call stack:
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 107, in test_vanderpol_for_docs_optimize_refine
    dm.run_problem(p, refine_iteration_limit=10)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 107, in test_vanderpol_for_docs_optimize_refine
    dm.run_problem(p, refine_iteration_limit=10)
  File "/home/travis/build/OpenMDAO/dymos/dymos/run_problem.py", line 132, in run_problem
    problem.run_driver()
  File "/home/travis/build/OpenMDAO/dymos/dymos/run_problem.py", line 132, in run_problem
    problem.run_driver()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 659, in run_driver
    self.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 659, in run_driver
    self.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
Message: 'checking comp_has_no_outputs'
Arguments: ()
Message: 'checking comp_has_no_outputs'
Arguments: ()
INFO: checking comp_has_no_outputs
--- Logging error ---
--- Logging error ---
Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/logging/__init__.py", line 1084, in emit
    stream.write(msg + self.terminator)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 63, in write
    f.write(text)
ValueError: I/O operation on closed file.
ValueError: I/O operation on closed file.
Call stack:
Call stack:
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/bin/testflo", line 8, in <module>
    sys.exit(main())
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 213, in main
    retval = run_pipeline(tests, pipeline)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/main.py", line 77, in run_pipeline
    for result in iters[-1]:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/summary.py", line 30, in get_iter
    for test in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/printer.py", line 28, in get_iter
    for result in input_iter:
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/runner.py", line 58, in get_iter
    result = test.run(self._queue)
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 317, in run
    status, expected2 = _try_call(getattr(parent, funcname))
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/miniconda/envs/PY3.8/lib/python3.8/site-packages/testflo/test.py", line 425, in _try_call
    func()
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/utils/doc_utils.py", line 119, in wrapped
    method(self)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 107, in test_vanderpol_for_docs_optimize_refine
    dm.run_problem(p, refine_iteration_limit=10)
  File "/home/travis/build/OpenMDAO/dymos/dymos/examples/vanderpol/doc/test_doc_vanderpol.py", line 107, in test_vanderpol_for_docs_optimize_refine
    dm.run_problem(p, refine_iteration_limit=10)
  File "/home/travis/build/OpenMDAO/dymos/dymos/run_problem.py", line 132, in run_problem
    problem.run_driver()
  File "/home/travis/build/OpenMDAO/dymos/dymos/run_problem.py", line 132, in run_problem
    problem.run_driver()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 659, in run_driver
    self.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 659, in run_driver
    self.final_setup()
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 998, in final_setup
    self.check_config(logger, checks=checks)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
  File "/home/travis/build/OpenMDAO/dymos/OpenMDAO/openmdao/core/problem.py", line 1892, in check_config
    logger.info('checking %s' % c)
Message: 'checking auto_ivc_warnings'
Arguments: ()
Message: 'checking auto_ivc_warnings'
Arguments: ()
INFO: checking auto_ivc_warnings
Full total jacobian was computed 3 times, taking 0.284229 seconds.
Total jacobian shape: (60, 79) 


Jacobian shape: (60, 79)  ( 8.78% nonzero)
FWD solves: 9   REV solves: 0
Total colors vs. total size: 9 vs 79  (88.6% improvement)

Sparsity computed using tolerance: 1e-25
Time to compute sparsity: 0.284229 sec.
Time to compute coloring: 0.002225 sec.
Optimization terminated successfully.    (Exit mode 0)
            Current function value: 5.72485209852227
            Iterations: 39
            Function evaluations: 45
            Gradient evaluations: 39
Optimization Complete
-----------------------------------


==================================================
          Grid Refinement - Iteration 0           
--------------------------------------------------
    Phase: traj.phases.phase0
        Refinement Options:
            Allow Refinement = True
            Tolerance = 0.0001
            Min Order = 3
            Max Order = 14
        Original Grid:
            Number of Segments = 15
            Segment Ends = [-1.0, -0.8667, -0.7333, -0.6, -0.4667, -0.3333, -0.2, -0.0667, 0.0667, 0.2, 0.3333, 0.4667, 0.6, 0.7333, 0.8667, 1.0]
            Segment Order = [3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3]
            Error = [ 0.02082, 0.009223, 0.004033, 0.007858, 0.006171, 0.001399, 0.0008773, 0.0003726, 7.544e-05, 6.699e-05, 1.756e-05, 4.544e-06, 4.666e-06, 6.197e-07, 1.264e-06]
    Phase: traj.phases.phase0
        New Grid:
            Number of Segments = 12
            Segment Ends = [-1.0, -0.8667, -0.7333, -0.6, -0.4667, -0.3333, -0.2, -0.0667, 0.0667, 0.3333, 0.6, 0.8667, 1.0]
            Segment Order = [5, 5, 5, 5, 5, 5, 5, 5, 3, 3, 3, 3]
        Refined: True

Full total jacobian was computed 3 times, taking 0.096953 seconds.
Total jacobian shape: (72, 104) 


Jacobian shape: (72, 104)  (17.80% nonzero)
FWD solves: 27   REV solves: 0
Total colors vs. total size: 27 vs 104  (74.0% improvement)

Sparsity computed using tolerance: 1e-25
Time to compute sparsity: 0.096953 sec.
Time to compute coloring: 0.005182 sec.
Optimization terminated successfully.    (Exit mode 0)
            Current function value: 5.284612785909781
            Iterations: 12
            Function evaluations: 13
            Gradient evaluations: 12
Optimization Complete
-----------------------------------


==================================================
          Grid Refinement - Iteration 1           
--------------------------------------------------
    Phase: traj.phases.phase0
        Refinement Options:
            Allow Refinement = True
            Tolerance = 0.0001
            Min Order = 3
            Max Order = 14
        Original Grid:
            Number of Segments = 12
            Segment Ends = [-1.0, -0.8667, -0.7333, -0.6, -0.4667, -0.3333, -0.2, -0.0667, 0.0667, 0.3333, 0.6, 0.8667, 1.0]
            Segment Order = [5, 5, 5, 5, 5, 5, 5, 5, 3, 3, 3, 3]
            Error = [0.001805, 0.0005197, 0.0001325, 0.0001365, 2.561e-05, 4.038e-06, 5.494e-06, 1.708e-05, 0.0001142, 1.584e-05, 2.093e-05, 7.052e-06]
    Phase: traj.phases.phase0
        New Grid:
            Number of Segments = 17
            Segment Ends = [-1.0, -0.9333, -0.8667, -0.8, -0.7333, -0.6667, -0.6, -0.5333, -0.4667, -0.3333, -0.2, -0.0667, 0.0667, 0.2, 0.3333, 0.6, 0.8667, 1.0]
            Segment Order = [5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 3, 3, 5, 5, 5]
        Refined: True

Model viewer data has already has already been recorded for Driver.
Full total jacobian was computed 3 times, taking 0.167166 seconds.
Total jacobian shape: (113, 164) 


Jacobian shape: (113, 164)  ( 6.84% nonzero)
FWD solves: 0   REV solves: 15
Total colors vs. total size: 15 vs 113  (86.7% improvement)

Sparsity computed using tolerance: 1e-25
Time to compute sparsity: 0.167166 sec.
Time to compute coloring: 0.010402 sec.
Optimization terminated successfully.    (Exit mode 0)
            Current function value: 5.278911043369152
            Iterations: 8
            Function evaluations: 9
            Gradient evaluations: 8
Optimization Complete
-----------------------------------


==================================================
          Grid Refinement - Iteration 2           
--------------------------------------------------
    Phase: traj.phases.phase0
        Refinement Options:
            Allow Refinement = True
            Tolerance = 0.0001
            Min Order = 3
            Max Order = 14
        Original Grid:
            Number of Segments = 17
            Segment Ends = [-1.0, -0.9333, -0.8667, -0.8, -0.7333, -0.6667, -0.6, -0.5333, -0.4667, -0.3333, -0.2, -0.0667, 0.0667, 0.2, 0.3333, 0.6, 0.8667, 1.0]
            Segment Order = [5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 3, 3, 5, 5, 5]
            Error = [0.0003776, 0.0001129, 0.000222, 1.598e-05, 2.226e-06, 8.712e-05, 3.641e-05, 6.489e-06, 5.313e-06, 1.123e-06, 1.667e-06, 4.651e-06, 2.87e-05,  1.9e-05, 1.135e-06, 7.121e-07, 1.398e-08]
    Phase: traj.phases.phase0
        New Grid:
            Number of Segments = 19
            Segment Ends = [-1.0, -0.9667, -0.9333, -0.8667, -0.8333, -0.8, -0.7333, -0.6667, -0.6, -0.5333, -0.4667, -0.3333, -0.2, -0.0667, 0.0667, 0.2, 0.3333, 0.6, 0.8667, 1.0]
            Segment Order = [5, 5, 7, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5]
        Refined: True

Model viewer data has already has already been recorded for Driver.
Full total jacobian was computed 3 times, taking 0.216001 seconds.
Total jacobian shape: (136, 199) 


Jacobian shape: (136, 199)  (11.71% nonzero)
FWD solves: 30   REV solves: 0
Total colors vs. total size: 30 vs 199  (84.9% improvement)

Sparsity computed using tolerance: 1e-25
Time to compute sparsity: 0.216001 sec.
Time to compute coloring: 0.011598 sec.
Optimization terminated successfully.    (Exit mode 0)
            Current function value: 5.278210946357875
            Iterations: 7
            Function evaluations: 7
            Gradient evaluations: 7
Optimization Complete
-----------------------------------


==================================================
          Grid Refinement - Iteration 3           
--------------------------------------------------
    Phase: traj.phases.phase0
        Refinement Options:
            Allow Refinement = True
            Tolerance = 0.0001
            Min Order = 3
            Max Order = 14
        Original Grid:
            Number of Segments = 19
            Segment Ends = [-1.0, -0.9667, -0.9333, -0.8667, -0.8333, -0.8, -0.7333, -0.6667, -0.6, -0.5333, -0.4667, -0.3333, -0.2, -0.0667, 0.0667, 0.2, 0.3333, 0.6, 0.8667, 1.0]
            Segment Order = [5, 5, 7, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5]
            Error = [9.893e-06, 7.491e-05, 1.918e-05, 5.351e-05, 3.778e-06, 2.219e-07, 6.455e-07, 8.766e-05, 3.99e-05, 6.299e-06, 5.298e-06, 1.088e-06, 6.456e-07, 8.801e-07, 3.989e-08, 2.035e-07, 4.069e-07, 1.126e-06, 7.747e-08]
Successfully completed grid refinement.
==================================================

Simulating trajectory traj
Done simulating trajectory traj

References


  1. Wikipedia contributors. Van der pol oscillator — Wikipedia, the free encyclopedia. 2020. [Online; accessed 12-June-2020]. URL: https://en.wikipedia.org/w/index.php?title=Van_der_Pol_oscillator&oldid=953857769