[PATCH] Re: Coredumps with Python 2.5 / Solaris 10

Gregory Bond <[email protected]> Fri, 20 Oct 2006 15:47:07 +1000
Newsgroups gmane.comp.python.sybase
Message-ID <C15E9FFE.FACB%[email protected]>
> This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

--B_3244204030_114306333
Content-type: text/plain;
	charset="US-ASCII"
Content-transfer-encoding: 7bit




On 20/10/06 12:46 PM, "Gregory Bond" <[email protected]> wrote:

> I'm really struggling with making the 0.37 module work with Python 2.5.  I'm
> getting some SIGSEGVs buried deep in the Python core, usually in the
> realloc/free calls, in all sorts of internal Python objects (e.g.
> PyList_Append(), PyDict_SetItem() etc) that really orta be very well tested
> and debugged!
> 
> If I configure Python with either --with-pydebug or --without--pymalloc
> options (i.e. Changing the way objects/mallocs work) then the resulting
> Python version works fine with the Sybase module.  SunPro or GCC compiled,
> both fail.
> 
> Python 2.4.4 works fine with no special config options.
> 
> All of which is telling me something is corrupting heap memory.  Some notes
> in the 2.5 release notes indicate the memory mgmt for C extensions has been
> altered but as far as I can see, the sybase module doesn't use tiehr the
> PyMem_Malloc or PyObject_Malloc calls discussed there.

Found it. (I think..... Still a bit new to the Python extending caper.)

The varous *_dealloc() functions in sybasect were using PyMem_DEL() to
release memory.  Under 2.5, this needs to be PyObject_DEL() as the default
2.5 Python allocator keeps these in separate pools.

Patch attached!


--B_3244204030_114306333
Content-type: application/octet-stream; name="Python25-diffs.bin"
Content-disposition: attachment;
	filename="Python25-diffs.bin"
Content-transfer-encoding: base64

