[ruby-core:108449] [Ruby master Bug#18730] Double `return` event handling with different tracepoints
From:
"alanwu (Alan Wu)" <noreply@...>
Date:
2022-04-30 00:50:11 UTC
List:
ruby-core #108449
SXNzdWUgIzE4NzMwIGhhcyBiZWVuIHVwZGF0ZWQgYnkgYWxhbnd1IChBbGFuIFd1KS4KCgpTbyBo YXZpbmcganVzdCByZWFkIHRoZSBjb2RlLCBJIHVuZGVyc3RhbmQgd2h5IHlvdSBhcmUgc2VlaW5n IHRoaXMgYmVoYXZpb3IuCldlIHJ1biBnbG9iYWwgaGFuZGxlcnMgYmVmb3JlIGxvY2FsIGhhbmRs ZXJzLCBzbyBpZiB5b3UgaGF2ZSBhIGdsb2JhbApoYW5kbGVyIEcgYW5kIGEgbG9jYWwgaGFuZGxl ciBMLCBhbmQgRyBlbmFibGVzIEwsIHRoZXkgYm90aCBydW4uIEl0IGlzIHdlaXJkCmJlY2F1c2Ug dGhpcyBzZWVtcyB0byBiZSB0aGUgb25seSBzaXR1YXRpb24gd2hlcmUgdHdvIGhhbmRsZXJzIGlu dGVyYWN0LgoKSGVyZSBpcyBhIHNjcmlwdCB0byBzaG93IGFsbCA0IHBvc3NpYmxlIGNob2ljZXMg Zm9yIGdsb2JhbCB2ZXJzdXMgbG9jYWwgZm9yCnRoZSB0d28gaW50ZXJhY3RpbmcgaGFuZGxlcnM6 CgpgYGBydWJ5CigwLi4wYjExKS5lYWNoIGRvIHxtb2RlfAogIENsYXNzLm5ldyBkbwogICAgZGVm IGZvbwogICAgICAxCiAgICBlbmQKICAgIG1lID0gaW5zdGFuY2VfbWV0aG9kKDpmb28pCgogICAg b25lX2VuYWJsZSA9IG1vZGVbMF0gPT0gMSA/IHsgdGFyZ2V0OiBtZSB9IDoge30KICAgIHR3b19l bmFibGUgPSBtb2RlWzFdID09IDEgPyB7IHRhcmdldDogbWUgfSA6IHt9CiAgICBvbmVfcmFuID0g ZmFsc2UKICAgIHR3b19yYW4gPSBmYWxzZQoKICAgIHR3byA9IFRyYWNlUG9pbnQubmV3KDpyZXR1 cm4pIGRvCiAgICAgIHR3b19yYW4gPSB0cnVlCiAgICAgIHR3by5kaXNhYmxlCiAgICBlbmQKCiAg ICBvbmUgPSBUcmFjZVBvaW50Lm5ldyg6cmV0dXJuKSBkbwogICAgICBvbmVfcmFuID0gdHJ1ZQog ICAgICB0d28uZW5hYmxlKCoqdHdvX2VuYWJsZSkKICAgICAgb25lLmRpc2FibGUKICAgIGVuZAoK ICAgIG9uZS5lbmFibGUoKipvbmVfZW5hYmxlKQoKICAgIG5ldy5mb28KCiAgICBwIFttb2RlLCBv bmVfcmFuLCB0d29fcmFuXQogIGVuZAplbmQKYGBgCgpUaGUgb3V0cHV0IGhhcyBldm9sdmVkIG92 ZXIgdGltZToKYGBgCnJ1YnkgMi42LjZwMTQ2ICgyMDIwLTAzLTMxIHJldmlzaW9uIDY3ODc2KSBb eDg2XzY0LWRhcndpbjE5XQpbMCwgdHJ1ZSwgdHJ1ZV0KWzEsIHRydWUsIGZhbHNlXQpbMiwgdHJ1 ZSwgdHJ1ZV0KWzMsIHRydWUsIGZhbHNlXQpydWJ5IDIuNy4zcDE4MyAoMjAyMS0wNC0wNSByZXZp c2lvbiA2ODQ3ZWUwODlkKSBbeDg2XzY0LWRhcndpbjE5XQpbMCwgdHJ1ZSwgZmFsc2VdClsxLCB0 cnVlLCBmYWxzZV0KWzIsIHRydWUsIGZhbHNlXQpbMywgdHJ1ZSwgZmFsc2VdCnJ1YnkgMy4wLjBw MCAoMjAyMC0xMi0yNSByZXZpc2lvbiA5NWFmZjIxNDY4KSBbeDg2XzY0LWRhcndpbjE5XQpbMCwg dHJ1ZSwgZmFsc2VdClsxLCB0cnVlLCBmYWxzZV0KWzIsIHRydWUsIHRydWVdClszLCB0cnVlLCBm YWxzZV0KIyAzLjEgc2FtZSBhcyAzLjAKYGBgCgpJIHN1cHBvc2UgMi43IGJlaGF2aW9yIGlzIHRo ZSBtb3N0IGNvbnNpc3RlbnQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCkJ1ZyAjMTg3MzA6IERvdWJsZSBgcmV0dXJuYCBldmVudCBoYW5kbGluZyB3aXRoIGRpZmZl cmVudCB0cmFjZXBvaW50cwpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMTg3MzAj Y2hhbmdlLTk3NDg3CgoqIEF1dGhvcjogaHVycmljdXAgKEFsZXhhbmRyIEV2c3RpZ25lZXYpCiog U3RhdHVzOiBPcGVuCiogUHJpb3JpdHk6IE5vcm1hbAoqIEJhY2twb3J0OiAyLjY6IFVOS05PV04s IDIuNzogVU5LTk9XTiwgMy4wOiBVTktOT1dOLCAzLjE6IFVOS05PV04KLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpJJ20gbm90IHN1cmUgaWYgdGhpcyBpcyBhIGJ1ZyBv ciBpbnRlbnRpb25hbCBiZWhhdmlvciwgYnV0IGZlZWxzIGEgYml0IHVuZXhwZWN0ZWQuIFJ1Ynkg My4wLngsIDMuMS54IGFmZmVjdGVkLgoKSGVyZSBpcyB0aGUgc2NyaXB0IGRlbW9uc3RyYXRpbmcg dGhlIGlzc3VlOgpgYGAKZGVmIGJhcgogIDQyICNicCBoZXJlCmVuZAoKdHBfbGluZSA9IFRyYWNl UG9pbnQubmV3KDpsaW5lKSBkbyB8dHAwfAogIHB1dHMgIkdvdCBsaW5lIGV2ZW50IGZyb20gI3t0 cDAucGF0aH06I3t0cDAubGluZW5vfSIKCiAgdHBfbXVsdGkxID0gVHJhY2VQb2ludC5uZXcoOnJl dHVybiwgOmJfcmV0dXJuLCA6bGluZSkgZG8gfHRwfAogICAgaWYgdHAubGluZW5vID09IDMKICAg ICAgcHV0cyAiR290IGZpcnN0IHJldHVybiBgI3t0cC5ldmVudH1gIGZyb20gI3t0cC5wYXRofToj e3RwLmxpbmVub30iCiAgICAgIHRwLmRpc2FibGUKICAgICAgIyB0cDAuZGlzYWJsZSAjIHVuY29t bWVudGluZyB0aGlzIGxpbmUgY2hhbmdlcyB0aGluZ3MgdG8gdGhlIG1vcmUgZXhwZWN0ZWQgCgoK ICAgICAgdHBfbXVsdGkyID0gVHJhY2VQb2ludC5uZXcoOnJldHVybiwgOmJfcmV0dXJuLCA6bGlu ZSkgZG8gfHRwc3wKICAgICAgICBwdXRzICJHb3Qgc2Vjb25kIHJldHVybiBgI3t0cHMuZXZlbnR9 YCBmcm9tICN7dHBzLnBhdGh9OiN7dHBzLmxpbmVub30iCiAgICAgIGVuZAogICAgICB0cF9tdWx0 aTIuZW5hYmxlKHRhcmdldDogUnVieVZNOjpJbnN0cnVjdGlvblNlcXVlbmNlLm9mKG1ldGhvZCA6 YmFyKSkKICAgIGVuZAogIGVuZAogIHRwX211bHRpMS5lbmFibGUKZW5kCgp0cF9saW5lLmVuYWJs ZSh0YXJnZXQ6IFJ1YnlWTTo6SW5zdHJ1Y3Rpb25TZXF1ZW5jZS5vZihtZXRob2QgOmJhcikpCgpi YXIKYGBgCjEuIFdlIHNldCBhIGxpbmUgVFAgdG8gdGhlIGBiYXJgIG1ldGhvZCBgaXNlcWAgKGNv bnNpZGVyIGl0IGEgbGluZSBicmVha3BvaW50KQoyLiBXaGVuIGxpbmUgZXZlbnQgaXMgdHJpZ2dl cmVkIHdlIHNldHRpbmcgYW5vdGhlciB1bnRhcmdldGVkIHRyYWNlcG9pbnQgZm9yIHRoZSBzYW1l IG1ldGhvZCwgdG8gY2F0Y2ggYGxpbmVgLCBgcmV0dXJuYCBhbmQgYGJfcmV0dXJuYCBldmVudHMg KGNvbnNpZGVyIGl0IGF0dGVtcHQgdG8gc3RlcCBpbnRvIHNvbWV0aGluZykKMy4gV2hlbiByZXR1 cm4gZXZlbnQgb2YgdGhlIGBiYXJgIG1ldGhvZCBpcyB0cmlnZ2VyZWQsIHdlIGRpc2FibGluZyBz ZWNvbmQgdHJhY2Vwb2ludCBhbmQgc2V0dGluZyBhbm90aGVyIG9uZSwgdGFyZ2V0ZWQgdG8gdGhl IHNhbWUgbWV0aG9kIGFuZCBtdWx0aXBsZSBldmVudHMuCgpPdXRwdXQgaSBnZXQ6CmBgYApHb3Qg bGluZSBldmVudCBmcm9tIC9ob21lL2h1cnJpY3VwL3Rlc3QucmI6MgpHb3QgZmlyc3QgcmV0dXJu IGByZXR1cm5gIGZyb20gL2hvbWUvaHVycmljdXAvdGVzdC5yYjozCkdvdCBzZWNvbmQgcmV0dXJu IGByZXR1cm5gIGZyb20gL2hvbWUvaHVycmljdXAvdGVzdC5yYjozCmBgYApUaGUgcXVlc3Rpb25z IGFyZTogCjEuIHdoeSByZXR1cm4gdHJpZ2dlcmVkIG9uIHRoZSBzZWNvbmQgdHJhY2Vwb2ludCwg d2hlbiB3ZSBhbHJlYWR5IGhhbmRlbGVkIGl0PwoyLiB3aHkgZGlzYWJsaW5nIGxpbmUgdHJhY2Vw b2ludCBjaGFuZ2VzIGJlaGF2aW9yPwoKCgoKLS0gCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3Jn LwoKVW5zdWJzY3JpYmU6IDxtYWlsdG86cnVieS1jb3JlLXJlcXVlc3RAcnVieS1sYW5nLm9yZz9z dWJqZWN0PXVuc3Vic2NyaWJlPgo8aHR0cDovL2xpc3RzLnJ1YnktbGFuZy5vcmcvY2dpLWJpbi9t YWlsbWFuL29wdGlvbnMvcnVieS1jb3JlPgo=