Skip to content

[3.13] GH-135171: Fix generator expressions one last time (hopefully) (GH-135225) - #135293

Closed
markshannon wants to merge 3 commits into
python:3.13from
faster-cpython:backport-135225
Closed

[3.13] GH-135171: Fix generator expressions one last time (hopefully) (GH-135225)#135293
markshannon wants to merge 3 commits into
python:3.13from
faster-cpython:backport-135225

Conversation

@markshannon

@markshannonmarkshannon commented Jun 9, 2025

Copy link
Copy Markdown
Member

@markshannonmarkshannon changed the title [3.14] GH-135171: Fix generator expressions one last time (hopefully) backport of #135225[3.13] GH-135171: Fix generator expressions one last time (hopefully) backport of #135225Jun 9, 2025
@picnixzpicnixz changed the title [3.13] GH-135171: Fix generator expressions one last time (hopefully) backport of #135225[3.13] GH-135171: Fix generator expressions one last time (hopefully) (GH-135225)Jun 9, 2025
@vstinner

Copy link
Copy Markdown
Member

WASI CI failed: test_email.test_group_quoted_backslashes_in_name() failed with call stack exhausted:

Details
test_group_quoted_backslashes_in_name (test.test_email.test_headerregistry.TestAddressHeader.test_group_quoted_backslashes_in_name) ... Error: failed to run main module `python.wasm`
Caused by:
0: failed to invoke command default
1: error while executing at wasm backtrace:
0: python.wasm!_PyEval_EvalFrameDefault
1: 0x29b6d9 - python.wasm!_PyEval_Vector
2: 0xcc8da - python.wasm!_PyFunction_Vectorcall
3: 0xcb47d - python.wasm!_PyObject_VectorcallTstate
4: 0xcc865 - python.wasm!PyObject_CallOneArg
5: 0xdddf0 - python.wasm!property_descr_get
6: 0x14cab8 - python.wasm!_PyObject_GenericGetAttrWithDict
7: 0x14c99e - python.wasm!PyObject_GenericGetAttr
8: 0x14d5af - python.wasm!PyObject_GetAttr
9: 0x293376 - python.wasm!_PyEval_EvalFrameDefault
10: 0xf269c - python.wasm!gen_send_ex2
11: 0xf2363 - python.wasm!gen_iternext
12: 0x9f498 - python.wasm!PyIter_Next
13: 0x26de55 - python.wasm!builtin_sum
14: 0x277886 - python.wasm!_PyEval_EvalFrameDefault
15: 0x29b6d9 - python.wasm!_PyEval_Vector
16: 0xcc8da - python.wasm!_PyFunction_Vectorcall
17: 0xcb47d - python.wasm!_PyObject_VectorcallTstate
18: 0xcc865 - python.wasm!PyObject_CallOneArg
19: 0xdddf0 - python.wasm!property_descr_get
20: 0x14cab8 - python.wasm!_PyObject_GenericGetAttrWithDict
21: 0x14c99e - python.wasm!PyObject_GenericGetAttr
22: 0x14d5af - python.wasm!PyObject_GetAttr
23: 0x293376 - python.wasm!_PyEval_EvalFrameDefault
24: 0xf269c - python.wasm!gen_send_ex2
25: 0xf2363 - python.wasm!gen_iternext
26: 0x9f498 - python.wasm!PyIter_Next
27: 0x26de55 - python.wasm!builtin_sum
28: 0x277886 - python.wasm!_PyEval_EvalFrameDefault
29: 0x29b6d9 - python.wasm!_PyEval_Vector
30: 0xcc8da - python.wasm!_PyFunction_Vectorcall
31: 0xcb47d - python.wasm!_PyObject_VectorcallTstate
32: 0xcc865 - python.wasm!PyObject_CallOneArg
33: 0xdddf0 - python.wasm!property_descr_get
34: 0x14cab8 - python.wasm!_PyObject_GenericGetAttrWithDict
35: 0x14c99e - python.wasm!PyObject_GenericGetAttr
36: 0x14d5af - python.wasm!PyObject_GetAttr
37: 0x293376 - python.wasm!_PyEval_EvalFrameDefault
38: 0xf269c - python.wasm!gen_send_ex2
39: 0xf2363 - python.wasm!gen_iternext
40: 0x9f498 - python.wasm!PyIter_Next
41: 0x26de55 - python.wasm!builtin_sum
42: 0x277886 - python.wasm!_PyEval_EvalFrameDefault
43: 0x29b6d9 - python.wasm!_PyEval_Vector
44: 0xcc8da - python.wasm!_PyFunction_Vectorcall
45: 0xcb47d - python.wasm!_PyObject_VectorcallTstate
46: 0xcc865 - python.wasm!PyObject_CallOneArg
47: 0xdddf0 - python.wasm!property_descr_get
48: 0x14cab8 - python.wasm!_PyObject_GenericGetAttrWithDict
49: 0x14c99e - python.wasm!PyObject_GenericGetAttr
50: 0x14d5af - python.wasm!PyObject_GetAttr
51: 0x293376 - python.wasm!_PyEval_EvalFrameDefault
52: 0xf269c - python.wasm!gen_send_ex2
53: 0xf2363 - python.wasm!gen_iternext
54: 0x9f498 - python.wasm!PyIter_Next
55: 0x26de55 - python.wasm!builtin_sum
56: 0x277886 - python.wasm!_PyEval_EvalFrameDefault
57: 0x29b6d9 - python.wasm!_PyEval_Vector
58: 0xcc8da - python.wasm!_PyFunction_Vectorcall
59: 0xcb47d - python.wasm!_PyObject_VectorcallTstate
60: 0xcc865 - python.wasm!PyObject_CallOneArg
61: 0xdddf0 - python.wasm!property_descr_get
62: 0x14cab8 - python.wasm!_PyObject_GenericGetAttrWithDict
63: 0x14c99e - python.wasm!PyObject_GenericGetAttr
64: 0x14d5af - python.wasm!PyObject_GetAttr
65: 0x293376 - python.wasm!_PyEval_EvalFrameDefault
66: 0xf269c - python.wasm!gen_send_ex2
67: 0xf2363 - python.wasm!gen_iternext
68: 0x9f498 - python.wasm!PyIter_Next
69: 0x26de55 - python.wasm!builtin_sum
70: 0x277886 - python.wasm!_PyEval_EvalFrameDefault
71: 0x29b6d9 - python.wasm!_PyEval_Vector
72: 0xcc8da - python.wasm!_PyFunction_Vectorcall
73: 0xcb47d - python.wasm!_PyObject_VectorcallTstate
74: 0xcc865 - python.wasm!PyObject_CallOneArg
75: 0xdddf0 - python.wasm!property_descr_get
76: 0x14cab8 - python.wasm!_PyObject_GenericGetAttrWithDict
77: 0x14c99e - python.wasm!PyObject_GenericGetAttr
78: 0x14d5af - python.wasm!PyObject_GetAttr
79: 0x293376 - python.wasm!_PyEval_EvalFrameDefault
80: 0xf269c - python.wasm!gen_send_ex2
81: 0xf2363 - python.wasm!gen_iternext
82: 0x9f498 - python.wasm!PyIter_Next
83: 0x26de55 - python.wasm!builtin_sum
84: 0x277886 - python.wasm!_PyEval_EvalFrameDefault
85: 0x29b6d9 - python.wasm!_PyEval_Vector
86: 0xcc8da - python.wasm!_PyFunction_Vectorcall
87: 0xcb47d - python.wasm!_PyObject_VectorcallTstate
88: 0xcc865 - python.wasm!PyObject_CallOneArg
89: 0xdddf0 - python.wasm!property_descr_get
90: 0x14cab8 - python.wasm!_PyObject_GenericGetAttrWithDict
91: 0x14c99e - python.wasm!PyObject_GenericGetAttr
92: 0x14d5af - python.wasm!PyObject_GetAttr
93: 0x293376 - python.wasm!_PyEval_EvalFrameDefault
94: 0xf269c - python.wasm!gen_send_ex2
95: 0xf2363 - python.wasm!gen_iternext
96: 0x9f498 - python.wasm!PyIter_Next
97: 0x26de55 - python.wasm!builtin_sum
98: 0x277886 - python.wasm!_PyEval_EvalFrameDefault
99: 0x29b6d9 - python.wasm!_PyEval_Vector
100: 0xcc8da - python.wasm!_PyFunction_Vectorcall
101: 0xcb47d - python.wasm!_PyObject_VectorcallTstate
102: 0xcc865 - python.wasm!PyObject_CallOneArg
103: 0xdddf0 - python.wasm!property_descr_get
104: 0x14cab8 - python.wasm!_PyObject_GenericGetAttrWithDict
105: 0x14c99e - python.wasm!PyObject_GenericGetAttr
106: 0x14d5af - python.wasm!PyObject_GetAttr
107: 0x293376 - python.wasm!_PyEval_EvalFrameDefault
108: 0xf269c - python.wasm!gen_send_ex2
109: 0xf2363 - python.wasm!gen_iternext
110: 0x9f498 - python.wasm!PyIter_Next
111: 0x26de55 - python.wasm!builtin_sum
112: 0x277886 - python.wasm!_PyEval_EvalFrameDefault
113: 0x29b6d9 - python.wasm!_PyEval_Vector
114: 0xcc8da - python.wasm!_PyFunction_Vectorcall
115: 0xcb47d - python.wasm!_PyObject_VectorcallTstate
116: 0xcc865 - python.wasm!PyObject_CallOneArg
117: 0xdddf0 - python.wasm!property_descr_get
118: 0x14cab8 - python.wasm!_PyObject_GenericGetAttrWithDict
119: 0x14c99e - python.wasm!PyObject_GenericGetAttr
120: 0x14d5af - python.wasm!PyObject_GetAttr
121: 0x293376 - python.wasm!_PyEval_EvalFrameDefault
122: 0xf269c - python.wasm!gen_send_ex2
123: 0xf2363 - python.wasm!gen_iternext
124: 0x9f498 - python.wasm!PyIter_Next
125: 0x26de55 - python.wasm!builtin_sum
126: 0x277886 - python.wasm!_PyEval_EvalFrameDefault
127: 0x29b6d9 - python.wasm!_PyEval_Vector
128: 0xcc8da - python.wasm!_PyFunction_Vectorcall
129: 0xcb47d - python.wasm!_PyObject_VectorcallTstate
130: 0xcc865 - python.wasm!PyObject_CallOneArg
131: 0xdddf0 - python.wasm!property_descr_get
132: 0x14cab8 - python.wasm!_PyObject_GenericGetAttrWithDict
133: 0x14c99e - python.wasm!PyObject_GenericGetAttr
134: 0x14d5af - python.wasm!PyObject_GetAttr
135: 0x293376 - python.wasm!_PyEval_EvalFrameDefault
136: 0xf269c - python.wasm!gen_send_ex2
137: 0xf2363 - python.wasm!gen_iternext
138: 0x9f498 - python.wasm!PyIter_Next
139: 0x26de55 - python.wasm!builtin_sum
140: 0x277886 - python.wasm!_PyEval_EvalFrameDefault
141: 0x29b6d9 - python.wasm!_PyEval_Vector
142: 0xcc8da - python.wasm!_PyFunction_Vectorcall
143: 0xcb47d - python.wasm!_PyObject_VectorcallTstate
144: 0xcc865 - python.wasm!PyObject_CallOneArg
145: 0xdddf0 - python.wasm!property_descr_get
146: 0x14cab8 - python.wasm!_PyObject_GenericGetAttrWithDict
147: 0x14c99e - python.wasm!PyObject_GenericGetAttr
148: 0x14d5af - python.wasm!PyObject_GetAttr
149: 0x293376 - python.wasm!_PyEval_EvalFrameDefault
150: 0xf269c - python.wasm!gen_send_ex2
151: 0xf2363 - python.wasm!gen_iternext
152: 0x9f498 - python.wasm!PyIter_Next
153: 0x26de55 - python.wasm!builtin_sum
154: 0x277886 - python.wasm!_PyEval_EvalFrameDefault
155: 0x29b6d9 - python.wasm!_PyEval_Vector
156: 0xcc8da - python.wasm!_PyFunction_Vectorcall
157: 0xcb47d - python.wasm!_PyObject_VectorcallTstate
158: 0xcc865 - python.wasm!PyObject_CallOneArg
159: 0xdddf0 - python.wasm!property_descr_get
160: 0x14cab8 - python.wasm!_PyObject_GenericGetAttrWithDict
161: 0x14c99e - python.wasm!PyObject_GenericGetAttr
162: 0x14d5af - python.wasm!PyObject_GetAttr
163: 0x293376 - python.wasm!_PyEval_EvalFrameDefault
164: 0xf269c - python.wasm!gen_send_ex2
165: 0xf2363 - python.wasm!gen_iternext
166: 0x9f498 - python.wasm!PyIter_Next
167: 0x26de55 - python.wasm!builtin_sum
168: 0x277886 - python.wasm!_PyEval_EvalFrameDefault
169: 0x29b6d9 - python.wasm!_PyEval_Vector
170: 0xcc8da - python.wasm!_PyFunction_Vectorcall
171: 0xcb946 - python.wasm!_PyObject_VectorcallDictTstate
172: 0xcca94 - python.wasm!_PyObject_Call_Prepend
173: 0x196c46 - python.wasm!slot_tp_new
174: 0x18baa4 - python.wasm!type_call
175: 0xcb773 - python.wasm!_PyObject_MakeTpCall
176: 0xcb467 - python.wasm!_PyObject_VectorcallTstate
177: 0xcc5da - python.wasm!PyObject_Vectorcall
178: 0x2796fa - python.wasm!_PyEval_EvalFrameDefault
179: 0x29b6d9 - python.wasm!_PyEval_Vector
180: 0xcc8da - python.wasm!_PyFunction_Vectorcall
181: 0xcb946 - python.wasm!_PyObject_VectorcallDictTstate
182: 0xcca94 - python.wasm!_PyObject_Call_Prepend
183: 0x195b2a - python.wasm!slot_tp_call
184: 0xcb773 - python.wasm!_PyObject_MakeTpCall
185: 0xcb467 - python.wasm!_PyObject_VectorcallTstate
186: 0xcc5da - python.wasm!PyObject_Vectorcall
187: 0x2796fa - python.wasm!_PyEval_EvalFrameDefault
188: 0x29b6d9 - python.wasm!_PyEval_Vector
189: 0xcc8da - python.wasm!_PyFunction_Vectorcall
190: 0xcead0 - python.wasm!_PyObject_VectorcallTstate
191: 0xce92b - python.wasm!method_vectorcall
192: 0xcc4d4 - python.wasm!_PyVectorcall_Call
193: 0xcc68d - python.wasm!_PyObject_Call
194: 0xcc7ef - python.wasm!PyObject_Call
195: 0x297b57 - python.wasm!_PyEval_EvalFrameDefault
196: 0x29b6d9 - python.wasm!_PyEval_Vector
197: 0xcc8da - python.wasm!_PyFunction_Vectorcall
198: 0xcead0 - python.wasm!_PyObject_VectorcallTstate
199: 0xce92b - python.wasm!method_vectorcall
200: 0xcc4d4 - python.wasm!_PyVectorcall_Call
201: 0xcc68d - python.wasm!_PyObject_Call
202: 0xcc7ef - python.wasm!PyObject_Call
203: 0x297b57 - python.wasm!_PyEval_EvalFrameDefault
204: 0x29b6d9 - python.wasm!_PyEval_Vector
205: 0xcc8da - python.wasm!_PyFunction_Vectorcall
206: 0xcb946 - python.wasm!_PyObject_VectorcallDictTstate
207: 0xcca94 - python.wasm!_PyObject_Call_Prepend
208: 0x195b2a - python.wasm!slot_tp_call
209: 0xcb773 - python.wasm!_PyObject_MakeTpCall
210: 0xcb467 - python.wasm!_PyObject_VectorcallTstate
211: 0xcc5da - python.wasm!PyObject_Vectorcall
212: 0x2796fa - python.wasm!_PyEval_EvalFrameDefault
213: 0x29b6d9 - python.wasm!_PyEval_Vector
214: 0xcc8da - python.wasm!_PyFunction_Vectorcall
215: 0xcead0 - python.wasm!_PyObject_VectorcallTstate
216: 0xce92b - python.wasm!method_vectorcall
217: 0xcc4d4 - python.wasm!_PyVectorcall_Call
218: 0xcc68d - python.wasm!_PyObject_Call
219: 0xcc7ef - python.wasm!PyObject_Call
220: 0x297b57 - python.wasm!_PyEval_EvalFrameDefault
221: 0x29b6d9 - python.wasm!_PyEval_Vector
222: 0xcc8da - python.wasm!_PyFunction_Vectorcall
223: 0xcb946 - python.wasm!_PyObject_VectorcallDictTstate
224: 0xcca94 - python.wasm!_PyObject_Call_Prepend
225: 0x195b2a - python.wasm!slot_tp_call
226: 0xcb773 - python.wasm!_PyObject_MakeTpCall
227: 0xcb467 - python.wasm!_PyObject_VectorcallTstate
228: 0xcc5da - python.wasm!PyObject_Vectorcall
229: 0x2796fa - python.wasm!_PyEval_EvalFrameDefault
230: 0x29b6d9 - python.wasm!_PyEval_Vector
231: 0xcc8da - python.wasm!_PyFunction_Vectorcall
232: 0xcead0 - python.wasm!_PyObject_VectorcallTstate
233: 0xce92b - python.wasm!method_vectorcall
234: 0xcc4d4 - python.wasm!_PyVectorcall_Call
235: 0xcc68d - python.wasm!_PyObject_Call
236: 0xcc7ef - python.wasm!PyObject_Call
237: 0x297b57 - python.wasm!_PyEval_EvalFrameDefault
238: 0x29b6d9 - python.wasm!_PyEval_Vector
239: 0xcc8da - python.wasm!_PyFunction_Vectorcall
240: 0xcb946 - python.wasm!_PyObject_VectorcallDictTstate
241: 0xcca94 - python.wasm!_PyObject_Call_Prepend
242: 0x195b2a - python.wasm!slot_tp_call
243: 0xcb773 - python.wasm!_PyObject_MakeTpCall
244: 0xcb467 - python.wasm!_PyObject_VectorcallTstate
245: 0xcc5da - python.wasm!PyObject_Vectorcall
246: 0x2796fa - python.wasm!_PyEval_EvalFrameDefault
247: 0x29b6d9 - python.wasm!_PyEval_Vector
248: 0xcc8da - python.wasm!_PyFunction_Vectorcall
249: 0xcead0 - python.wasm!_PyObject_VectorcallTstate
250: 0xce92b - python.wasm!method_vectorcall
251: 0xcc4d4 - python.wasm!_PyVectorcall_Call
252: 0xcc68d - python.wasm!_PyObject_Call
253: 0xcc7ef - python.wasm!PyObject_Call
254: 0x297b57 - python.wasm!_PyEval_EvalFrameDefault
255: 0x29b6d9 - python.wasm!_PyEval_Vector
256: 0xcc8da - python.wasm!_PyFunction_Vectorcall
257: 0xcb946 - python.wasm!_PyObject_VectorcallDictTstate
258: 0xcca94 - python.wasm!_PyObject_Call_Prepend
259: 0x195b2a - python.wasm!slot_tp_call
260: 0xcb773 - python.wasm!_PyObject_MakeTpCall
261: 0xcb467 - python.wasm!_PyObject_VectorcallTstate
262: 0xcc5da - python.wasm!PyObject_Vectorcall
263: 0x2796fa - python.wasm!_PyEval_EvalFrameDefault
264: 0x29b6d9 - python.wasm!_PyEval_Vector
265: 0xcc8da - python.wasm!_PyFunction_Vectorcall
266: 0xcead0 - python.wasm!_PyObject_VectorcallTstate
267: 0xce92b - python.wasm!method_vectorcall
268: 0xcc4d4 - python.wasm!_PyVectorcall_Call
269: 0xcc68d - python.wasm!_PyObject_Call
270: 0xcc7ef - python.wasm!PyObject_Call
271: 0x297b57 - python.wasm!_PyEval_EvalFrameDefault
272: 0x29b6d9 - python.wasm!_PyEval_Vector
273: 0xcc8da - python.wasm!_PyFunction_Vectorcall
274: 0xcb946 - python.wasm!_PyObject_VectorcallDictTstate
275: 0xcca94 - python.wasm!_PyObject_Call_Prepend
276: 0x195b2a - python.wasm!slot_tp_call
277: 0xcb773 - python.wasm!_PyObject_MakeTpCall
278: 0xcb467 - python.wasm!_PyObject_VectorcallTstate
279: 0xcc5da - python.wasm!PyObject_Vectorcall
280: 0x2990cd - python.wasm!_PyEval_EvalFrameDefault
281: 0x26f792 - python.wasm!PyEval_EvalCode
282: 0x26a49e - python.wasm!builtin_exec
283: 0x145837 - python.wasm!cfunction_vectorcall_FASTCALL_KEYWORDS
284: 0xcb47d - python.wasm!_PyObject_VectorcallTstate
285: 0xcc5da - python.wasm!PyObject_Vectorcall
286: 0x2990cd - python.wasm!_PyEval_EvalFrameDefault
287: 0x29b6d9 - python.wasm!_PyEval_Vector
288: 0xcc8da - python.wasm!_PyFunction_Vectorcall
289: 0xcc4d4 - python.wasm!_PyVectorcall_Call
290: 0xcc68d - python.wasm!_PyObject_Call
291: 0xcc7ef - python.wasm!PyObject_Call
292: 0x36b177 - python.wasm!pymain_run_module
293: 0x36aaf7 - python.wasm!Py_RunMain
294: 0x36c1ed - python.wasm!pymain_main
295: 0x36c296 - python.wasm!Py_BytesMain
296: 0x5e7f - python.wasm!main
297: 0x560359 - python.wasm!__main_void
298: 0x5e58 - python.wasm!_start
note: using the `WASMTIME_BACKTRACE_DETAILS=1` environment variable may show more debugging information
2: wasm trap: call stack exhausted

@Yhg1s

Copy link
Copy Markdown
Member

Even with this change, bytecode produced still differs between 3.13.3 and 3.13 head. (Without, I might add, the bytecode magic changing, which is both correct and incorrect: the bytecode produced shouldn't differ if the bytecode is the same, and the bytecode isn't allowed to change in bug fix releases.) So this is definitely not enough to fix the problems in 3.13.4.

@gpshead

Copy link
Copy Markdown
Member

closing in favor of the revert that happened.

@gpsheadgpshead closed this Jun 15, 2025
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@markshannon@vstinner@Yhg1s@gpshead@serhiy-storchaka