import multiprocessing import time overly_deep_object = [] for _ in range(10000): overly_deep_object = [0, overly_deep_object] q = multiprocessing.Queue() try: q.put(overly_deep_object) print("No exception!") except Exception as e: print(e) obj = q.get(block=True) print("Got object!")