[ruby-dev:48506] [ruby-trunk - Bug #9959] [Assigned] TracePoint can invoke inconsistent call event with bmethod
From:
usa@...
Date:
2014-08-31 07:49:21 UTC
List:
ruby-dev #48506
SXNzdWUgIzk5NTkgaGFzIGJlZW4gdXBkYXRlZCBieSBVc2FrdSBOQUtBTVVS QS4KClN0YXR1cyBjaGFuZ2VkIGZyb20gQ2xvc2VkIHRvIEFzc2lnbmVkCgoy LjAuMOOBq+OBr+OBneOCguOBneOCgiB0aC0+cGFzc2VkX2JtZXRob2RfbWUg 44GM44Gq44GP44Gm44CB54++5Zyo44GudHJ1bmvjga5lbHNl56+A44Gr55u4 5b2T44GZ44KL6YOo5YiG44GM44Gq44GE44KT44Gn44GZ44GR44Gp44CB44Gp 44GG44GX44Gf44KC44KT44Gn44GX44KH44GG44GL77yfCgotLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkJ1ZyAjOTk1OTogVHJh Y2VQb2ludCBjYW4gaW52b2tlIGluY29uc2lzdGVudCBjYWxsIGV2ZW50IHdp dGggYm1ldGhvZApodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMv OTk1OSNjaGFuZ2UtNDg1OTAKCiogQXV0aG9yOiBLb2ljaGkgU2FzYWRhCiog U3RhdHVzOiBBc3NpZ25lZAoqIFByaW9yaXR5OiBOb3JtYWwKKiBBc3NpZ25l ZTogS29pY2hpIFNhc2FkYQoqIENhdGVnb3J5OiBjb3JlCiogVGFyZ2V0IHZl cnNpb246IGN1cnJlbnQ6IDIuMi4wCiogcnVieSAtdjogMi4yCiogQmFja3Bv cnQ6IDIuMC4wOiBSRVFVSVJFRCwgMi4xOiBET05FCi0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KZGVmaW5lX21ldGhvZCDjgafl rprnvqnjgZfjgZ/jg6Hjgr3jg4Pjg4nvvIjku6XpmY3jgIFibWV0aG9k77yJ 44KS5a6f6KGM44GZ44KL44Go44GN44CB5byV5pWw44Gu44Ko44Op44O844GM 44GC44Gj44Gf44Go44GN44CBY2FsbCDjgqTjg5njg7Pjg4jjga7jgb/nmbrn lJ/jgZfjgIFyZXR1cm4g44Kk44OZ44Oz44OI44GM55m655Sf44GX44Gq44GE 44CB44Go44GE44GG5ZWP6aGM44GM44GC44KK44G+44GX44Gf44CCCgpgYGBy dWJ5CiAgZGVmaW5lX21ldGhvZCg6bWV0aG9kX3Rlc3RfYXJndW1lbnRfZXJy b3Jfb25fYm1ldGhvZCl7fGNvcnJlY3Rfa2V5OiAxfH0KCiAgZGVmIHRlc3Rf YXJndW1lbnRfZXJyb3Jfb25fYm1ldGhvZAogICAgZXZlbnRzID0gW10KICAg IGN1cnJfdGhyZWFkID0gVGhyZWFkLmN1cnJlbnQKICAgIFRyYWNlUG9pbnQu bmV3KDpjYWxsLCA6cmV0dXJuKXt8dHB8CiAgICAgIG5leHQgaWYgY3Vycl90 aHJlYWQgIT0gVGhyZWFkLmN1cnJlbnQKICAgICAgZXZlbnRzIDw8IFt0cC5l dmVudCwgdHAubWV0aG9kX2lkXQogICAgfS5lbmFibGUgZG8KICAgICAgYmVn aW4KICAgICAgICBtZXRob2RfdGVzdF9hcmd1bWVudF9lcnJvcl9vbl9ibWV0 aG9kKHdyb25nX2tleTogMikKICAgICAgcmVzY3VlID0+IGUKICAgICAgICAj IGlnbm9yZQogICAgICBlbmQKICAgIGVuZAoKICAgIGFzc2VydF9lcXVhbCBb XSwgZXZlbnRzICMgc2hvdWxkIGJlIGVtcHR5LgogIGVuZApgYGAKCuS7iuOB oOOBqOOAgeasoeOBruOCiOOBhuOBq+OBquOCiuOBvuOBmeOAggoKYGBgClRl c3RTZXRUcmFjZUZ1bmMjdGVzdF9hcmd1bWVudF9lcnJvcl9vbl9ibWV0aG9k IFt0ZXN0X3NldHRyYWNlZnVuYy5yYjoxMjU4XToKPFtdPiBleHBlY3RlZCBi dXQgd2FzCjxbWzpjYWxsLCA6bWV0aG9kX3Rlc3RfYXJndW1lbnRfZXJyb3Jf b25fYm1ldGhvZF1dPi4KYGBgCgrjgZPjgozjga/jgIFQcm9jIOOCkuWun+ih jOOBmeOCi+WJjeOBqyBUcmFjZVBvaW50KGNhbGwpIOOCkueZuueUn+OBmeOC i+OBjOOAgQrkvovlpJbjgafmiLvjgo3jgYbjgajjgZfjgZ/jgajjgY3jgavj gIHjgb7jgaAgUHJvYyDjgYzotbfli5XjgZfjgabjgYrjgonjgZrjgIHjg5Xj g6zjg7zjg6Djgavmg4XloLHjgYzjgarjgYTjgZ/jgoHjgIEKcmV0dXJuIOOC pOODmeODs+ODiOOBjOeZuueUn+OBl+OBquOBhOOBn+OCgeOAgei1t+OBk+OC iuOBvuOBmeOAggoK44GT44KM44KS6Kej5rG644GZ44KL44Gf44KB44Gr44CB Ym1ldGhvZCDnlKjjga4gY2FsbC9yZXR1cm4g44Kk44OZ44Oz44OI44KS55m6 55Sf44GZ44KL5aC05omA44KS6Kq/5pW044GX44G+44GX44Gf44CCCgpgYGBk aWZmCkluZGV4OiB2bS5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHZt LmMJKHJldmlzaW9uIDQ2NDYzKQorKysgdm0uYwkod29ya2luZyBjb3B5KQpA QCAtNzE1LDE1ICs3MTUsMTcgQEAKIAkJICAgIGNvbnN0IHJiX2Jsb2NrX3Qg KmJsb2NrcHRyLCBjb25zdCBOT0RFICpjcmVmLAogCQkgICAgVkFMVUUgZGVm aW5lZF9jbGFzcywgaW50IHNwbGF0dGFibGUpCiB7Ci0gICAgaWYgKFNQRUNJ QUxfQ09OU1RfUChibG9jay0+aXNlcSkpCisgICAgaWYgKFNQRUNJQUxfQ09O U1RfUChibG9jay0+aXNlcSkpIHsKIAlyZXR1cm4gUW5pbDsKKyAgICB9CiAg ICAgZWxzZSBpZiAoQlVJTFRJTl9UWVBFKGJsb2NrLT5pc2VxKSAhPSBUX05P REUpIHsKKwlWQUxVRSByZXQ7CiAJY29uc3QgcmJfaXNlcV90ICppc2VxID0g YmxvY2stPmlzZXE7CiAJY29uc3QgcmJfY29udHJvbF9mcmFtZV90ICpjZnA7 CiAJaW50IGksIG9wdF9wYywgYXJnX3NpemUgPSBpc2VxLT5hcmdfc2l6ZTsK LQlpbnQgdHlwZSA9IGJsb2NrX3Byb2NfaXNfbGFtYmRhKGJsb2NrLT5wcm9j KSA/Ci0JICBWTV9GUkFNRV9NQUdJQ19MQU1CREEgOiBWTV9GUkFNRV9NQUdJ Q19CTE9DSzsKLQorCWludCB0eXBlID0gYmxvY2tfcHJvY19pc19sYW1iZGEo YmxvY2stPnByb2MpID8gVk1fRlJBTUVfTUFHSUNfTEFNQkRBIDogVk1fRlJB TUVfTUFHSUNfQkxPQ0s7CisJY29uc3QgcmJfbWV0aG9kX2VudHJ5X3QgKm1l ID0gdGgtPnBhc3NlZF9ibWV0aG9kX21lOworCXRoLT5wYXNzZWRfYm1ldGhv ZF9tZSA9IDA7CiAJY2ZwID0gdGgtPmNmcDsKIAogCWZvciAoaT0wOyBpPGFy Z2M7IGkrKykgewpAQCAtNzMzLDcgKzczNSw3IEBACiAJb3B0X3BjID0gdm1f eWllbGRfc2V0dXBfYXJncyh0aCwgaXNlcSwgYXJnYywgY2ZwLT5zcCwgYmxv Y2twdHIsCiAJCQkJICAgICAodHlwZSA9PSBWTV9GUkFNRV9NQUdJQ19MQU1C REEpID8gc3BsYXR0YWJsZSsxIDogMCk7CiAKLQlpZiAodGgtPnBhc3NlZF9i bWV0aG9kX21lICE9IDApIHsKKwlpZiAobWUgIT0gMCkgewogCSAgICAvKiBi bWV0aG9kICovCiAJICAgIHZtX3B1c2hfZnJhbWUodGgsIGlzZXEsIHR5cGUg fCBWTV9GUkFNRV9GTEFHX0ZJTklTSCB8IFZNX0ZSQU1FX0ZMQUdfQk1FVEhP RCwKIAkJCSAgc2VsZiwgZGVmaW5lZF9jbGFzcywKQEAgLTc0MCw4ICs3NDIs MTAgQEAKIAkJCSAgVk1fRU5WVkFMX1BSRVZfRVBfUFRSKGJsb2NrLT5lcCks CiAJCQkgIGlzZXEtPmlzZXFfZW5jb2RlZCArIG9wdF9wYywKIAkJCSAgY2Zw LT5zcCArIGFyZ19zaXplLCBpc2VxLT5sb2NhbF9zaXplIC0gYXJnX3NpemUs Ci0JCQkgIHRoLT5wYXNzZWRfYm1ldGhvZF9tZSwgaXNlcS0+c3RhY2tfbWF4 KTsKLQkgICAgdGgtPnBhc3NlZF9ibWV0aG9kX21lID0gMDsKKwkJCSAgbWUs IGlzZXEtPnN0YWNrX21heCk7CisKKwkgICAgUlVCWV9EVFJBQ0VfTUVUSE9E X0VOVFJZX0hPT0sodGgsIG1lLT5rbGFzcywgbWUtPmNhbGxlZF9pZCk7CisJ ICAgIEVYRUNfRVZFTlRfSE9PSyh0aCwgUlVCWV9FVkVOVF9DQUxMLCBzZWxm LCBtZS0+Y2FsbGVkX2lkLCBtZS0+a2xhc3MsIFFuaWwpOwogCX0KIAllbHNl IHsKIAkgICAgdm1fcHVzaF9mcmFtZSh0aCwgaXNlcSwgdHlwZSB8IFZNX0ZS QU1FX0ZMQUdfRklOSVNILApAQCAtNzU2LDcgKzc2MCwxNSBAQAogCSAgICB0 aC0+Y2ZwLT5lcFstMV0gPSAoVkFMVUUpY3JlZjsKIAl9CiAKLQlyZXR1cm4g dm1fZXhlYyh0aCk7CisJcmV0ID0gdm1fZXhlYyh0aCk7CisKKwlpZiAobWUp IHsKKwkgICAgLyogYm1ldGhvZCAqLworCSAgICBFWEVDX0VWRU5UX0hPT0so dGgsIFJVQllfRVZFTlRfUkVUVVJOLCBzZWxmLCBtZS0+Y2FsbGVkX2lkLCBt ZS0+a2xhc3MsIHJldCk7CisJICAgIFJVQllfRFRSQUNFX01FVEhPRF9SRVRV Uk5fSE9PSyh0aCwgbWUtPmtsYXNzLCBtZS0+Y2FsbGVkX2lkKTsKKwl9CisK KwlyZXR1cm4gcmV0OwogICAgIH0KICAgICBlbHNlIHsKIAlyZXR1cm4gdm1f eWllbGRfd2l0aF9jZnVuYyh0aCwgYmxvY2ssIHNlbGYsIGFyZ2MsIGFyZ3Ys IGJsb2NrcHRyKTsKSW5kZXg6IHZtX2luc25oZWxwZXIuYwo9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLSB2bV9pbnNuaGVscGVyLmMJKHJldmlzaW9uIDQ2 NDYyKQorKysgdm1faW5zbmhlbHBlci5jCSh3b3JraW5nIGNvcHkpCkBAIC0x NjE1LDE3ICsxNjE1LDExIEBACiAgICAgcmJfcHJvY190ICpwcm9jOwogICAg IFZBTFVFIHZhbDsKIAotICAgIFJVQllfRFRSQUNFX01FVEhPRF9FTlRSWV9I T09LKHRoLCBjaS0+bWUtPmtsYXNzLCBjaS0+bWUtPmNhbGxlZF9pZCk7Ci0g ICAgRVhFQ19FVkVOVF9IT09LKHRoLCBSVUJZX0VWRU5UX0NBTEwsIGNpLT5y ZWN2LCBjaS0+bWUtPmNhbGxlZF9pZCwgY2ktPm1lLT5rbGFzcywgUW5pbCk7 Ci0KICAgICAvKiBjb250cm9sIGJsb2NrIGZyYW1lICovCiAgICAgdGgtPnBh c3NlZF9ibWV0aG9kX21lID0gY2ktPm1lOwogICAgIEdldFByb2NQdHIoY2kt Pm1lLT5kZWYtPmJvZHkucHJvYywgcHJvYyk7CiAgICAgdmFsID0gdm1faW52 b2tlX3Byb2ModGgsIHByb2MsIGNpLT5yZWN2LCBjaS0+ZGVmaW5lZF9jbGFz cywgY2ktPmFyZ2MsIGFyZ3YsIGNpLT5ibG9ja3B0cik7CiAKLSAgICBFWEVD X0VWRU5UX0hPT0sodGgsIFJVQllfRVZFTlRfUkVUVVJOLCBjaS0+cmVjdiwg Y2ktPm1lLT5jYWxsZWRfaWQsIGNpLT5tZS0+a2xhc3MsIHZhbCk7Ci0gICAg UlVCWV9EVFJBQ0VfTUVUSE9EX1JFVFVSTl9IT09LKHRoLCBjaS0+bWUtPmts YXNzLCBjaS0+bWUtPmNhbGxlZF9pZCk7Ci0KICAgICByZXR1cm4gdmFsOwog fQogCmBgYAoK44GT44KM44KC44CBMi4xLCAyLjAg44Gn5YaN54++44GX44G+ 44GZ44CCCgoKCgotLSAKaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvCg==