xref: /third_party/python/Lib/test/crashers/trace_at_recursion_limit.py
  • Home
  • History
  • Annotate Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
  • only in /third_party/python/Lib/test/crashers/
17db96d56Sopenharmony_ci"""
27db96d56Sopenharmony_ciFrom http://bugs.python.org/issue6717
37db96d56Sopenharmony_ci
47db96d56Sopenharmony_ciA misbehaving trace hook can trigger a segfault by exceeding the recursion
57db96d56Sopenharmony_cilimit.
67db96d56Sopenharmony_ci"""
77db96d56Sopenharmony_ciimport sys
87db96d56Sopenharmony_ci
97db96d56Sopenharmony_ci
107db96d56Sopenharmony_cidef x():
117db96d56Sopenharmony_ci    pass
127db96d56Sopenharmony_ci
137db96d56Sopenharmony_cidef g(*args):
147db96d56Sopenharmony_ci    if True: # change to True to crash interpreter
157db96d56Sopenharmony_ci        try:
167db96d56Sopenharmony_ci            x()
177db96d56Sopenharmony_ci        except:
187db96d56Sopenharmony_ci            pass
197db96d56Sopenharmony_ci    return g
207db96d56Sopenharmony_ci
217db96d56Sopenharmony_cidef f():
227db96d56Sopenharmony_ci    print(sys.getrecursionlimit())
237db96d56Sopenharmony_ci    f()
247db96d56Sopenharmony_ci
257db96d56Sopenharmony_cisys.settrace(g)
267db96d56Sopenharmony_ci
277db96d56Sopenharmony_cif()
28

Indexes created Thu Nov 07 10:32:03 CST 2024