[ruby-core:110056] [Ruby master Bug#19017] Net::HTTP may block when attempting to reuse a persistent connection
From:
"ioquatix (Samuel Williams)" <noreply@...>
Date:
2022-09-24 22:14:27 UTC
List:
ruby-core #110056
SXNzdWUgIzE5MDE3IGhhcyBiZWVuIHVwZGF0ZWQgYnkgaW9xdWF0aXggKFNhbXVlbCBXaWxsaWFt cykuCgoKQGpvc2hjIHRoYW5rcyBmb3IgeW91ciB3b3JrIGludmVzdGlnYXRpbmcgdGhpcyBpc3N1 ZSBhbmQgcGxlYXNlIGxldCBtZSBrbm93IG9uY2UgeW91IGFyZSByZWFkeSBmb3IgYW5vdGhlciBj b2RlIHJldmlldy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQnVn ICMxOTAxNzogTmV0OjpIVFRQIG1heSBibG9jayB3aGVuIGF0dGVtcHRpbmcgdG8gcmV1c2UgYSBw ZXJzaXN0ZW50IGNvbm5lY3Rpb24KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzE5 MDE3I2NoYW5nZS05OTMwNgoKKiBBdXRob3I6IGpvc2hjIChKb3NoIEMpCiogU3RhdHVzOiBPcGVu CiogUHJpb3JpdHk6IE5vcm1hbAoqIHJ1YnkgLXY6IHJ1YnkgMy4xLjJwMjAgKDIwMjItMDQtMTIg cmV2aXNpb24gNDQ5MWJiNzQwYSkgW3g4Nl82NC1saW51eF0KKiBCYWNrcG9ydDogMi43OiBVTktO T1dOLCAzLjA6IFVOS05PV04sIDMuMTogVU5LTk9XTgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tClJ1YnkncyBOZXQ6OkhUVFAgY29kZSBwZXJmb3JtcyBhIGJsb2NraW5n IGBOZXQ6OkJ1ZmZlcmVkSU8jZW9mP2AgY2hlY2sgd2hlbiBhdHRlbXB0aW5nIHRvIHJldXNlIGEg cGVyc2lzdGVudCBIVFRQIGNvbm5lY3Rpb24uIFNlZSBodHRwczovL2dpdGh1Yi5jb20vcnVieS9y dWJ5L2Jsb2IvNmIwOTkzMjhhZjJhZTJkMDRjYmZkMDZmZWRjMzZhMTljZGVjZDMwZC9saWIvbmV0 L2h0dHAucmIjTDE1NzMuIFRoZSBidWcgaXMgdGhlIGNoZWNrIGNhbiBoYW5nIGZvciB1cCB0byB0 aGUgSFRUUCBgcmVhZF90aW1lb3V0YCwgd2hpY2ggaXMgNjAgc2Vjb25kcyBieSBkZWZhdWx0LiAK ClRoZSBjb2RlIGNhbGxzIGBUQ1BTb2NrZXQjd2FpdF9yZWFkYWJsZSgwKWAgdG8gc2VlIGlmIHRo ZSBzb2NrZXQgaXMgcmVhZGFibGUgYmVmb3JlIGNhbGxpbmcgdGhlIGJsb2NraW5nIGBlb2Y/YCBt ZXRob2QuIEhvd2V2ZXIsIGl0J3MgcG9zc2libGUgZm9yIHRoZSBzb2NrZXQgdG8gYmUgcmVhZGFi bGUgd2l0aCBTU0wgSGFuZHNoYWtlIHJlY29yZHMgYW5kIG5vIEFwcGxpY2F0aW9uIERhdGEuIFNv IHRoZSBjYWxsIHRvIGBlb2Y/YCB3aWxsIHByb2Nlc3MgdGhlIFNTTCBIYW5kc2hha2UgcmVjb3Jk cywgYnV0IGhhbmcgc2luY2Ugbm8gQXBwbGljYXRpb24gRGF0YSBpcyBhdmFpbGFibGUuCgpUaGUg aXNzdWUgY2FuIGJlIHRyaWdnZXJlZCBpZiBhIFRMUyAxLjMgc2VydmVyIHNlbmRzIGEgYE5ld1Nl c3Npb25UaWNrZXRgIHNvbWV0aW1lIGFmdGVyIEFwcGxpY2F0aW9uIERhdGEgaXMgd3JpdHRlbi4g VGhlIGF0dGFjaGVkIGNsaWVudCBhbmQgc2VydmVyIGNvZGUgZGVtb25zdHJhdGUgdGhlIHByb2Js ZW0uIE5vdGUgaXQncyBpbXBvcnRhbnQgdGhhdCB0aGUgY2xpZW50IGFuZCBzZXJ2ZXIgYmUgb24g c2VwYXJhdGUgaG9zdHMgb3RoZXJ3aXNlIGBlb2Y/YCB3aWxsIGFsd2F5cyByZXR1cm4gaW1tZWRp YXRlbHkuCgpPbiB0aGUgc2VydmVyLCBjb3B5IGBTZXJ2ZXIuamF2YWAgYW5kIGBjZXJ0cy5wMTJg IGludG8gYSBkaXJlY3RvcnksIGluc3RhbGwgSkRLIDE3LCBjb21waWxlIHRoZSBzZXJ2ZXIgYW5k IHJ1biBpdDoKCmBgYAokIG9wZW5zc2wgcGtjczEyIC1pbmZvIC1pbiBjZXJ0cy5wMTIgLW5vb3V0 IC1wYXNzaW4gcGFzczpwYXNzd29yZApNQUM6IHNoYTEsIEl0ZXJhdGlvbiAyMDQ4Ck1BQyBsZW5n dGg6IDIwLCBzYWx0IGxlbmd0aDogOApQS0NTNyBFbmNyeXB0ZWQgZGF0YTogcGJlV2l0aFNIQTFB bmQ0MEJpdFJDMi1DQkMsIEl0ZXJhdGlvbiAyMDQ4CkNlcnRpZmljYXRlIGJhZwpQS0NTNyBEYXRh ClNocm91ZGVkIEtleWJhZzogcGJlV2l0aFNIQTFBbmQzLUtleVRyaXBsZURFUy1DQkMsIEl0ZXJh dGlvbiAyMDQ4CiQgc3VkbyBhcHQgaW5zdGFsbCAteSBvcGVuamRrLTE3LWpkayBvcGVuamRrLTE3 LWpyZQokIGphdmFjIFNlcnZlci5qYXZhCiQgamF2YSAtRGphdmF4Lm5ldC5kZWJ1Zz1zc2wsdmVy Ym9zZSBTZXJ2ZXIKTG9hZGVkIHBrY3MxMgpgYGAKCk9uIHRoZSBjbGllbnQsIGNvcHkgYGh0dHAu cmJgIGFuZCBgY2EucGVtYCBpbnRvIGEgZGlyZWN0b3J5LCBhZGQgdGhlIElQIGFkZHJlc3MgZm9y IHRoZSBzZXJ2ZXIgYXMgYHBsdXRvYCB0byBgL2V0Yy9ob3N0c2A6CgpgYGAKJCBmaWxlIGNhLnBl bQoKJCBzdWRvIHZpIC9ldGMvaG9zdHMKLi4uCjE5Mi4xNjguMC4xMCBwbHV0bwouLi4KJCBydWJ5 IC0tdmVyc2lvbgpydWJ5IDIuNy42cDIxOSAoMjAyMi0wNC0xMiByZXZpc2lvbiBjOWMyMjQ1YzBh KSBbeDg2XzY0LWxpbnV4XQokIG9wZW5zc2wgdmVyc2lvbgpPcGVuU1NMIDEuMS4xZiAgMzEgTWFy IDIwMjAKYGBgCgpSdW4gdGhlIGNsaWVudCB0byBtYWtlIHRoZSBmaXJzdCByZXF1ZXN0OgoKYGBg CiQgcnVieSBodHRwLnJiCm9wZW5pbmcgY29ubmVjdGlvbiB0byBwbHV0bzo4ODg4Li4uCm9wZW5l ZApzdGFydGluZyBTU0wgZm9yIHBsdXRvOjg4ODguLi4KYGBgCgpUaGUgc2VydmVyIHdpbGwgaGFu ZGxlIHJlcXVlc3RfMSBhbmQgdHJpZ2dlciBhIG5ldyBzZXNzaW9uIHRpY2tldDoKCmBgYApqYXZh eC5uZXQuc3NsfERFQlVHfDEwfG1haW58MjAyMi0wOS0yMiAxODoxODoyMy4yNjkgVVRDfFNTTENp cGhlci5qYXZhOjQ2NnxqZGsudGxzLmtleUxpbWl0czogIGVudHJ5ID0gQUVTL0dDTS9Ob1BhZGRp bmcgS2V5VXBkYXRlIDJeMzcuIEFFUy9HQ00vTk9QQURESU5HOktFWVVQREFURSA9IDEzNzQzODk1 MzQ3MgpDb25uZWN0ZWQgdG8gMzc1MzIKSGFuZGxpbmcgcmVxdWVzdF8wCi4uLiBzbmlwIC4uLgpq YXZheC5uZXQuc3NsfERFQlVHfDEwfG1haW58MjAyMi0wOS0yMiAxODoxODoyNS4zMTAgVVRDfFNT TENpcGhlci5qYXZhOjIwMjR8S2V5TGltaXQgd3JpdGUgc2lkZTogYWxnb3JpdGhtID0gQUVTL0dD TS9OT1BBRERJTkc6S0VZVVBEQVRFCmNvdW50ZG93biB2YWx1ZSA9IDEzNzQzODk1MzQ3MgpqYXZh eC5uZXQuc3NsfERFQlVHfDEwfG1haW58MjAyMi0wOS0yMiAxODoxODoyNS4zMzUgVVRDfFNTTENp cGhlci5qYXZhOjE4NzB8S2V5TGltaXQgcmVhZCBzaWRlOiBhbGdvcml0aG0gPSBBRVMvR0NNL05P UEFERElORzpLRVlVUERBVEUKY291bnRkb3duIHZhbHVlID0gMTM3NDM4OTUzNDcyCnJlYWQgYm9k eQp1cGRhdGVkIHNlc3Npb24gZGF0YQpqYXZheC5uZXQuc3NsfEFMTHwxMHxtYWlufDIwMjItMDkt MjIgMTg6MTg6MjUuMzQzIFVUQ3xTU0xTb2NrZXRJbXBsLmphdmE6MTU2NHx0cmlnZ2VyIG5ldyBz ZXNzaW9uIHRpY2tldAp3cm90ZSByZXNwb25zZQpIYW5kbGluZyByZXF1ZXN0XzEKYGBgCgpUaGUg Y2xpZW50IHdpbGwgaGFuZyB3aGVuIHRyeWluZyB0byByZXVzZSB0aGUgcGVyc2lzdGVudCBjb25u ZWN0aW9uOgoKYGBgCk9TU0xfREVCVUc6IFNTTCBTRVNTSU9OIG5ldyBjYWxsYmFjayBhZGRlZCBb b3NzbF9zc2wuYzo5NjNdClNTTCBlc3RhYmxpc2hlZCwgcHJvdG9jb2w6IFRMU3YxLjMsIGNpcGhl cjogVExTX0FFU18yNTZfR0NNX1NIQTM4NAo8LSAiUE9TVCAvIEhUVFAvMS4xXHJcbkFjY2VwdC1F bmNvZGluZzogaWRlbnRpdHlcclxuQ29ubmVjdGlvbjoga2VlcC1hbGl2ZVxyXG5Db250ZW50LVR5 cGU6IHRleHQvcGxhaW5cclxuQWNjZXB0OiAqLypcclxuVXNlci1BZ2VudDogUnVieVxyXG5Ib3N0 OiBwbHV0bzo4ODg4XHJcbkNvbnRlbnQtTGVuZ3RoOiAwXHJcblxyXG4iCjwtICIiCk9TU0xfREVC VUc6IFNTTCBTRVNTSU9OIG5ldyBjYWxsYmFjayBlbnRlcmVkIFtvc3NsX3NzbC5jOjQ1NF0KLT4g IkhUVFAvMS4xIDIwMCBPS1xyXG4iCi0+ICJDb250ZW50LUxlbmd0aDogMFxyXG4iCi0+ICJcclxu IgpyZWFkaW5nIDAgYnl0ZXMuLi4KLT4gIiIKcmVhZCAwIGJ5dGVzCkNvbm4ga2VlcC1hbGl2ZQpP U1NMX0RFQlVHOiBTU0wgU0VTU0lPTiBuZXcgY2FsbGJhY2sgZW50ZXJlZCBbb3NzbF9zc2wuYzo0 NTRdCmBgYAoKUHJlc3NpbmcgQ3RybC1DIHNob3dzIHRoZSBiYWNrdHJhY2U6CgpgYGAKXkNUcmFj ZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CgkxMTogZnJvbSBodHRwLnJiOjEwOmluIGA8 bWFpbj4nCgkxMDogZnJvbSAvaG9tZS9qb3NoLy5yYmVudi92ZXJzaW9ucy8yLjcuNi9saWIvcnVi eS8yLjcuMC9uZXQvaHR0cC5yYjo5MzM6aW4gYHN0YXJ0JwoJIDk6IGZyb20gaHR0cC5yYjoxNzpp biBgYmxvY2sgaW4gPG1haW4+JwoJIDg6IGZyb20gL2hvbWUvam9zaC8ucmJlbnYvdmVyc2lvbnMv Mi43LjYvbGliL3J1YnkvMi43LjAvbmV0L2h0dHAucmI6MTI5NDppbiBgcG9zdCcKCSA3OiBmcm9t IC9ob21lL2pvc2gvLnJiZW52L3ZlcnNpb25zLzIuNy42L2xpYi9ydWJ5LzIuNy4wL25ldC9odHRw LnJiOjE1MDY6aW4gYHNlbmRfZW50aXR5JwoJIDY6IGZyb20gL2hvbWUvam9zaC8ucmJlbnYvdmVy c2lvbnMvMi43LjYvbGliL3J1YnkvMi43LjAvbmV0L2h0dHAucmI6MTQ5MjppbiBgcmVxdWVzdCcK CSA1OiBmcm9tIC9ob21lL2pvc2gvLnJiZW52L3ZlcnNpb25zLzIuNy42L2xpYi9ydWJ5LzIuNy4w L25ldC9odHRwLnJiOjE1MTg6aW4gYHRyYW5zcG9ydF9yZXF1ZXN0JwoJIDQ6IGZyb20gL2hvbWUv am9zaC8ucmJlbnYvdmVyc2lvbnMvMi43LjYvbGliL3J1YnkvMi43LjAvbmV0L2h0dHAucmI6MTU3 MzppbiBgYmVnaW5fdHJhbnNwb3J0JwoJIDM6IGZyb20gL2hvbWUvam9zaC8ucmJlbnYvdmVyc2lv bnMvMi43LjYvbGliL3J1YnkvMi43LjAvbmV0L3Byb3RvY29sLnJiOjEzNDppbiBgZW9mPycKCSAy OiBmcm9tIC9ob21lL2pvc2gvLnJiZW52L3ZlcnNpb25zLzIuNy42L2xpYi9ydWJ5LzIuNy4wL29w ZW5zc2wvYnVmZmVyaW5nLnJiOjMwMDppbiBgZW9mPycKCSAxOiBmcm9tIC9ob21lL2pvc2gvLnJi ZW52L3ZlcnNpb25zLzIuNy42L2xpYi9ydWJ5LzIuNy4wL29wZW5zc2wvYnVmZmVyaW5nLnJiOjU3 OmluIGBmaWxsX3JidWZmJwovaG9tZS9qb3NoLy5yYmVudi92ZXJzaW9ucy8yLjcuNi9saWIvcnVi eS8yLjcuMC9vcGVuc3NsL2J1ZmZlcmluZy5yYjo1NzppbiBgc3lzcmVhZCc6IEludGVycnVwdApg YGAKCkkgZ2V0IHRoZSBzYW1lIGJlaGF2aW9yIHdpdGggbGF0ZXN0IHJ1YnkgdG9vOgoKYGBgCiQg cnVieSAtLXZlcnNpb24gICAKcnVieSAzLjEuMnAyMCAoMjAyMi0wNC0xMiByZXZpc2lvbiA0NDkx YmI3NDBhKSBbeDg2XzY0LWxpbnV4XQpgYGAKCkNoYW5naW5nIE5ldDo6SFRUUCB0byB0aGUgZm9s bG93aW5nOgoKYGBgCmVsc2lmIEBzb2NrZXQuaW8ucmVhZF9ub25ibG9jaygwLCBleGNlcHRpb246 IGZhbHNlKS5uaWw/CmBgYAoKUmVzb2x2ZXMgdGhlIGlzc3VlOgoKYGBgCiQgcnVieSBodHRwLnJi Cm9wZW5pbmcgY29ubmVjdGlvbiB0byBwbHV0bzo4ODg4Li4uCm9wZW5lZApzdGFydGluZyBTU0wg Zm9yIHBsdXRvOjg4ODguLi4KT1NTTF9ERUJVRzogU1NMIFNFU1NJT04gbmV3IGNhbGxiYWNrIGFk ZGVkIFtvc3NsX3NzbC5jOjk2M10KU1NMIGVzdGFibGlzaGVkLCBwcm90b2NvbDogVExTdjEuMywg Y2lwaGVyOiBUTFNfQUVTXzI1Nl9HQ01fU0hBMzg0CjwtICJQT1NUIC8gSFRUUC8xLjFcclxuQWNj ZXB0LUVuY29kaW5nOiBpZGVudGl0eVxyXG5Db25uZWN0aW9uOiBrZWVwLWFsaXZlXHJcbkNvbnRl bnQtVHlwZTogdGV4dC9wbGFpblxyXG5BY2NlcHQ6ICovKlxyXG5Vc2VyLUFnZW50OiBSdWJ5XHJc bkhvc3Q6IHBsdXRvOjg4ODhcclxuQ29udGVudC1MZW5ndGg6IDBcclxuXHJcbiIKPC0gIiIKT1NT TF9ERUJVRzogU1NMIFNFU1NJT04gbmV3IGNhbGxiYWNrIGVudGVyZWQgW29zc2xfc3NsLmM6NDU0 XQotPiAiSFRUUC8xLjEgMjAwIE9LXHJcbiIKLT4gIkNvbnRlbnQtTGVuZ3RoOiAwXHJcbiIKLT4g IlxyXG4iCnJlYWRpbmcgMCBieXRlcy4uLgotPiAiIgpyZWFkIDAgYnl0ZXMKQ29ubiBrZWVwLWFs aXZlCjwtICJQT1NUIC8gSFRUUC8xLjFcclxuQWNjZXB0LUVuY29kaW5nOiBpZGVudGl0eVxyXG5D b25uZWN0aW9uOiBrZWVwLWFsaXZlXHJcbkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpblxyXG5BY2Nl cHQ6ICovKlxyXG5Vc2VyLUFnZW50OiBSdWJ5XHJcbkhvc3Q6IHBsdXRvOjg4ODhcclxuQ29udGVu dC1MZW5ndGg6IDBcclxuXHJcbiIKPC0gIiIKT1NTTF9ERUJVRzogU1NMIFNFU1NJT04gbmV3IGNh bGxiYWNrIGVudGVyZWQgW29zc2xfc3NsLmM6NDU0XQotPiAiSFRUUC8xLjEgMjAwIE9LXHJcbiIK LT4gIkNvbnRlbnQtTGVuZ3RoOiAwXHJcbiIKLT4gIlxyXG4iCnJlYWRpbmcgMCBieXRlcy4uLgot PiAiIgpyZWFkIDAgYnl0ZXMKQ29ubiBrZWVwLWFsaXZlCmBgYAoKSG93ZXZlciwgYmFzZWQgb24g aHR0cHM6Ly9naXRodWIuY29tL3J1YnkvcnVieS9wdWxsLzEwODkjaXNzdWVjb21tZW50LTE1OTg3 ODAwMyB0aGF0IGNoYW5nZSBtYXkgbm90IGJlIGNvcnJlY3QuIE9yIGl0IGNvdWxkIGJlIHRoYXQg UnVieSBvbiBXaW5kb3dzIGRvZXNuJ3QgaGF2ZSB0aGlzIGlzc3VlIGFueW1vcmUuCgotLS1GaWxl cy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tClNlcnZlci5qYXZhICgzLjc1IEtCKQpo dHRwLnJiICg0MjMgQnl0ZXMpCmNhLnBlbSAoOC40MyBLQikKY2VydHMucDEyICgyLjI0IEtCKQoK Ci0tIApodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy8KClVuc3Vic2NyaWJlOiA8bWFpbHRvOnJ1 YnktY29yZS1yZXF1ZXN0QHJ1YnktbGFuZy5vcmc/c3ViamVjdD11bnN1YnNjcmliZT4KPGh0dHA6 Ly9saXN0cy5ydWJ5LWxhbmcub3JnL2NnaS1iaW4vbWFpbG1hbi9vcHRpb25zL3J1YnktY29yZT4K