code: def test_multiple_out_crash(self):
      # This test failed up to commit 2faeb62c38
      p0 = self.shared(
          np.asarray(np.random.random([4, 8]), dtype=self.dtype)
      )
      p1 = self.shared(
          np.asarray(np.random.random(8), dtype=self.dtype)
      )
      p2 = self.shared(
          np.asarray(np.random.random([8, 3]), dtype=self.dtype)
      )
      p3 = self.shared(
          np.asarray(np.random.random(3), dtype=self.dtype)
      )
      p = [p0, p1, p2, p3]
  
      # in my code these vars are the result of applying scan
      ften0 = tensor.tensor3("ft0", dtype=self.dtype)
      fmat1 = tensor.matrix("fm1", dtype=self.dtype)
      ften2 = tensor.tensor3("ft2", dtype=self.dtype)
      fmat3 = tensor.matrix("fm3", dtype=self.dtype)
  
      # then I keep only the last iteration
      fsub0 = ften0[-1]
      fsub1 = fmat1[-1]
      fsub2 = ften2[-1]
      fsub3 = fmat3[-1]
  
      fsub = [fsub0, fsub1, fsub2, fsub3]
  
      acc = theano.tensor.constant(1, "int8") >= 0
  
      new_positions = theano.ifelse.ifelse(acc, fsub, p)
  
      new_updates = [(p[0], new_positions[0])]
  
      f = theano.function(
          [ften0, fmat1, ften2, fmat3],
          [],
          updates=new_updates,
          mode=self.mode,
      )
      self.assertFunctionContains1(f, self.get_ifelse(4))
  
      i1 = np.asarray(np.random.random([19, 4, 8]), dtype=self.dtype)
      i2 = np.asarray(np.random.random([19, 8]), dtype=self.dtype)
      i3 = np.asarray(np.random.random([19, 8, 3]), dtype=self.dtype)
      i4 = np.asarray(np.random.random([19, 3]), dtype=self.dtype)
  
      f(i1, i2, i3, i4)
  
imports: from __future__ import absolute_import, print_function, division
  import unittest
  import numpy
  from nose.plugins.skip import SkipTest
  from six.moves import reduce
  import theano
  from theano import tensor
  import theano.ifelse
  from theano.ifelse import IfElse, ifelse
  from theano.tests import unittest_tools
label_desc: Use image node_id 10 for calling the test_ifelse obj's underlying member method code with example usage: obj.test_multiple_out_crash() without return types