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 = tensor3("ft0", dtype=self.dtype)
      fmat1 = matrix("fm1", dtype=self.dtype)
      ften2 = tensor3("ft2", dtype=self.dtype)
      fmat3 = 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 = ptb.constant(1, "int8") >= 0
  
      new_positions = ifelse(acc, fsub, p)
  
      new_updates = [(p[0], new_positions[0])]
  
      f = 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 copy import deepcopy
  from functools import reduce
  import numpy
  import pytest
  import pytensor
  import pytensor.ifelse
  import pytensor.sparse
  import pytensor.tensor.basic
  from pytensor import function
  from pytensor.compile.mode import Mode, get_mode
  from pytensor.graph.basic import Apply
  from pytensor.graph.op import Op
  from pytensor.ifelse import IfElse, ifelse
  from pytensor.link.c.type import generic
  from pytensor.tensor.math import eq
  from pytensor.tensor.type import col, iscalar, ivector, matrix, row, scalar, tensor3, vector
  from tests import unittest_tools
label_desc: Use image node_id 12 for calling the TestIfelse obj's underlying member method code with example usage: obj.test_multiple_out_crash() without return types