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