@@ -2695,6 +2695,144 @@ def recursive_wrapper_4569():
26952695 pass
26962696 """ ))
26972697
2698+ def test_missing_parent_executor_does_not_crash (self ):
2699+ script_helper .assert_python_ok ("-c" , textwrap .dedent ("""
2700+ import random
2701+
2702+ rand = random.Random(38720)
2703+ import sys
2704+
2705+ def b():
2706+ for c in range(23):
2707+ rand.random()
2708+ rand.random()
2709+ if rand.random() > 0.1:
2710+ rand.random()
2711+ rand.random()
2712+ rand.random()
2713+ for c in range(4):
2714+ rand.random()
2715+ if rand.random():
2716+ 0
2717+ if rand.random() > 0.1:
2718+ rand.random()
2719+ rand.random()
2720+ if rand.random():
2721+ rand.random()
2722+ if rand.random():
2723+ rand.random()
2724+ rand.random()
2725+ if rand.random():
2726+ rand.random()
2727+ rand.random()
2728+ if rand.random():
2729+ if rand.random() > 0.1:
2730+ rand.random()
2731+ if rand.random() < rand.random():
2732+ ...
2733+ if rand.random() < rand.random():
2734+ ...
2735+ if rand.random():
2736+ ...
2737+ if rand.random() > 0.1:
2738+ rand.random()
2739+ rand.random()
2740+ for c in range(12):
2741+ rand.random()
2742+
2743+ def random(B):
2744+ if rand.random() < 0.1:
2745+ random(B)
2746+
2747+ def Random(B):
2748+ if rand.random():
2749+ random(B)
2750+
2751+ def b(B):
2752+ if rand.random():
2753+ Random(B)
2754+
2755+ def c(B):
2756+ if rand.random() < 0.1:
2757+ b(B)
2758+
2759+ def a(B):
2760+ if rand.random() > 0.1:
2761+ c(B)
2762+
2763+ def A(B):
2764+ if rand.random() > 0.1:
2765+ a(B)
2766+
2767+ def C(B):
2768+ if rand.random() > 0.1:
2769+ A(B)
2770+
2771+ def B(B):
2772+ if rand.random() < 0.1:
2773+ C(B)
2774+
2775+ for D in range(200):
2776+ try:
2777+ B(D)
2778+ except:
2779+ ...
2780+
2781+ class A:
2782+ def __del__(C):
2783+ b = sys._getframe(1)
2784+ exec("D=0", b.f_globals, b.f_locals)
2785+
2786+ B = A()
2787+ if rand.random() < 0.1:
2788+ if rand.random() < 0.1:
2789+ if rand.random() < 0.1:
2790+ for D in range(D):
2791+ if rand.random() < 0.1:
2792+ if rand.random() > 0.1:
2793+ if rand.random():
2794+ if rand.random() > rand.random():
2795+ C
2796+ if rand.random() < 0.1:
2797+ if rand.random() < 0.1:
2798+ if rand.random() < 0.1:
2799+ del B
2800+ if rand.random() < 0.1:
2801+ if rand.random() < 0.1:
2802+ if rand.random():
2803+ 0
2804+ if rand.random() > 0.1:
2805+ if rand.random() > 0.1:
2806+ rand.random()
2807+ rand.random()
2808+ if rand.random() > 0.1:
2809+ rand.random()
2810+ rand.random()
2811+ if rand.random() > 0.1:
2812+ if rand.random() > 0.1:
2813+ rand.random()
2814+ rand.random()
2815+ rand.random()
2816+ rand.random()
2817+ if rand.random() > 0.1:
2818+ if rand.random() > 0.1:
2819+ rand.random()
2820+ if rand.random() > rand.random():
2821+ 0
2822+ if rand.random():
2823+ C
2824+ if rand.random() > 0.1:
2825+ rand.random()
2826+ rand.random()
2827+ for c in range(3):
2828+ if rand.random():
2829+ 0
2830+ for c in range(2):
2831+ rand.random()
2832+
2833+ for D in range(5064):
2834+ b()
2835+ """ ))
26982836
26992837def global_identity (x ):
27002838 return x
0 commit comments