From: "Yugui (Yuki Sonoda)" Date: 2008-12-11T23:18:43+09:00 Subject: [ruby-dev:37391] Re: [BUG:trunk] r20625 dumps core and many strings associated with wrong encoding This is a multi-part message in MIME format. --------------020005070803030608020500 Content-Type: text/plain; charset=ISO-2022-JP Content-Transfer-Encoding: 7bit Yugui (Yuki Sonoda) さんは書きました: > とりあえず、直すのはしてみました。結果として、process_options中に幾つか > default_externalに依存するオブジェクトを生成していることが分かりました。 パッチを添付し忘れました。 修正方針ってこれで良いものでしょうか? * LOAD_PATHのエンコーディングはどうするべき? -E を考慮したdefault_externalか、それともlocale encodingを強制するか * prelude内でのIOはどれほど許される? * なぜこんなに早いタイミングでpreludeが実行されてるんでしょうか? * rb_prognameをrb_gc_register_mark_objectしていましたが、rb_prognameはあ とから上書きされているのでこちらもrb_gc_register_mark_objectしないとまずい? -- Yugui http://yugui.jp 私は私をDumpする --------------020005070803030608020500 Content-Type: text/plain; x-mac-type="0"; x-mac-creator="0"; name="default_external.diff" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="default_external.diff" ZGlmZiAtLWdpdCBhL2VuY29kaW5nLmMgYi9lbmNvZGluZy5jCmluZGV4IDMyNTNiZmQuLmNk ODRhZjQgMTAwNjQ0Ci0tLSBhL2VuY29kaW5nLmMKKysrIGIvZW5jb2RpbmcuYwpAQCAtMTA3 Miw3ICsxMDcyLDcgQEAgZW5jX3NldF9kZWZhdWx0X2VuY29kaW5nKHN0cnVjdCBkZWZhdWx0 X2VuY29kaW5nICpkZWYsIFZBTFVFIGVuY29kaW5nLAogICAgIHJldHVybiBvdmVycmlkZGVu OwogfQogCi1zdGF0aWMgc3RydWN0IGRlZmF1bHRfZW5jb2RpbmcgZGVmYXVsdF9leHRlcm5h bCA9IHstMn07CitzdGF0aWMgc3RydWN0IGRlZmF1bHRfZW5jb2RpbmcgZGVmYXVsdF9leHRl cm5hbCA9IHswfTsKIAogcmJfZW5jb2RpbmcgKgogcmJfZGVmYXVsdF9leHRlcm5hbF9lbmNv ZGluZyh2b2lkKQpkaWZmIC0tZ2l0IGEvZ2VtX3ByZWx1ZGUucmIgYi9nZW1fcHJlbHVkZS5y YgppbmRleCBkZGM1NmM4Li4zMzZkZmFjIDEwMDY0NAotLS0gYS9nZW1fcHJlbHVkZS5yYgor KysgYi9nZW1fcHJlbHVkZS5yYgpAQCAtMiw2ICsyLDEwIEBACiAjIHZpbTogZmlsZXR5cGU9 cnVieQogIyBUSElTIEZJTEUgV0FTIEFVVE9HRU5FUkFURUQsIERPIE5PVCBFRElUCiAKKyMg Tk9USUNFOiBSdWJ5IGlzIGR1cmluZyBpbml0aWFsaXphdGlvbiBoZXJlLiAKKyMgICAqIEVu Y29kaW5nLmRlZmF1bHRfZXh0ZXJuYWwgaXMgYWx3YXlzIEFTQ0lJLThCSVQuCisjICAgKiBT aG91bGQgbm90IGV4cGVjdCBFbmNvZGluZy5kZWZhdWx0X2ludGVybmFsLgorIyAgICogTG9j YWxlIGVuY29kaW5nIGlzIGF2YWlsYWJsZS4KIGlmIGRlZmluZWQ/KEdlbSkgdGhlbgogCiAg IG1vZHVsZSBLZXJuZWwKZGlmZiAtLWdpdCBhL3J1YnkuYyBiL3J1YnkuYwppbmRleCA5MTNi NDU0Li4wODk3YzY5IDEwMDY0NAotLS0gYS9ydWJ5LmMKKysrIGIvcnVieS5jCkBAIC0xMDk3 LDYgKzEwOTcsOCBAQCB0cnVlX3ZhbHVlKHZvaWQpCiAjZGVmaW5lIHJiX2RlZmluZV9yZWFk b25seV9ib29sZWFuKG5hbWUsIHZhbCkgXAogICAgIHJiX2RlZmluZV92aXJ0dWFsX3Zhcmlh YmxlKChuYW1lKSwgKHZhbCkgPyB0cnVlX3ZhbHVlIDogZmFsc2VfdmFsdWUsIDApCiAKK3N0 YXRpYyB2b2lkIGZpeF9vYmplY3RzX2Fzc29jaWF0ZWRfd2l0aF9kZWZhdWx0X2V4dGVybmFs KHZvaWQpOworCiBzdGF0aWMgVkFMVUUKIHByb2Nlc3Nfb3B0aW9ucyhWQUxVRSBhcmcpCiB7 CkBAIC0xMTc4LDcgKzExODAsNyBAQCBwcm9jZXNzX29wdGlvbnMoVkFMVUUgYXJnKQogCX0K ICAgICB9CiAKLSAgICBydWJ5X3NjcmlwdChvcHQtPnNjcmlwdCk7CisgICAgcmJfcHJvZ25h bWUgPSByYl9vYmpfZnJlZXplKHJiX3N0cl9uZXdfY3N0cihvcHQtPnNjcmlwdCkpOwogI2lm IGRlZmluZWQgRE9TSVNIIHx8IGRlZmluZWQgX19DWUdXSU5fXwogICAgIHRyYW5zbGF0ZV9j aGFyKFJTVFJJTkdfUFRSKHJiX3Byb2duYW1lKSwgJ1xcJywgJy8nKTsKICNlbmRpZgpAQCAt MTIxMSw2ICsxMjEzLDcgQEAgcHJvY2Vzc19vcHRpb25zKFZBTFVFIGFyZykKIAllbmMgPSBs ZW5jOwogICAgIH0KICAgICByYl9lbmNfc2V0X2RlZmF1bHRfZXh0ZXJuYWwocmJfZW5jX2Zy b21fZW5jb2RpbmcoZW5jKSk7CisgICAgZml4X29iamVjdHNfYXNzb2NpYXRlZF93aXRoX2Rl ZmF1bHRfZXh0ZXJuYWwoKTsKICAgICBpZiAob3B0LT5pbnRlcm4uZW5jLmluZGV4ID49IDAp IHsKIAllbmMgPSByYl9lbmNfZnJvbV9pbmRleChvcHQtPmludGVybi5lbmMuaW5kZXgpOwog CXJiX2VuY19zZXRfZGVmYXVsdF9pbnRlcm5hbChyYl9lbmNfZnJvbV9lbmNvZGluZyhlbmMp KTsKQEAgLTEyODcsNiArMTI5MCwxOCBAQCBwcm9jZXNzX29wdGlvbnMoVkFMVUUgYXJnKQog CiAgICAgcmV0dXJuIGlzZXE7CiB9CitzdGF0aWMgdm9pZCAKK2ZpeF9vYmplY3RzX2Fzc29j aWF0ZWRfd2l0aF9kZWZhdWx0X2V4dGVybmFsKHZvaWQpCit7CisgICAgaW50IGk7CisgICAg VkFMVUUgbG9hZF9wYXRoID0gR0VUX1ZNKCktPmxvYWRfcGF0aDsKKworICAgIGZvciAoaSA9 IDA7IGkgPCBSQVJSQVlfTEVOKGxvYWRfcGF0aCk7ICsraSkgeworICAgICAgICBWQUxVRSBw YXRoID0gcmJfYXJ5X2VudHJ5KGxvYWRfcGF0aCwgaSk7CisgICAgICAgIHJiX2VuY19hc3Nv Y2lhdGUocGF0aCwgcmJfZGVmYXVsdF9leHRlcm5hbF9lbmNvZGluZygpKTsKKyAgICAgICAg cmJfYXJ5X3N0b3JlKGxvYWRfcGF0aCwgaSwgcGF0aCk7CisgICAgfQorfQogCiBzdHJ1Y3Qg bG9hZF9maWxlX2FyZyB7CiAgICAgVkFMVUUgcGFyc2VyOwpAQCAtMTY2OSwxMCArMTY4NCwx MCBAQCBydWJ5X3Byb2Nlc3Nfb3B0aW9ucyhpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgICAg c3RydWN0IGNtZGxpbmVfYXJndW1lbnRzIGFyZ3M7CiAgICAgc3RydWN0IGNtZGxpbmVfb3B0 aW9ucyBvcHQ7CiAgICAgTk9ERSAqdHJlZTsKKyAgICBWQUxVRSB0bXBfcHJvZ25hbWU7IC8q IHJiX3Byb2duYW1lIHdpbGwgc2V0IHdpdGggcmlnaHQgZW5jb2RpbmcgbGF0ZXIgKi8KIAot ICAgIHJ1Ynlfc2NyaXB0KGFyZ3ZbMF0pOwkvKiBmb3IgdGhlIHRpbWUgYmVpbmcgKi8KLSAg ICByYl9hcmd2MCA9IHJiX3N0cl9uZXc0KHJiX3Byb2duYW1lKTsKLSAgICByYl9nY19yZWdp c3Rlcl9tYXJrX29iamVjdChyYl9hcmd2MCk7CisgICAgdG1wX3Byb2duYW1lID0gcmJfb2Jq X2ZyZWV6ZShyYl9zdHJfbmV3X2NzdHIoYXJndlswXSkpOworICAgIHJiX29ial9mcmVlemUo dG1wX3Byb2duYW1lKTsKICAgICBhcmdzLmFyZ2MgPSBhcmdjOwogICAgIGFyZ3MuYXJndiA9 IGFyZ3Y7CiAgICAgYXJncy5vcHQgPSBjbWRsaW5lX29wdGlvbnNfaW5pdCgmb3B0KTsKQEAg LTE2ODAsNyArMTY5NSw3IEBAIHJ1YnlfcHJvY2Vzc19vcHRpb25zKGludCBhcmdjLCBjaGFy ICoqYXJndikKICAgICBvcHQuaW50ZXJuLmVuYy5pbmRleCA9IC0xOwogICAgIHRyZWUgPSAo Tk9ERSAqKXJiX3ZtX2NhbGxfY2Z1bmMocmJfdm1fdG9wX3NlbGYoKSwKIAkJCQkgICAgcHJv Y2Vzc19vcHRpb25zLCAoVkFMVUUpJmFyZ3MsCi0JCQkJICAgIDAsIHJiX3Byb2duYW1lKTsK KwkJCQkgICAgMCwgdG1wX3Byb2duYW1lKTsKICAgICByZXR1cm4gdHJlZTsKIH0KIAo= --------------020005070803030608020500--