T25seSBpbiBzeWJhc2UtMC4zNzogU3liYXNlLnB5YwpkaWZmIC11IC1yIHN5YmFzZS0wLjM3
LURJU1QvL2Jsay5jIHN5YmFzZS0wLjM3L2Jsay5jCi0tLSBzeWJhc2UtMC4zNy1ESVNULy9i
bGsuYwlNb24gT2N0IDI4IDE2OjA0OjE2IDIwMDIKKysrIHN5YmFzZS0wLjM3L2Jsay5jCUZy
aSBPY3QgMjAgMTU6MDE6MjAgMjAwNgpAQCAtNjc4LDcgKzY3OCw3IEBACiAgICAgfQogI2Vu
ZGlmCiAgICAgUHlfWERFQ1JFRihzZWxmLT5jb25uKTsKLSAgICBQeU1lbV9ERUwoc2VsZik7
CisgICAgUHlPYmplY3RfREVMKHNlbGYpOwogfQogCiAjZGVmaW5lIE9GRlNFVCh4KSBvZmZz
ZXRvZihDU19CTEtERVNDT2JqLCB4KQpkaWZmIC11IC1yIHN5YmFzZS0wLjM3LURJU1QvL2Nt
ZC5jIHN5YmFzZS0wLjM3L2NtZC5jCi0tLSBzeWJhc2UtMC4zNy1ESVNULy9jbWQuYwlNb24g
TWFyIDIxIDE2OjEzOjU1IDIwMDUKKysrIHN5YmFzZS0wLjM3L2NtZC5jCUZyaSBPY3QgMjAg
MTU6NDA6NDkgMjAwNgpAQCAtMTI2Niw3ICsxMjY2LDcgQEAKIAkJICAgICAgc2VsZi0+c2Vy
aWFsLCB2YWx1ZV9zdHIoVkFMX1NUQVRVUywgc3RhdHVzKSk7CiAgICAgfQogICAgIFB5X1hE
RUNSRUYoc2VsZi0+Y29ubik7Ci0gICAgUHlNZW1fREVMKHNlbGYpOworICAgIFB5T2JqZWN0
X0RFTChzZWxmKTsKIH0KIAogI2RlZmluZSBPRkZTRVQoeCkgb2Zmc2V0b2YoQ1NfQ09NTUFO
RE9iaiwgeCkKZGlmZiAtdSAtciBzeWJhc2UtMC4zNy1ESVNULy9jb25uLmMgc3liYXNlLTAu
MzcvY29ubi5jCi0tLSBzeWJhc2UtMC4zNy1ESVNULy9jb25uLmMJU3VuIEZlYiAyMyAxNjoz
ODo0NCAyMDAzCisrKyBzeWJhc2UtMC4zNy9jb25uLmMJRnJpIE9jdCAyMCAxNTowMTozNCAy
MDA2CkBAIC0xMjY5LDcgKzEyNjksNyBAQAogICAgIFNZX0xPQ0tfRlJFRShzZWxmKTsKICAg
ICBQeV9YREVDUkVGKHNlbGYtPmN0eCk7CiAgICAgY29ubl9kZWxfb2JqZWN0KHNlbGYpOwot
ICAgIFB5TWVtX0RFTChzZWxmKTsKKyAgICBQeU9iamVjdF9ERUwoc2VsZik7CiB9CiAKICNk
ZWZpbmUgT0ZGKHgpIG9mZnNldG9mKENTX0NPTk5FQ1RJT05PYmosIHgpCmRpZmYgLXUgLXIg
c3liYXNlLTAuMzctRElTVC8vY3R4LmMgc3liYXNlLTAuMzcvY3R4LmMKLS0tIHN5YmFzZS0w
LjM3LURJU1QvL2N0eC5jCVN1biBNYXIgMjAgMTQ6NTI6MTQgMjAwNQorKysgc3liYXNlLTAu
MzcvY3R4LmMJRnJpIE9jdCAyMCAxNTowMTozNyAyMDA2CkBAIC0xNDgxLDcgKzE0ODEsNyBA
QAogICAgIFB5X1hERUNSRUYoc2VsZi0+Y2xpZW50bXNnX2NiKTsKICAgICBjdHhfZGVsX29i
amVjdChzZWxmKTsKIAotICAgIFB5TWVtX0RFTChzZWxmKTsKKyAgICBQeU9iamVjdF9ERUwo
c2VsZik7CiB9CiAKICNkZWZpbmUgT0ZGKHgpIG9mZnNldG9mKENTX0NPTlRFWFRPYmosIHgp
CmRpZmYgLXUgLXIgc3liYXNlLTAuMzctRElTVC8vZGF0YWJ1Zi5jIHN5YmFzZS0wLjM3L2Rh
dGFidWYuYwotLS0gc3liYXNlLTAuMzctRElTVC8vZGF0YWJ1Zi5jCVR1ZSBEZWMgMjQgMTQ6
MjM6MzkgMjAwMgorKysgc3liYXNlLTAuMzcvZGF0YWJ1Zi5jCUZyaSBPY3QgMjAgMTU6NDE6
MDcgMjAwNgpAQCAtMTEyLDcgKzExMiw3IEBACiAgICAgaWYgKHNlbGYtPmluZGljYXRvciAh
PSBOVUxMKQogCWZyZWUoc2VsZi0+aW5kaWNhdG9yKTsKIAotICAgIFB5TWVtX0RFTChzZWxm
KTsKKyAgICBQeU9iamVjdF9ERUwoc2VsZik7CiB9CiAKIC8qIENvZGUgdG8gaGFuZGxlIGFj
Y2Vzc2luZyBEYXRhQnVmIG9iamVjdHMgYXMgc2VxdWVuY2Ugb2JqZWN0cyAqLwpkaWZmIC11
IC1yIHN5YmFzZS0wLjM3LURJU1QvL2RhdGFmbXQuYyBzeWJhc2UtMC4zNy9kYXRhZm10LmMK
LS0tIHN5YmFzZS0wLjM3LURJU1QvL2RhdGFmbXQuYwlUdWUgRGVjIDI0IDE0OjIzOjM5IDIw
MDIKKysrIHN5YmFzZS0wLjM3L2RhdGFmbXQuYwlGcmkgT2N0IDIwIDE1OjAxOjQ4IDIwMDYK
QEAgLTEzMSw3ICsxMzEsNyBAQAogc3RhdGljIHZvaWQgQ1NfREFUQUZNVF9kZWFsbG9jKENT
X0RBVEFGTVRPYmogKnNlbGYpCiB7CiAgICAgU1lfTEVBS19VTlJFRyhzZWxmKTsKLSAgICBQ
eU1lbV9ERUwoc2VsZik7CisgICAgUHlPYmplY3RfREVMKHNlbGYpOwogfQogCiB2b2lkIGRh
dGFmbXRfZGVidWcoQ1NfREFUQUZNVCAqZm10KQpkaWZmIC11IC1yIHN5YmFzZS0wLjM3LURJ
U1QvL2RhdGV0aW1lLmMgc3liYXNlLTAuMzcvZGF0ZXRpbWUuYwotLS0gc3liYXNlLTAuMzct
RElTVC8vZGF0ZXRpbWUuYwlNb24gT2N0IDI4IDE2OjA0OjE2IDIwMDIKKysrIHN5YmFzZS0w
LjM3L2RhdGV0aW1lLmMJRnJpIE9jdCAyMCAxNTowMTo1NSAyMDA2CkBAIC0xNTQsNyArMTU0
LDcgQEAKIHsKICAgICBTWV9MRUFLX1VOUkVHKHNlbGYpOwogCi0gICAgUHlNZW1fREVMKHNl
bGYpOworICAgIFB5T2JqZWN0X0RFTChzZWxmKTsKIH0KIAogc3RhdGljIFB5T2JqZWN0ICpE
YXRlVGltZV9yZXByKERhdGVUaW1lT2JqICpzZWxmKQpDb21tb24gc3ViZGlyZWN0b3JpZXM6
IHN5YmFzZS0wLjM3LURJU1QvL2RvYyBhbmQgc3liYXNlLTAuMzcvZG9jCkNvbW1vbiBzdWJk
aXJlY3Rvcmllczogc3liYXNlLTAuMzctRElTVC8vZXhhbXBsZXMgYW5kIHN5YmFzZS0wLjM3
L2V4YW1wbGVzCmRpZmYgLXUgLXIgc3liYXNlLTAuMzctRElTVC8vaW9kZXNjLmMgc3liYXNl
LTAuMzcvaW9kZXNjLmMKLS0tIHN5YmFzZS0wLjM3LURJU1QvL2lvZGVzYy5jCVRodSBOb3Yg
MjEgMTc6MDU6MjkgMjAwMgorKysgc3liYXNlLTAuMzcvaW9kZXNjLmMJRnJpIE9jdCAyMCAx
NTowMTo1OCAyMDA2CkBAIC01NSw3ICs1NSw3IEBACiBzdGF0aWMgdm9pZCBDU19JT0RFU0Nf
ZGVhbGxvYyhDU19JT0RFU0NPYmogKnNlbGYpCiB7CiAgICAgU1lfTEVBS19VTlJFRyhzZWxm
KTsKLSAgICBQeU1lbV9ERUwoc2VsZik7CisgICAgUHlPYmplY3RfREVMKHNlbGYpOwogfQog
CiAvKiBDb2RlIHRvIGFjY2VzcyBzdHJ1Y3R1cmUgbWVtYmVycyBieSBhY2Nlc3NpbmcgYXR0
cmlidXRlcyAqLwpkaWZmIC11IC1yIHN5YmFzZS0wLjM3LURJU1QvL2xvY2FsZS5jIHN5YmFz
ZS0wLjM3L2xvY2FsZS5jCi0tLSBzeWJhc2UtMC4zNy1ESVNULy9sb2NhbGUuYwlNb24gT2N0
IDI4IDE2OjA0OjE2IDIwMDIKKysrIHN5YmFzZS0wLjM3L2xvY2FsZS5jCUZyaSBPY3QgMjAg
MTU6MDI6MDQgMjAwNgpAQCAtNzMsNyArNzMsNyBAQAogCQkgICAgICB2YWx1ZV9zdHIoVkFM
X1NUQVRVUywgc3RhdHVzKSk7CiAgICAgfQogICAgIFB5X1hERUNSRUYoc2VsZi0+Y3R4KTsK
LSAgICBQeU1lbV9ERUwoc2VsZik7CisgICAgUHlPYmplY3RfREVMKHNlbGYpOwogfQogCiBz
dGF0aWMgaW50IGNzZGF0ZV90eXBlKGludCB0eXBlKQpkaWZmIC11IC1yIHN5YmFzZS0wLjM3
LURJU1QvL21vbmV5LmMgc3liYXNlLTAuMzcvbW9uZXkuYwotLS0gc3liYXNlLTAuMzctRElT
VC8vbW9uZXkuYwlNb24gT2N0IDI4IDE2OjA0OjE2IDIwMDIKKysrIHN5YmFzZS0wLjM3L21v
bmV5LmMJRnJpIE9jdCAyMCAxNTowMjowNyAyMDA2CkBAIC0yNjIsNyArMjYyLDcgQEAKIHN0
YXRpYyB2b2lkIE1vbmV5X2RlYWxsb2MoTW9uZXlPYmogKnNlbGYpCiB7CiAgICAgU1lfTEVB
S19VTlJFRyhzZWxmKTsKLSAgICBQeU1lbV9ERUwoc2VsZik7CisgICAgUHlPYmplY3RfREVM
KHNlbGYpOwogfQogCiAjaWZkZWYgSEFWRV9DU19DTVAKZGlmZiAtdSAtciBzeWJhc2UtMC4z
Ny1ESVNULy9tc2dzLmMgc3liYXNlLTAuMzcvbXNncy5jCi0tLSBzeWJhc2UtMC4zNy1ESVNU
Ly9tc2dzLmMJVGh1IE5vdiAyMSAxNzowNToyOSAyMDAyCisrKyBzeWJhc2UtMC4zNy9tc2dz
LmMJRnJpIE9jdCAyMCAxNTowMjozNSAyMDA2CkBAIC0yOCw3ICsyOCw3IEBACiBzdGF0aWMg
dm9pZCBDU19DTElFTlRNU0dfZGVhbGxvYyhDU19DTElFTlRNU0dPYmogKnNlbGYpCiB7CiAg
ICAgU1lfTEVBS19VTlJFRyhzZWxmKTsKLSAgICBQeU1lbV9ERUwoc2VsZik7CisgICAgUHlP
YmplY3RfREVMKHNlbGYpOwogfQogCiAjZGVmaW5lIENMSUVOVF9PRkYoeCkgb2Zmc2V0b2Yo
Q1NfQ0xJRU5UTVNHLCB4KQpAQCAtMTI2LDcgKzEyNiw3IEBACiBzdGF0aWMgdm9pZCBDU19T
RVJWRVJNU0dfZGVhbGxvYyhDU19TRVJWRVJNU0dPYmogKnNlbGYpCiB7CiAgICAgU1lfTEVB
S19VTlJFRyhzZWxmKTsKLSAgICBQeU1lbV9ERUwoc2VsZik7CisgICAgUHlPYmplY3RfREVM
KHNlbGYpOwogfQogCiAjZGVmaW5lIFNFUlZfT0ZGKHgpIG9mZnNldG9mKENTX1NFUlZFUk1T
RywgeCkKZGlmZiAtdSAtciBzeWJhc2UtMC4zNy1ESVNULy9udW1lcmljLmMgc3liYXNlLTAu
MzcvbnVtZXJpYy5jCi0tLSBzeWJhc2UtMC4zNy1ESVNULy9udW1lcmljLmMJTW9uIE9jdCAy
OCAxNjowNDoxNiAyMDAyCisrKyBzeWJhc2UtMC4zNy9udW1lcmljLmMJRnJpIE9jdCAyMCAx
NTowMjoxNCAyMDA2CkBAIC0yOTksNyArMjk5LDcgQEAKIHN0YXRpYyB2b2lkIE51bWVyaWNf
ZGVhbGxvYyhOdW1lcmljT2JqICpzZWxmKQogewogICAgIFNZX0xFQUtfVU5SRUcoc2VsZik7
Ci0gICAgUHlNZW1fREVMKHNlbGYpOworICAgIFB5T2JqZWN0X0RFTChzZWxmKTsKIH0KIAog
I2lmZGVmIEhBVkVfQ1NfQ01QCg==

--B_3244204030_114306333
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Python-sybase mailing list
[email protected]
https://www.object-craft.com.au/cgi-bin/mailman/listinfo/python-sybase

--B_3244204030_114306333--