delorie.com/archives/browse.cgi | search |
X-Recipient: | archive-cygwin AT delorie DOT com |
DomainKey-Signature: | a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id |
:list-unsubscribe:list-subscribe:list-archive:list-post | |
:list-help:sender:date:from:to:subject:message-id:in-reply-to | |
:references:mime-version:content-type; q=dns; s=default; b=fdet/ | |
Lp87uxG0Zq20DmX/SpANqYkVxJ1RZVP+QWU9dk1LmC4Gs19u36qkv2GBeJfoeajn | |
ULGTNDC6Vs3VpLWZh9tRjks8gXC9xJbOmqqOt/iPwlW5q+S7lk8milPdSQKfMxxo | |
lpUygfeZPLRb9g7uPavO0TSi3uPKcJttvDKC1k= | |
DKIM-Signature: | v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id |
:list-unsubscribe:list-subscribe:list-archive:list-post | |
:list-help:sender:date:from:to:subject:message-id:in-reply-to | |
:references:mime-version:content-type; s=default; bh=ABGG/qhTeuP | |
4L7QA0WpbeyX8GIk=; b=XwpqlAEZ+na3peTr4pWkIPzsYTcXZ/JwfXBsTldsLNe | |
+j13estUsTdUBL5hcwBQ5wfCKhALQ62URnWabNXwitBHZKFyBZnmpRhsc/VCi2AV | |
rJd10PL/ETMG3uYNv/zMODWBqV6Pn0rjZUuuOj9FAidS5x/Jkqt1eLh6Hjmmbu2E | |
= | |
Mailing-List: | contact cygwin-help AT cygwin DOT com; run by ezmlm |
List-Id: | <cygwin.cygwin.com> |
List-Subscribe: | <mailto:cygwin-subscribe AT cygwin DOT com> |
List-Archive: | <http://sourceware.org/ml/cygwin/> |
List-Post: | <mailto:cygwin AT cygwin DOT com> |
List-Help: | <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs> |
Sender: | cygwin-owner AT cygwin DOT com |
Mail-Followup-To: | cygwin AT cygwin DOT com |
Delivered-To: | mailing list cygwin AT cygwin DOT com |
Authentication-Results: | sourceware.org; auth=none |
X-Virus-Found: | No |
X-Spam-SWARE-Status: | No, score=-11.0 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_1,GIT_PATCH_2 autolearn=ham version=3.3.2 spammy=HDKIM-Filter:v2.10.3, H*c:HHHH, wow64 |
X-HELO: | conssluserg-04.nifty.com |
DKIM-Filter: | OpenDKIM Filter v2.10.3 conssluserg-04.nifty.com v2P0kUTW012182 |
X-Nifty-SrcIP: | [175.179.23.201] |
Date: | Sat, 25 Mar 2017 09:46:38 +0900 |
From: | Takashi Yano <takashi DOT yano AT nifty DOT ne DOT jp> |
To: | cygwin AT cygwin DOT com |
Subject: | Re: [ANNOUNCEMENT] python3 3.6.1-2 (x86 only) |
Message-Id: | <20170325094638.5209c67a5efef02f51a99e75@nifty.ne.jp> |
In-Reply-To: | <20170324182610.8B2F9440070@conbox-039.nifty.com> |
References: | <20170324182610 DOT 8B2F9440070 AT conbox-039 DOT nifty DOT com> |
Mime-Version: | 1.0 |
X-IsSubscribed: | yes |
--Multipart=_Sat__25_Mar_2017_09_46_38_+0900_hvT=ere30hmotPo3 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Hello, On Fri, 24 Mar 2017 13:22:56 -0500 Yaakov Selkowitz wrote: > This release fixes thread allocation issues reported with WoW64 on some > versions of Windows. As this only affects 32-bit Cygwin, the 64-bit build > has not been updated. Thanks for quick fix. I have confirmed the issue has been fixed. However, I have found another prombem related this issue. Python API PyThread_create_key() in the latest release of 64-bit version returns an invalid key value, which is truncated into int size. To confirm this, execute following script: --- from here --- from ctypes import pythonapi key = pythonapi.PyThread_create_key() res1 = pythonapi.PyThread_set_key_value(key, 5555) res2 = pythonapi.PyThread_get_key_value(key) res3 = pythonapi.PyThread_delete_key(key) print(key,res1,res2,res3) --- to here --- Expected result is: 1 0 5555 0 '1' in the first column can be any other value, but the remaining columns must be '0 5555 0'. However, result of 64-bit version is: 1145600 -1 0 22 This means PyThread_set_key_value(), PyThread_get_key_value() and PyThread_delete_key() fail to access key 1145600. This is because the key value is invalid. It seems that the 64 bit key value is truncated into 32-bit value. To fix this issue as well as the issue on WOW, I have made two patches attached, based on two different ideas. pthread-cygwin-1.patch: The higher part of key value is saved, and only lower part is handed to python API. The key value is recombined with higher part when it handed to cygwin pthread functions. Smaller memory and little bit faster. pthread-cygwin-2.patch: The key value returned by cygwin pthread_key_create() is saved in table, and index of the table is handed to python API as a key. The key value is converted via the table when it handed to cygwin pthread functions. Larger memory but steady operation. I prefer pthread-cygwin-2.patch. What do you think? -- Takashi Yano <takashi DOT yano AT nifty DOT ne DOT jp> --Multipart=_Sat__25_Mar_2017_09_46_38_+0900_hvT=ere30hmotPo3 Content-Type: application/octet-stream; name="pthread-cygwin-1.patch" Content-Disposition: attachment; filename="pthread-cygwin-1.patch" Content-Transfer-Encoding: base64 LS0tIG9yaWdzcmMvUHl0aG9uLTMuNi4xL1B5dGhvbi90aHJlYWRfcHRocmVh ZC5oCTIwMTctMDMtMjUgMDg6MTA6MzAuNzg0NjAxODAwICswOTAwCisrKyBz cmMvUHl0aG9uLTMuNi4xL1B5dGhvbi90aHJlYWRfcHRocmVhZC5oCTIwMTct MDMtMjUgMDg6NDM6MTIuMDcwOTA2OTAwICswOTAwCkBAIC02MDMsNiArNjAz LDY3IEBACiAKICNkZWZpbmUgUHlfSEFWRV9OQVRJVkVfVExTCiAKKyNpZmRl ZiBfX0NZR1dJTl9fCisvKiBDeWd3aW4gcHRocmVhZCBUTFMga2V5IHR5cGUg aXMgYSBwb2ludGVyLCB3aGVyZWFzIFB5dGhvbiAzIGFzc3VtZXMKKyAqIGlu dCB0eXBlLiBTbyB3cmFwcGVyIGZ1bmN0aW9ucyBhcmUgdXNlZCBpbnN0ZWFk LgorICovCitzdGF0aWMgdW5zaWduZWQgbG9uZyBrZXliYXNlID0gVUxPTkdf TUFYOworCitzdGF0aWMgaW50CitweV9wdGhyZWFkX2tleV9jcmVhdGUodW5z aWduZWQgbG9uZyAqa2V5LCB2b2lkKCpmdW5jKSh2b2lkICopKQoreworICAg IGludCByZXQ7CisgICAgY29uc3QgdW5zaWduZWQgbG9uZyBtYXNrID0gVUxP TkdfTUFYICYgfih1bnNpZ25lZCBsb25nKUlOVF9NQVg7CisgICAgdW5zaWdu ZWQgbG9uZyBrZXliYXNlX25ldzsKKyAgICBwdGhyZWFkX2tleV90IGtleV9j eWc7CisgICAgcmV0ID0gcHRocmVhZF9rZXlfY3JlYXRlKCZrZXlfY3lnLCBm dW5jKTsKKyAgICBpZiAocmV0KSB7CisgICAgICAgIC8qIEVycm9yICovCisg ICAgICAgICprZXkgPSAwOworICAgICAgICByZXR1cm4gcmV0OworICAgIH0K KyAgICBrZXliYXNlX25ldyA9ICh1bnNpZ25lZCBsb25nKWtleV9jeWcgJiBt YXNrOworICAgIC8qIElmIGJhc2UgYWRkcmVzcyBpcyBkaWZmZXJlbnQsIHRy ZWF0IGFzIGVycm9yICovCisgICAgaWYgKGtleWJhc2UgIT0gVUxPTkdfTUFY ICYmIGtleWJhc2VfbmV3ICE9IGtleWJhc2UpIHsKKyAgICAgICAgcHRocmVh ZF9rZXlfZGVsZXRlKGtleV9jeWcpOworICAgICAgICAqa2V5ID0gMDsKKyAg ICAgICAgZXJybm8gPSBFTk9NRU07CisgICAgICAgIHJldHVybiBFTk9NRU07 CisgICAgfQorICAgIGtleWJhc2UgPSBrZXliYXNlX25ldzsKKyAgICAqa2V5 ID0gKHVuc2lnbmVkIGxvbmcpa2V5X2N5ZyAmIH5tYXNrOworICAgIHJldHVy biAwOworfQorCitzdGF0aWMgaW50CitweV9wdGhyZWFkX2tleV9kZWxldGUo dW5zaWduZWQgbG9uZyBrZXkpCit7CisgICAgcHRocmVhZF9rZXlfdCBrZXlf Y3lnID0gKHB0aHJlYWRfa2V5X3QpKGtleWJhc2UgfCBrZXkpOworICAgIHJl dHVybiBwdGhyZWFkX2tleV9kZWxldGUoa2V5X2N5Zyk7Cit9CisKK3N0YXRp YyBpbnQKK3B5X3B0aHJlYWRfc2V0c3BlY2lmaWModW5zaWduZWQgbG9uZyBr ZXksIGNvbnN0IHZvaWQgKnApCit7CisgICAgcHRocmVhZF9rZXlfdCBrZXlf Y3lnID0gKHB0aHJlYWRfa2V5X3QpKGtleWJhc2UgfCBrZXkpOworICAgIHJl dHVybiBwdGhyZWFkX3NldHNwZWNpZmljKGtleV9jeWcsIHApOworfQorCitz dGF0aWMgdm9pZCAqCitweV9wdGhyZWFkX2dldHNwZWNpZmljKHVuc2lnbmVk IGxvbmcga2V5KQoreworICAgIHB0aHJlYWRfa2V5X3Qga2V5X2N5ZyA9IChw dGhyZWFkX2tleV90KShrZXliYXNlIHwga2V5KTsKKyAgICByZXR1cm4gcHRo cmVhZF9nZXRzcGVjaWZpYyhrZXlfY3lnKTsKK30KKworI2RlZmluZSBwdGhy ZWFkX2tleV90IHVuc2lnbmVkIGxvbmcKKyNkZWZpbmUgcHRocmVhZF9rZXlf Y3JlYXRlIHB5X3B0aHJlYWRfa2V5X2NyZWF0ZQorI2RlZmluZSBwdGhyZWFk X2tleV9kZWxldGUgcHlfcHRocmVhZF9rZXlfZGVsZXRlCisjZGVmaW5lIHB0 aHJlYWRfc2V0c3BlY2lmaWMgcHlfcHRocmVhZF9zZXRzcGVjaWZpYworI2Rl ZmluZSBwdGhyZWFkX2dldHNwZWNpZmljIHB5X3B0aHJlYWRfZ2V0c3BlY2lm aWMKKworI2VuZGlmIC8qIF9fQ1lHV0lOX18gKi8KKwogbG9uZwogUHlUaHJl YWRfY3JlYXRlX2tleSh2b2lkKQogewpAQCAtNjEwLDE1ICs2NzEsMTIgQEAK ICAgICBpbnQgZmFpbCA9IHB0aHJlYWRfa2V5X2NyZWF0ZSgma2V5LCBOVUxM KTsKICAgICBpZiAoZmFpbCkKICAgICAgICAgcmV0dXJuIC0xTDsKLSNpZm5k ZWYgX19DWUdXSU5fXwotICAgIC8qIEN5Z3dpbiBwdGhyZWFkIHR5cGVzIGFy ZSBwb2ludGVycywgd2hpY2ggbWF5ICJvdmVyZmxvdyIgc2lnbmVkIGxvbmcg Ki8KICAgICBpZiAoa2V5ID4gTE9OR19NQVgpIHsKICAgICAgICAgLyogSXNz dWUgIzIyMjA2OiBoYW5kbGUgaW50ZWdlciBvdmVyZmxvdyAqLwogICAgICAg ICBwdGhyZWFkX2tleV9kZWxldGUoa2V5KTsKICAgICAgICAgZXJybm8gPSBF Tk9NRU07CiAgICAgICAgIHJldHVybiAtMUw7CiAgICAgfQotI2VuZGlmCiAg ICAgcmV0dXJuIChsb25nKWtleTsKIH0KIAo= --Multipart=_Sat__25_Mar_2017_09_46_38_+0900_hvT=ere30hmotPo3 Content-Type: application/octet-stream; name="pthread-cygwin-2.patch" Content-Disposition: attachment; filename="pthread-cygwin-2.patch" Content-Transfer-Encoding: base64 LS0tIG9yaWdzcmMvUHl0aG9uLTMuNi4xL1B5dGhvbi90aHJlYWRfcHRocmVh ZC5oCTIwMTctMDMtMjUgMDg6MTA6MzAuNzg0NjAxODAwICswOTAwCisrKyBz cmMvUHl0aG9uLTMuNi4xL1B5dGhvbi90aHJlYWRfcHRocmVhZC5oCTIwMTct MDMtMjUgMDg6NDQ6MjEuOTQ2NTk2NjAwICswOTAwCkBAIC02MDMsNiArNjAz LDgwIEBACiAKICNkZWZpbmUgUHlfSEFWRV9OQVRJVkVfVExTCiAKKyNpZmRl ZiBfX0NZR1dJTl9fCisvKiBDeWd3aW4gcHRocmVhZCBUTFMga2V5IHR5cGUg aXMgYSBwb2ludGVyLCB3aGVyZWFzIFB5dGhvbiAzIGFzc3VtZXMKKyAqIGlu dCB0eXBlLiBTbyB3cmFwcGVyIGZ1bmN0aW9ucyBhcmUgdXNlZCBpbnN0ZWFk LgorICovCitzdGF0aWMgcHRocmVhZF9rZXlfdCBrZXlfdGJsW1BUSFJFQURf S0VZU19NQVhdOworCitzdGF0aWMgaW50CitweV9wdGhyZWFkX2tleV9jcmVh dGUodW5zaWduZWQgbG9uZyAqa2V5LCB2b2lkKCpmdW5jKSh2b2lkICopKQor eworICAgIGludCByZXQ7CisgICAgaW50IGk7CisgICAgcHRocmVhZF9rZXlf dCBrZXlfY3lnOworICAgIHJldCA9IHB0aHJlYWRfa2V5X2NyZWF0ZSgma2V5 X2N5ZywgZnVuYyk7CisgICAgaWYgKHJldCkgeworICAgICAgICAvKiBFcnJv ciAqLworICAgICAgICAqa2V5ID0gMDsKKyAgICAgICAgcmV0dXJuIHJldDsK KyAgICB9CisgICAgZm9yIChpPTA7IGk8UFRIUkVBRF9LRVlTX01BWDsgaSsr KSB7CisgICAgICAgIGlmIChrZXlfdGJsW2ldID09IE5VTEwpIHsKKyAgICAg ICAgICAgIC8qIFN1Y2NlZWRlZCAqLworICAgICAgICAgICAgKmtleSA9IGk7 CisgICAgICAgICAgICBrZXlfdGJsW2ldID0ga2V5X2N5ZzsKKyAgICAgICAg ICAgIHJldHVybiAwOworICAgICAgICB9CisgICAgfQorICAgIHB0aHJlYWRf a2V5X2RlbGV0ZShrZXlfY3lnKTsKKyAgICAvKiBQVEhSRUFEX0tFWVNfTUFY IHJlYWNoZWQgKi8KKyAgICAqa2V5ID0gMDsKKyAgICBlcnJubyA9IEVBR0FJ TjsKKyAgICByZXR1cm4gRUFHQUlOOworfQorCitzdGF0aWMgaW50CitweV9w dGhyZWFkX2tleV9kZWxldGUodW5zaWduZWQgbG9uZyBrZXkpCit7CisgICAg aW50IHJldDsKKyAgICBpZiAoa2V5ID49IFBUSFJFQURfS0VZU19NQVggfHwg a2V5X3RibFtrZXldID09IE5VTEwpIHsKKyAgICAgICAgZXJybm8gPSBFSU5W QUw7CisgICAgICAgIHJldHVybiBFSU5WQUw7CisgICAgfQorICAgIHJldCA9 IHB0aHJlYWRfa2V5X2RlbGV0ZShrZXlfdGJsW2tleV0pOworICAgIGtleV90 Ymxba2V5XSA9IE5VTEw7CisgICAgcmV0dXJuIHJldDsKK30KKworc3RhdGlj IGludAorcHlfcHRocmVhZF9zZXRzcGVjaWZpYyh1bnNpZ25lZCBsb25nIGtl eSwgY29uc3Qgdm9pZCAqcCkKK3sKKyAgICBpZiAoa2V5ID49IFBUSFJFQURf S0VZU19NQVggfHwga2V5X3RibFtrZXldID09IE5VTEwpIHsKKyAgICAgICAg ZXJybm8gPSBFSU5WQUw7CisgICAgICAgIHJldHVybiBFSU5WQUw7CisgICAg fQorICAgIHJldHVybiBwdGhyZWFkX3NldHNwZWNpZmljKGtleV90Ymxba2V5 XSwgcCk7Cit9CisKK3N0YXRpYyB2b2lkICoKK3B5X3B0aHJlYWRfZ2V0c3Bl Y2lmaWModW5zaWduZWQgbG9uZyBrZXkpCit7CisgICAgaWYgKGtleSA+PSBQ VEhSRUFEX0tFWVNfTUFYIHx8IGtleV90Ymxba2V5XSA9PSBOVUxMKSB7Cisg ICAgICAgIGVycm5vID0gRUlOVkFMOworICAgICAgICByZXR1cm4gTlVMTDsK KyAgICB9CisgICAgcmV0dXJuIHB0aHJlYWRfZ2V0c3BlY2lmaWMoa2V5X3Ri bFtrZXldKTsKK30KKworI2RlZmluZSBwdGhyZWFkX2tleV90IHVuc2lnbmVk IGxvbmcKKyNkZWZpbmUgcHRocmVhZF9rZXlfY3JlYXRlIHB5X3B0aHJlYWRf a2V5X2NyZWF0ZQorI2RlZmluZSBwdGhyZWFkX2tleV9kZWxldGUgcHlfcHRo cmVhZF9rZXlfZGVsZXRlCisjZGVmaW5lIHB0aHJlYWRfc2V0c3BlY2lmaWMg cHlfcHRocmVhZF9zZXRzcGVjaWZpYworI2RlZmluZSBwdGhyZWFkX2dldHNw ZWNpZmljIHB5X3B0aHJlYWRfZ2V0c3BlY2lmaWMKKworI2VuZGlmIC8qIF9f Q1lHV0lOX18gKi8KKwogbG9uZwogUHlUaHJlYWRfY3JlYXRlX2tleSh2b2lk KQogewpAQCAtNjEwLDE1ICs2ODQsMTIgQEAKICAgICBpbnQgZmFpbCA9IHB0 aHJlYWRfa2V5X2NyZWF0ZSgma2V5LCBOVUxMKTsKICAgICBpZiAoZmFpbCkK ICAgICAgICAgcmV0dXJuIC0xTDsKLSNpZm5kZWYgX19DWUdXSU5fXwotICAg IC8qIEN5Z3dpbiBwdGhyZWFkIHR5cGVzIGFyZSBwb2ludGVycywgd2hpY2gg bWF5ICJvdmVyZmxvdyIgc2lnbmVkIGxvbmcgKi8KICAgICBpZiAoa2V5ID4g TE9OR19NQVgpIHsKICAgICAgICAgLyogSXNzdWUgIzIyMjA2OiBoYW5kbGUg aW50ZWdlciBvdmVyZmxvdyAqLwogICAgICAgICBwdGhyZWFkX2tleV9kZWxl dGUoa2V5KTsKICAgICAgICAgZXJybm8gPSBFTk9NRU07CiAgICAgICAgIHJl dHVybiAtMUw7CiAgICAgfQotI2VuZGlmCiAgICAgcmV0dXJuIChsb25nKWtl eTsKIH0KIAo= --Multipart=_Sat__25_Mar_2017_09_46_38_+0900_hvT=ere30hmotPo3 Content-Type: text/plain; charset=us-ascii -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple --Multipart=_Sat__25_Mar_2017_09_46_38_+0900_hvT=ere30hmotPo3--
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |