code: def test_crash_big_data(self):
      # Test that there is a clean exception instad of a deadlock when a
      # child process crashes while some data is being written into the
      # queue.
      # https://github.com/python/cpython/issues/94777
      self.executor.shutdown(wait=True)
      data = "a" * support.PIPE_MAX_SIZE
      with self.executor_type(
          max_workers=2, mp_context=self.get_context()
      ) as executor:
          self.executor = executor  # Allow clean up in fail_on_deadlock
          with self.assertRaises(BrokenProcessPool):
              list(executor.map(_crash_with_data, [data] * 10))
  
      executor.shutdown(wait=True)
  
imports: import contextlib
  import queue
  import signal
  import sys
  import time
  import unittest
  import unittest.mock
  from pickle import PicklingError
  from concurrent import futures
  from concurrent.futures.process import BrokenProcessPool, _ThreadWakeup
  from test import support
  from .util import create_executor_tests, setup_module, ProcessPoolForkMixin, ProcessPoolForkserverMixin, ProcessPoolSpawnMixin
label_desc: Use image node_id 17 for calling the ExecutorDeadlockTest obj's underlying member method code with example usage: obj.test_crash_big_data() without return types