[ruby-core:114353] [Ruby master Feature#19790] Optionally write Ruby crash reports into a file rather than STDERR
From:
"kjtsanaktsidis (KJ Tsanaktsidis) via ruby-core" <ruby-core@...>
Date:
2023-08-08 05:34:07 UTC
List:
ruby-core #114353
SXNzdWUgIzE5NzkwIGhhcyBiZWVuIHVwZGF0ZWQgYnkga2p0c2FuYWt0c2lkaXMgKEtKIFRzYW5h a3RzaWRpcykuDQ0KDQ0KDQ0KPiBhZnJhaWQgaWYgdGhpcyBjYW4gd29yayB3ZWxsIGluIGEgc2ln bmFsIGhhbmRsZXIuDQ0KDQ0KVGhlIGN1cnJlbnQgYnVncmVwb3J0ZXIgZG9lcyBsb3RzIG9mIHRo aW5ncyB3aGljaCBhcmUgbm90IF9yZWFsbHlfIHNhZmUgdG8gZG8gaW4gYSBzaWduYWwgaGFuZGxl ci4uLiBldmVuIGBmcHJpbnRmYCBpcyBub3QgYXN5bmMtc2lnbmFsLXNhZmUgKGF0IGxlYXN0IG9u IExpbnV4LCBhY2NvcmRpbmcgdG8gc2lnbmFsLXNhZmV0eSg3KSkuIEl0IGFsc28gYWNjZXNzZXMg dGhlIFJ1Ynkgc3RhY2sgd2hpY2ggb2YgY291cnNlIG1heSBiZSBpbiBhbiBpbmNvbnNpc3RlbnQg c3RhdGUuIEkgZ3Vlc3MgaXQgYWxsIHdvcmtzICJ3ZWxsIGVub3VnaCIgbW9zdCBvZiB0aGUgdGlt ZS4NDQoNDQpMb29raW5nIGF0IHlvdXIgcGF0Y2gsIGl0IF9sb29rc18gYWJvdXQgYXMgc2lnbmFs LXNhZmUgYXMgdGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gaXMuIE5vdGFibHkgdGhlIGBzcHJp bnRmYCBjYWxscyBhcmUgdW5zYWZlIChidXQgd2UncmUgYWxyZWFkeSBkb2luZyB0aGF0KSwgYW5k IEknbSBub3Qgc3VyZSBpZiB0aGUgYFJTVFJJTkdfUFRSYCBldGMgbWFuaXB1bGF0aW9ucyBhcmUg c2FmZSAoYnV0IHdlIGRvIHRoaW5ncyBsaWtlIHRoYXQgaW4gdGhlIFJ1YnkgYmFja3RyYWNlLXBy aW50aW5nIGNvZGUgYW55d2F5KS4gTm90aGluZyBfZWxzZV8ganVtcHMgb3V0IHRvIG15IGV5ZXMg YXMgbm90YWJseSBtb3JlIGhhemFyZG91cy4gVGhlIG9ubHkgdGhpbmcgSSBtaWdodCBzdWdnZXN0 IGlzIHRvIHB1c2ggYmFjayB0aGUgb3BlbmluZyBvZiB0aGUgYnVncmVwb3J0IGZpbGUgKGFuZCBw YXJzaW5nIHRoZSBgJWAncykgdW50aWwgYWZ0ZXIgdGhlIGBpZiAoY3Jhc2hpbmcpYCBjaGVjayBp biBgcmJfdm1fYnVncmVwb3J0YCwgc28gdGhhdCB0aGVzZSB1bnNhZmV0eSdzIGNhbid0IGNhdXNl IHJlY3Vyc2l2ZSBjcmFzaGVzLg0NCg0NCihBbHNvIC0gdW5yZWxhdGVkIHRvIHRoZSBpc3N1ZSBh dCBoYW5kLCBidXQgSSB0aGluayB0aGUgYGNyYXNoaW5nID0gdHJ1ZWAgYXNzaWdubWVudCBtaWdo dCBzdHJpY3RseSBzcGVha2luZyBuZWVkIGEgbWVtb3J5IGZlbmNlIGFmdGVyIGl0KQ0NCg0NCi0t LQ0NCg0NCklmIHdlIHdhbnRlZCBSdWJ5IGNyYXNoZHVtcHMgdG8gYmUgc2lnbmFsLXNhZmUsIEkg Z3Vlc3MgdGhlIF9iZXN0XyBvcHRpb24gd291bGQgYmUgdG8gc2ltcGx5IGFzayB0aGUgb3BlcmF0 aW5nIHN5c3RlbSB0byBnZW5lcmF0ZSBjb3JlZHVtcHMgb24gY3Jhc2hlcywgYW5kIHdyaXRlIHNv bWUgZXh0ZXJuYWwgdG9vbGluZyB0byBkbyBuaWNlIHRoaW5ncyBsaWtlIGV4dHJhY3QgUnVieSBi YWNrdHJhY2VzIG91dCBvZiB0aG9zZSBjb3JlZHVtcHMuIEhvd2V2ZXIgdGhhdCBjb2RlIHdvdWxk IGJlIHF1aXRlIHBsYXRmb3JtLXNwZWNpZmljLCBhbmQgYWxzbyBkdXBsaWNhdGUgZGVjZW50IGFt b3VudHMgb2YgUnVieSdzIHN0cmluZy9iYWNrdHJhY2UgaGFuZGxpbmcgY29kZSwgc28gSSBjYW4g c2VlIHdoeSB0aGlzIGhhc24ndCBiZWVuIHRoZSBhcHByb2FjaCBzbyBmYXIuDQ0KDQ0KLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0NCkZlYXR1cmUgIzE5NzkwOiBPcHRp b25hbGx5IHdyaXRlIFJ1YnkgY3Jhc2ggcmVwb3J0cyBpbnRvIGEgZmlsZSByYXRoZXIgdGhhbiBT VERFUlINDQpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMTk3OTAjY2hhbmdlLTEw NDA5Ng0NCg0NCiogQXV0aG9yOiBieXJvb3QgKEplYW4gQm91c3NpZXIpDQ0KKiBTdGF0dXM6IE9w ZW4NDQoqIFByaW9yaXR5OiBOb3JtYWwNDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tDQ0KIyMjIFVzZSBjYXNlDQ0KDQ0KT24gb3VyIHNlcnZlcnMgd2Ugc2V0IFtgL3By b2Mvc3lzL2tlcm5lbC9jb3JlX3BhdHRlcm5gXShodHRwczovL21hbjcub3JnL2xpbnV4L21hbi1w YWdlcy9tYW41L2NvcmUuNS5odG1sKSB0byBwb2ludCB0byBhIHNtYWxsIHV0aWxpdHkgdGhhdCBy ZXBvcnQgYWxsIHRoZSBjcmFzaGVzIGhhcHBlbmluZyBpbiBwcm9kdWN0aW9uIHdpdGggdGhlIGFz c29jaWF0ZWQgY29yZSBkdW1wIGludG8gQnVnU25hZy4NDQoNDQpUaGlzIGFsbG93ZWQgdXMgdG8g ZmluZCBhbmQgZml4IG1hbnkgUnVieSBhbmQgbmF0aXZlIGV4dGVuc2lvbnMgYnVncyBpbiB0aGUg bGFzdCBmZXcgeWVhcnMuDQ0KDQ0KSG93ZXZlciwgdGhlc2UgYXJlIGhhcmQgdG8gdHJpYWdlLCBz byB3ZSdkIGxpa2UgdG8gYXVnbWVudCB0aGVzZSBjcmFzaCByZXBvcnRzIHdpdGggdGhlIG91dHB1 dCBvZiBgcmJfdm1fYnVncmVwb3J0KClgLg0NCg0NCiMjIyBQcm9ibGVtDQ0KDQ0KYHJiX3ZtX2J1 Z3JlcG9ydCgpYCBpcyBoYXJkIGNvZGVkIHRvIHByaW50IHRvIFNUREVSUiwgdGhpcyBtYWtlcyBp dCBoYXJkIHRvIGV4dHJhY3QgYW5kIHBhcnNlIHRoZSByZXBvcnQgaW4gYSBwcm9kdWN0aW9uIGVu dmlyb25tZW50LCBhcyB2ZXJ5IG9mdGVuIFNUREVSUiBpcyBzaGFyZWQgd2l0aCBvdGhlciBwcm9j ZXNzZXMsIHNvIHRoZSBjcmFzaCByZXBvcnQgaXMgaW50ZXJ0d2luZWQgd2l0aCBsb2dzIGZyb20g b3RoZXIgcHJvY2Vzc2VzLg0NCg0NCiMjIyBGZWF0dXJlIFJlcXVlc3QNDQoNDQpJdCB3b3VsZCBi ZSB2ZXJ5IHVzZWZ1bCBpZiBSdWJ5IGNvdWxkIHdyaXRlIHRoZSBjcmFzaCByZXBvcnQgdG8gYW4g YXJiaXRyYXJ5IHBhdGggcmF0aGVyIHRoYW4gU1RERVJSLCBha2luIHRvIGBrZXJuZWwvY29yZV9w YXR0ZXJuYC4NDQoNDQpFc3BlY2lhbGx5IGl0IHdvdWxkIGJlIHVzZWZ1bCBpZiBpdCBzdXBwb3J0 ZWQgaW50ZXJwb2xhdGluZyB0aGUgY3Jhc2hpbmcgcHJvY2VzcyBQSUQgd2l0aCBgJXBgIGxpa2Ug IGBrZXJuZWwvY29yZV9wYXR0ZXJuYCwgYXMgaXQgd291bGQgbWFrZSBpdCBlYXNpZXIgdG8gbWFw IHRoYXQgcmVwb3J0IHdpdGggdGhlIGNvcmUgZmlsZS4NDQoNDQpUaGlzIGNvdWxkIGJlIGNvbnRy b2xsZXIgYnkgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUgc3VjaCBhcyBgUlVCWV9CVUdSRVBPUlRf UEFUSGAuIGUuZy4NDQoNDQpgYGANDQpSVUJZX0JVR1JFUE9SVF9QQVRIPS92YXIvbG9nL3J1Ynkv cnVieS1jcmFzaC1waWQtJXAubG9nDQ0KYGBgDQ0KDQ0KIyMjIE9wdGlvbmFsIEZlYXR1cmVzDQ0K DQ0KDQ0KYGtlcm5lbC9jb3JlX3BhdHRlcm5gIHN1cHBvcnRzIG90aGVyIGludGVycG9sYXRpb25z LCBob3dldmVyIG5vdCBhbGwgb2YgdGhlbSB3b3VsZCBtYWtlIHNlbnNlIGZvciBSdWJ5IHRvIHN1 cHBvcnQuDQ0KDQ0KICAgICAgICAgICAlJSAgQSBzaW5nbGUgJSBjaGFyYWN0ZXIuDQ0KICAgICAg ICAgICAlYyAgQ29yZSBmaWxlIHNpemUgc29mdCByZXNvdXJjZSBsaW1pdCBvZiBjcmFzaGluZyBw cm9jZXNzDQ0KICAgICAgICAgICAgICAgKHNpbmNlIExpbnV4IDIuNi4yNCkuDQ0KICAgICAgICAg ICAlZCAgRHVtcCBtb2Rl4oCUc2FtZSBhcyB2YWx1ZSByZXR1cm5lZCBieSBwcmN0bCgyKQ0NCiAg ICAgICAgICAgICAgIFBSX0dFVF9EVU1QQUJMRSAoc2luY2UgTGludXggMy43KS4NDQogICAgICAg ICAgICVlICBUaGUgcHJvY2VzcyBvciB0aHJlYWQncyBjb21tIHZhbHVlLCB3aGljaCB0eXBpY2Fs bHkgaXMNDQogICAgICAgICAgICAgICB0aGUgc2FtZSBhcyB0aGUgZXhlY3V0YWJsZSBmaWxlbmFt ZSAod2l0aG91dCBwYXRoIHByZWZpeCwNDQogICAgICAgICAgICAgICBhbmQgdHJ1bmNhdGVkIHRv IGEgbWF4aW11bSBvZiAxNSBjaGFyYWN0ZXJzKSwgYnV0IG1heQ0NCiAgICAgICAgICAgICAgIGhh dmUgYmVlbiBtb2RpZmllZCB0byBiZSBzb21ldGhpbmcgZGlmZmVyZW50OyBzZWUgdGhlDQ0KICAg ICAgICAgICAgICAgZGlzY3Vzc2lvbiBvZiAvcHJvYy9waWQvY29tbSBhbmQgL3Byb2MvcGlkL3Rh c2svdGlkL2NvbW0NDQogICAgICAgICAgICAgICBpbiBwcm9jKDUpLg0NCiAgICAgICAgICAgJUUg IFBhdGhuYW1lIG9mIGV4ZWN1dGFibGUsIHdpdGggc2xhc2hlcyAoJy8nKSByZXBsYWNlZCBieQ0N CiAgICAgICAgICAgICAgIGV4Y2xhbWF0aW9uIG1hcmtzICgnIScpIChzaW5jZSBMaW51eCAzLjAp Lg0NCiAgICAgICAgICAgJWcgIE51bWVyaWMgcmVhbCBHSUQgb2YgZHVtcGVkIHByb2Nlc3MuDQ0K ICAgICAgICAgICAlaCAgSG9zdG5hbWUgKHNhbWUgYXMgbm9kZW5hbWUgcmV0dXJuZWQgYnkgdW5h bWUoMikpLg0NCiAgICAgICAgICAgJWkgIFRJRCBvZiB0aHJlYWQgdGhhdCB0cmlnZ2VyZWQgY29y ZSBkdW1wLCBhcyBzZWVuIGluIHRoZQ0NCiAgICAgICAgICAgICAgIFBJRCBuYW1lc3BhY2UgaW4g d2hpY2ggdGhlIHRocmVhZCByZXNpZGVzIChzaW5jZSBMaW51eA0NCiAgICAgICAgICAgICAgIDMu MTgpLg0NCiAgICAgICAgICAgJUkgIFRJRCBvZiB0aHJlYWQgdGhhdCB0cmlnZ2VyZWQgY29yZSBk dW1wLCBhcyBzZWVuIGluIHRoZQ0NCiAgICAgICAgICAgICAgIGluaXRpYWwgUElEIG5hbWVzcGFj ZSAoc2luY2UgTGludXggMy4xOCkuDQ0KICAgICAgICAgICAlcCAgUElEIG9mIGR1bXBlZCBwcm9j ZXNzLCBhcyBzZWVuIGluIHRoZSBQSUQgbmFtZXNwYWNlIGluDQ0KICAgICAgICAgICAgICAgd2hp Y2ggdGhlIHByb2Nlc3MgcmVzaWRlcy4NDQogICAgICAgICAgICVQICBQSUQgb2YgZHVtcGVkIHBy b2Nlc3MsIGFzIHNlZW4gaW4gdGhlIGluaXRpYWwgUElEDQ0KICAgICAgICAgICAgICAgbmFtZXNw YWNlIChzaW5jZSBMaW51eCAzLjEyKS4NDQogICAgICAgICAgICVzICBOdW1iZXIgb2Ygc2lnbmFs IGNhdXNpbmcgZHVtcC4NDQogICAgICAgICAgICV0ICBUaW1lIG9mIGR1bXAsIGV4cHJlc3NlZCBh cyBzZWNvbmRzIHNpbmNlIHRoZSBFcG9jaCwNDQogICAgICAgICAgICAgICAxOTcwLTAxLTAxIDAw OjAwOjAwICswMDAwIChVVEMpLg0NCiAgICAgICAgICAgJXUgIE51bWVyaWMgcmVhbCBVSUQgb2Yg ZHVtcGVkIHByb2Nlc3MuDQ0KDQ0KDQ0KQWRkaXRpb25hbGx5LCBpZiBga2VybmVsL2NvcmVfcGF0 dGVybmAgc3RhcnRzIHdpdGggYSBwaXBlIChgfGApLCB0aGVuIGl0IGFsbG93cyB0byBwaXBlIHRo ZSBjb3JlIGR1bXAgdG8gYW5vdGhlciBwcm9ncmFtLCB0aGlzIG1heSBhbHNvIG1ha2Ugc2Vuc2Ug YXMgYSBmZWF0dXJlLg0NCg0NCiMjIyBQcmlvciBBcnQNDQoNDQpBc2lkZSBmcm9tIGBrZXJuZWwv Y29yZV9wYXR0ZXJuYCwgc29tZSBvdGhlciB2aXJ0dWFsIG1hY2hpbmUgaGF2ZSBhIHNpbWlsYXIg ZmVhdHVyZSwgZm9yIGluc3RhbmNlIHRoZSBKVk0gaGFzIGEgY29uZmlndXJhYmxlIGNyYXNoIHJl cG9ydDoNDQoNDQpgYGANDQotWFg6RXJyb3JGaWxlPS92YXIvbG9nL2phdmEvaHNfZXJyX3BpZCVw LmxvZw0NCmBgYA0NCg0NCg0NCg0NCg0NCg0NCi0tIA0NCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcu b3JnLw0NCiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCiBy dWJ5LWNvcmUgbWFpbGluZyBsaXN0IC0tIHJ1YnktY29yZUBtbC5ydWJ5LWxhbmcub3JnCiBUbyB1 bnN1YnNjcmliZSBzZW5kIGFuIGVtYWlsIHRvIHJ1YnktY29yZS1sZWF2ZUBtbC5ydWJ5LWxhbmcu b3JnCiBydWJ5LWNvcmUgaW5mbyAtLSBodHRwczovL21sLnJ1YnktbGFuZy5vcmcvbWFpbG1hbjMv cG9zdG9yaXVzL2xpc3RzL3J1YnktY29yZS5tbC5ydWJ5LWxhbmcub3JnLw==