[ruby-core:110033] [Ruby master Bug#19017] Net::HTTP may block when attempting to reuse a persistent connection
From:
"ioquatix (Samuel Williams)" <noreply@...>
Date:
2022-09-23 07:01:25 UTC
List:
ruby-core #110033
SXNzdWUgIzE5MDE3IGhhcyBiZWVuIHVwZGF0ZWQgYnkgaW9xdWF0aXggKFNhbXVlbCBXaWxsaWFt cykuCgoKSSB0aGluayB3ZSBzaG91bGQgc29sdmUgdGhpcyBpbiBJTywgbm90IGluIE5ldDo6SFRU UC4gQ2hlY2tpbmcgdGhlIGNsYXNzL3R5cGUgaXMgYSBzdHJvbmcgaW5kaWNhdGlvbiB0byBtZSB0 aGF0IHRoZSBwcm9ibGVtIGlzIG5vdCBiZWluZyBzb2x2ZWQgYXQgdGhlIHJpZ2h0IGxldmVsLgoK LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpCdWcgIzE5MDE3OiBOZXQ6 OkhUVFAgbWF5IGJsb2NrIHdoZW4gYXR0ZW1wdGluZyB0byByZXVzZSBhIHBlcnNpc3RlbnQgY29u bmVjdGlvbgpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMTkwMTcjY2hhbmdlLTk5 Mjg0CgoqIEF1dGhvcjogam9zaGMgKEpvc2ggQykKKiBTdGF0dXM6IE9wZW4KKiBQcmlvcml0eTog Tm9ybWFsCiogcnVieSAtdjogcnVieSAzLjEuMnAyMCAoMjAyMi0wNC0xMiByZXZpc2lvbiA0NDkx YmI3NDBhKSBbeDg2XzY0LWxpbnV4XQoqIEJhY2twb3J0OiAyLjc6IFVOS05PV04sIDMuMDogVU5L Tk9XTiwgMy4xOiBVTktOT1dOCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KUnVieSdzIE5ldDo6SFRUUCBjb2RlIHBlcmZvcm1zIGEgYmxvY2tpbmcgYE5ldDo6QnVmZmVy ZWRJTyNlb2Y/YCBjaGVjayB3aGVuIGF0dGVtcHRpbmcgdG8gcmV1c2UgYSBwZXJzaXN0ZW50IEhU VFAgY29ubmVjdGlvbi4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9ydWJ5L3J1YnkvYmxvYi82YjA5 OTMyOGFmMmFlMmQwNGNiZmQwNmZlZGMzNmExOWNkZWNkMzBkL2xpYi9uZXQvaHR0cC5yYiNMMTU3 My4gVGhlIGJ1ZyBpcyB0aGUgY2hlY2sgY2FuIGhhbmcgZm9yIHVwIHRvIHRoZSBIVFRQIGByZWFk X3RpbWVvdXRgLCB3aGljaCBpcyA2MCBzZWNvbmRzIGJ5IGRlZmF1bHQuIAoKVGhlIGNvZGUgY2Fs bHMgYFRDUFNvY2tldCN3YWl0X3JlYWRhYmxlKDApYCB0byBzZWUgaWYgdGhlIHNvY2tldCBpcyBy ZWFkYWJsZSBiZWZvcmUgY2FsbGluZyB0aGUgYmxvY2tpbmcgYGVvZj9gIG1ldGhvZC4gSG93ZXZl ciwgaXQncyBwb3NzaWJsZSBmb3IgdGhlIHNvY2tldCB0byBiZSByZWFkYWJsZSB3aXRoIFNTTCBI YW5kc2hha2UgcmVjb3JkcyBhbmQgbm8gQXBwbGljYXRpb24gRGF0YS4gU28gdGhlIGNhbGwgdG8g YGVvZj9gIHdpbGwgcHJvY2VzcyB0aGUgU1NMIEhhbmRzaGFrZSByZWNvcmRzLCBidXQgaGFuZyBz aW5jZSBubyBBcHBsaWNhdGlvbiBEYXRhIGlzIGF2YWlsYWJsZS4KClRoZSBpc3N1ZSBjYW4gYmUg dHJpZ2dlcmVkIGlmIGEgVExTIDEuMyBzZXJ2ZXIgc2VuZHMgYSBgTmV3U2Vzc2lvblRpY2tldGAg c29tZXRpbWUgYWZ0ZXIgQXBwbGljYXRpb24gRGF0YSBpcyB3cml0dGVuLiBUaGUgYXR0YWNoZWQg Y2xpZW50IGFuZCBzZXJ2ZXIgY29kZSBkZW1vbnN0cmF0ZSB0aGUgcHJvYmxlbS4gTm90ZSBpdCdz IGltcG9ydGFudCB0aGF0IHRoZSBjbGllbnQgYW5kIHNlcnZlciBiZSBvbiBzZXBhcmF0ZSBob3N0 cyBvdGhlcndpc2UgYGVvZj9gIHdpbGwgYWx3YXlzIHJldHVybiBpbW1lZGlhdGVseS4KCk9uIHRo ZSBzZXJ2ZXIsIGNvcHkgYFNlcnZlci5qYXZhYCBhbmQgYGNlcnRzLnAxMmAgaW50byBhIGRpcmVj dG9yeSwgaW5zdGFsbCBKREsgMTcsIGNvbXBpbGUgdGhlIHNlcnZlciBhbmQgcnVuIGl0OgoKYGBg CiQgb3BlbnNzbCBwa2NzMTIgLWluZm8gLWluIGNlcnRzLnAxMiAtbm9vdXQgLXBhc3NpbiBwYXNz OnBhc3N3b3JkCk1BQzogc2hhMSwgSXRlcmF0aW9uIDIwNDgKTUFDIGxlbmd0aDogMjAsIHNhbHQg bGVuZ3RoOiA4ClBLQ1M3IEVuY3J5cHRlZCBkYXRhOiBwYmVXaXRoU0hBMUFuZDQwQml0UkMyLUNC QywgSXRlcmF0aW9uIDIwNDgKQ2VydGlmaWNhdGUgYmFnClBLQ1M3IERhdGEKU2hyb3VkZWQgS2V5 YmFnOiBwYmVXaXRoU0hBMUFuZDMtS2V5VHJpcGxlREVTLUNCQywgSXRlcmF0aW9uIDIwNDgKJCBz dWRvIGFwdCBpbnN0YWxsIC15IG9wZW5qZGstMTctamRrIG9wZW5qZGstMTctanJlCiQgamF2YWMg U2VydmVyLmphdmEKJCBqYXZhIC1EamF2YXgubmV0LmRlYnVnPXNzbCx2ZXJib3NlIFNlcnZlcgpM b2FkZWQgcGtjczEyCmBgYAoKT24gdGhlIGNsaWVudCwgY29weSBgaHR0cC5yYmAgYW5kIGBjYS5w ZW1gIGludG8gYSBkaXJlY3RvcnksIGFkZCB0aGUgSVAgYWRkcmVzcyBmb3IgdGhlIHNlcnZlciBh cyBgcGx1dG9gIHRvIGAvZXRjL2hvc3RzYDoKCmBgYAokIGZpbGUgY2EucGVtCgokIHN1ZG8gdmkg L2V0Yy9ob3N0cwouLi4KMTkyLjE2OC4wLjEwIHBsdXRvCi4uLgokIHJ1YnkgLS12ZXJzaW9uCnJ1 YnkgMi43LjZwMjE5ICgyMDIyLTA0LTEyIHJldmlzaW9uIGM5YzIyNDVjMGEpIFt4ODZfNjQtbGlu dXhdCiQgb3BlbnNzbCB2ZXJzaW9uCk9wZW5TU0wgMS4xLjFmICAzMSBNYXIgMjAyMApgYGAKClJ1 biB0aGUgY2xpZW50IHRvIG1ha2UgdGhlIGZpcnN0IHJlcXVlc3Q6CgpgYGAKJCBydWJ5IGh0dHAu cmIKb3BlbmluZyBjb25uZWN0aW9uIHRvIHBsdXRvOjg4ODguLi4Kb3BlbmVkCnN0YXJ0aW5nIFNT TCBmb3IgcGx1dG86ODg4OC4uLgpgYGAKClRoZSBzZXJ2ZXIgd2lsbCBoYW5kbGUgcmVxdWVzdF8x IGFuZCB0cmlnZ2VyIGEgbmV3IHNlc3Npb24gdGlja2V0OgoKYGBgCmphdmF4Lm5ldC5zc2x8REVC VUd8MTB8bWFpbnwyMDIyLTA5LTIyIDE4OjE4OjIzLjI2OSBVVEN8U1NMQ2lwaGVyLmphdmE6NDY2 fGpkay50bHMua2V5TGltaXRzOiAgZW50cnkgPSBBRVMvR0NNL05vUGFkZGluZyBLZXlVcGRhdGUg Ml4zNy4gQUVTL0dDTS9OT1BBRERJTkc6S0VZVVBEQVRFID0gMTM3NDM4OTUzNDcyCkNvbm5lY3Rl ZCB0byAzNzUzMgpIYW5kbGluZyByZXF1ZXN0XzAKLi4uIHNuaXAgLi4uCmphdmF4Lm5ldC5zc2x8 REVCVUd8MTB8bWFpbnwyMDIyLTA5LTIyIDE4OjE4OjI1LjMxMCBVVEN8U1NMQ2lwaGVyLmphdmE6 MjAyNHxLZXlMaW1pdCB3cml0ZSBzaWRlOiBhbGdvcml0aG0gPSBBRVMvR0NNL05PUEFERElORzpL RVlVUERBVEUKY291bnRkb3duIHZhbHVlID0gMTM3NDM4OTUzNDcyCmphdmF4Lm5ldC5zc2x8REVC VUd8MTB8bWFpbnwyMDIyLTA5LTIyIDE4OjE4OjI1LjMzNSBVVEN8U1NMQ2lwaGVyLmphdmE6MTg3 MHxLZXlMaW1pdCByZWFkIHNpZGU6IGFsZ29yaXRobSA9IEFFUy9HQ00vTk9QQURESU5HOktFWVVQ REFURQpjb3VudGRvd24gdmFsdWUgPSAxMzc0Mzg5NTM0NzIKcmVhZCBib2R5CnVwZGF0ZWQgc2Vz c2lvbiBkYXRhCmphdmF4Lm5ldC5zc2x8QUxMfDEwfG1haW58MjAyMi0wOS0yMiAxODoxODoyNS4z NDMgVVRDfFNTTFNvY2tldEltcGwuamF2YToxNTY0fHRyaWdnZXIgbmV3IHNlc3Npb24gdGlja2V0 Cndyb3RlIHJlc3BvbnNlCkhhbmRsaW5nIHJlcXVlc3RfMQpgYGAKClRoZSBjbGllbnQgd2lsbCBo YW5nIHdoZW4gdHJ5aW5nIHRvIHJldXNlIHRoZSBwZXJzaXN0ZW50IGNvbm5lY3Rpb246CgpgYGAK T1NTTF9ERUJVRzogU1NMIFNFU1NJT04gbmV3IGNhbGxiYWNrIGFkZGVkIFtvc3NsX3NzbC5jOjk2 M10KU1NMIGVzdGFibGlzaGVkLCBwcm90b2NvbDogVExTdjEuMywgY2lwaGVyOiBUTFNfQUVTXzI1 Nl9HQ01fU0hBMzg0CjwtICJQT1NUIC8gSFRUUC8xLjFcclxuQWNjZXB0LUVuY29kaW5nOiBpZGVu dGl0eVxyXG5Db25uZWN0aW9uOiBrZWVwLWFsaXZlXHJcbkNvbnRlbnQtVHlwZTogdGV4dC9wbGFp blxyXG5BY2NlcHQ6ICovKlxyXG5Vc2VyLUFnZW50OiBSdWJ5XHJcbkhvc3Q6IHBsdXRvOjg4ODhc clxuQ29udGVudC1MZW5ndGg6IDBcclxuXHJcbiIKPC0gIiIKT1NTTF9ERUJVRzogU1NMIFNFU1NJ T04gbmV3IGNhbGxiYWNrIGVudGVyZWQgW29zc2xfc3NsLmM6NDU0XQotPiAiSFRUUC8xLjEgMjAw IE9LXHJcbiIKLT4gIkNvbnRlbnQtTGVuZ3RoOiAwXHJcbiIKLT4gIlxyXG4iCnJlYWRpbmcgMCBi eXRlcy4uLgotPiAiIgpyZWFkIDAgYnl0ZXMKQ29ubiBrZWVwLWFsaXZlCk9TU0xfREVCVUc6IFNT TCBTRVNTSU9OIG5ldyBjYWxsYmFjayBlbnRlcmVkIFtvc3NsX3NzbC5jOjQ1NF0KYGBgCgpQcmVz c2luZyBDdHJsLUMgc2hvd3MgdGhlIGJhY2t0cmFjZToKCmBgYApeQ1RyYWNlYmFjayAobW9zdCBy ZWNlbnQgY2FsbCBsYXN0KToKCTExOiBmcm9tIGh0dHAucmI6MTA6aW4gYDxtYWluPicKCTEwOiBm cm9tIC9ob21lL2pvc2gvLnJiZW52L3ZlcnNpb25zLzIuNy42L2xpYi9ydWJ5LzIuNy4wL25ldC9o dHRwLnJiOjkzMzppbiBgc3RhcnQnCgkgOTogZnJvbSBodHRwLnJiOjE3OmluIGBibG9jayBpbiA8 bWFpbj4nCgkgODogZnJvbSAvaG9tZS9qb3NoLy5yYmVudi92ZXJzaW9ucy8yLjcuNi9saWIvcnVi eS8yLjcuMC9uZXQvaHR0cC5yYjoxMjk0OmluIGBwb3N0JwoJIDc6IGZyb20gL2hvbWUvam9zaC8u cmJlbnYvdmVyc2lvbnMvMi43LjYvbGliL3J1YnkvMi43LjAvbmV0L2h0dHAucmI6MTUwNjppbiBg c2VuZF9lbnRpdHknCgkgNjogZnJvbSAvaG9tZS9qb3NoLy5yYmVudi92ZXJzaW9ucy8yLjcuNi9s aWIvcnVieS8yLjcuMC9uZXQvaHR0cC5yYjoxNDkyOmluIGByZXF1ZXN0JwoJIDU6IGZyb20gL2hv bWUvam9zaC8ucmJlbnYvdmVyc2lvbnMvMi43LjYvbGliL3J1YnkvMi43LjAvbmV0L2h0dHAucmI6 MTUxODppbiBgdHJhbnNwb3J0X3JlcXVlc3QnCgkgNDogZnJvbSAvaG9tZS9qb3NoLy5yYmVudi92 ZXJzaW9ucy8yLjcuNi9saWIvcnVieS8yLjcuMC9uZXQvaHR0cC5yYjoxNTczOmluIGBiZWdpbl90 cmFuc3BvcnQnCgkgMzogZnJvbSAvaG9tZS9qb3NoLy5yYmVudi92ZXJzaW9ucy8yLjcuNi9saWIv cnVieS8yLjcuMC9uZXQvcHJvdG9jb2wucmI6MTM0OmluIGBlb2Y/JwoJIDI6IGZyb20gL2hvbWUv am9zaC8ucmJlbnYvdmVyc2lvbnMvMi43LjYvbGliL3J1YnkvMi43LjAvb3BlbnNzbC9idWZmZXJp bmcucmI6MzAwOmluIGBlb2Y/JwoJIDE6IGZyb20gL2hvbWUvam9zaC8ucmJlbnYvdmVyc2lvbnMv Mi43LjYvbGliL3J1YnkvMi43LjAvb3BlbnNzbC9idWZmZXJpbmcucmI6NTc6aW4gYGZpbGxfcmJ1 ZmYnCi9ob21lL2pvc2gvLnJiZW52L3ZlcnNpb25zLzIuNy42L2xpYi9ydWJ5LzIuNy4wL29wZW5z c2wvYnVmZmVyaW5nLnJiOjU3OmluIGBzeXNyZWFkJzogSW50ZXJydXB0CmBgYAoKSSBnZXQgdGhl IHNhbWUgYmVoYXZpb3Igd2l0aCBsYXRlc3QgcnVieSB0b286CgpgYGAKJCBydWJ5IC0tdmVyc2lv biAgIApydWJ5IDMuMS4ycDIwICgyMDIyLTA0LTEyIHJldmlzaW9uIDQ0OTFiYjc0MGEpIFt4ODZf NjQtbGludXhdCmBgYAoKQ2hhbmdpbmcgTmV0OjpIVFRQIHRvIHRoZSBmb2xsb3dpbmc6CgpgYGAK ZWxzaWYgQHNvY2tldC5pby5yZWFkX25vbmJsb2NrKDAsIGV4Y2VwdGlvbjogZmFsc2UpLm5pbD8K YGBgCgpSZXNvbHZlcyB0aGUgaXNzdWU6CgpgYGAKJCBydWJ5IGh0dHAucmIKb3BlbmluZyBjb25u ZWN0aW9uIHRvIHBsdXRvOjg4ODguLi4Kb3BlbmVkCnN0YXJ0aW5nIFNTTCBmb3IgcGx1dG86ODg4 OC4uLgpPU1NMX0RFQlVHOiBTU0wgU0VTU0lPTiBuZXcgY2FsbGJhY2sgYWRkZWQgW29zc2xfc3Ns LmM6OTYzXQpTU0wgZXN0YWJsaXNoZWQsIHByb3RvY29sOiBUTFN2MS4zLCBjaXBoZXI6IFRMU19B RVNfMjU2X0dDTV9TSEEzODQKPC0gIlBPU1QgLyBIVFRQLzEuMVxyXG5BY2NlcHQtRW5jb2Rpbmc6 IGlkZW50aXR5XHJcbkNvbm5lY3Rpb246IGtlZXAtYWxpdmVcclxuQ29udGVudC1UeXBlOiB0ZXh0 L3BsYWluXHJcbkFjY2VwdDogKi8qXHJcblVzZXItQWdlbnQ6IFJ1YnlcclxuSG9zdDogcGx1dG86 ODg4OFxyXG5Db250ZW50LUxlbmd0aDogMFxyXG5cclxuIgo8LSAiIgpPU1NMX0RFQlVHOiBTU0wg U0VTU0lPTiBuZXcgY2FsbGJhY2sgZW50ZXJlZCBbb3NzbF9zc2wuYzo0NTRdCi0+ICJIVFRQLzEu MSAyMDAgT0tcclxuIgotPiAiQ29udGVudC1MZW5ndGg6IDBcclxuIgotPiAiXHJcbiIKcmVhZGlu ZyAwIGJ5dGVzLi4uCi0+ICIiCnJlYWQgMCBieXRlcwpDb25uIGtlZXAtYWxpdmUKPC0gIlBPU1Qg LyBIVFRQLzEuMVxyXG5BY2NlcHQtRW5jb2Rpbmc6IGlkZW50aXR5XHJcbkNvbm5lY3Rpb246IGtl ZXAtYWxpdmVcclxuQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluXHJcbkFjY2VwdDogKi8qXHJcblVz ZXItQWdlbnQ6IFJ1YnlcclxuSG9zdDogcGx1dG86ODg4OFxyXG5Db250ZW50LUxlbmd0aDogMFxy XG5cclxuIgo8LSAiIgpPU1NMX0RFQlVHOiBTU0wgU0VTU0lPTiBuZXcgY2FsbGJhY2sgZW50ZXJl ZCBbb3NzbF9zc2wuYzo0NTRdCi0+ICJIVFRQLzEuMSAyMDAgT0tcclxuIgotPiAiQ29udGVudC1M ZW5ndGg6IDBcclxuIgotPiAiXHJcbiIKcmVhZGluZyAwIGJ5dGVzLi4uCi0+ICIiCnJlYWQgMCBi eXRlcwpDb25uIGtlZXAtYWxpdmUKYGBgCgpIb3dldmVyLCBiYXNlZCBvbiBodHRwczovL2dpdGh1 Yi5jb20vcnVieS9ydWJ5L3B1bGwvMTA4OSNpc3N1ZWNvbW1lbnQtMTU5ODc4MDAzIHRoYXQgY2hh bmdlIG1heSBub3QgYmUgY29ycmVjdC4gT3IgaXQgY291bGQgYmUgdGhhdCBSdWJ5IG9uIFdpbmRv d3MgZG9lc24ndCBoYXZlIHRoaXMgaXNzdWUgYW55bW9yZS4KCi0tLUZpbGVzLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KU2VydmVyLmphdmEgKDMuNzUgS0IpCmh0dHAucmIgKDQyMyBC eXRlcykKY2EucGVtICg4LjQzIEtCKQpjZXJ0cy5wMTIgKDIuMjQgS0IpCgoKLS0gCmh0dHBzOi8v YnVncy5ydWJ5LWxhbmcub3JnLwoKVW5zdWJzY3JpYmU6IDxtYWlsdG86cnVieS1jb3JlLXJlcXVl c3RAcnVieS1sYW5nLm9yZz9zdWJqZWN0PXVuc3Vic2NyaWJlPgo8aHR0cDovL2xpc3RzLnJ1Ynkt bGFuZy5vcmcvY2dpLWJpbi9tYWlsbWFuL29wdGlvbnMvcnVieS1jb3JlPgo=