[python-sybase] Segentation faults when connecting to SQL Server 2000

Kevin Jacobs jacobs at penguin.theopalgroup.com
Tue, 10 Sep 2002 06:40:18 -0400 (EDT)


  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime@docserver.cac.washington.edu for more info.

--416156269-904680266-1031654418=:2798
Content-Type: TEXT/PLAIN; charset=US-ASCII

On Tue, 10 Sep 2002, Harri Pasanen wrote:
> I experienced similar things.  Probably if you change the query order, it will 
> still be so that the first one works.   So the problem is that the connection 
> / cursors keep some state that throws it off balance.
> 
> I managed to work around this by closing the cursor and reallocating a new one 
> for the next query.  And having opened the connection with 'auto_commit=1' 
> also helped.  

Attached is a _very_ experimental patch that re-works some of the connection
state logic and locking in the Sybase.py module.  Please apply it to an
original copy of Sybase.py, and let me know how it goes.  With it, I am able
to run many queries in sequence very reliably.  Unfortunately, I don't have
a Sybase installation to test, so I don't know exactly where the FreeTDS
implementation of libCT seems to be diverging from what must obviously be
robust for many Sybase users.

Good luck,
-Kevin

--
Kevin Jacobs
The OPAL Group - Enterprise Systems Architect
Voice: (216) 986-0710 x 19         E-mail: jacobs@theopalgroup.com
Fax:   (216) 986-0714              WWW:    http://www.theopalgroup.com

--416156269-904680266-1031654418=:2798
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=diff
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.44.0209100640180.2798@penguin.theopalgroup.com>
Content-Description: 
Content-Disposition: attachment; filename=diff

LS0tIC9ob21lL2phY29icy9wcm9qZWN0cy9NU1NRTC9zeWJhc2UtMC4zNXBy
ZTEvU3liYXNlLnB5CVN1biBBcHIgMjEgMDI6MDA6MDMgMjAwMg0KKysrIFN5
YmFzZS5weQlNb24gSnVsIDE1IDA5OjIxOjM4IDIwMDINCkBAIC0xMzYsNyAr
MTM2LDcgQEANCiAgICAgcmFpc2UgRGF0YWJhc2VFcnJvcihfZm10X2NsaWVu
dChtc2cpKQ0KIA0KIGRlZiBfc2VydmVybXNnX2NiKGN0eCwgY29ubiwgbXNn
KToNCi0gICAgaWYgbXNnLm1zZ251bWJlciBub3QgaW4gKDU3MDEsKToNCisg
ICAgaWYgbXNnLm1zZ251bWJlciBub3QgaW4gKDU3MDEsNTcwMyk6DQogICAg
ICAgICByYWlzZSBEYXRhYmFzZUVycm9yKF9mbXRfc2VydmVyKG1zZykpDQog
DQogZGVmIF9yb3dfYmluZChjbWQsIGNvdW50ID0gMSk6DQpAQCAtMjMxLDYg
KzIzMSw3IEBADQogICAgICAgICBzZWxmLl9vd25lciA9IG93bmVyDQogICAg
ICAgICBzZWxmLl9zdGF0ZSA9IF9DVVJfSURMRQ0KICAgICAgICAgc2VsZi5f
bG9ja19jb3VudCA9IDANCisgICAgICAgIHNlbGYuX2NoYW5uZWxfbG9ja19o
ZWxkID0gMA0KICAgICAgICAgc2VsZi5fbG9jaygpDQogICAgICAgICB0cnk6
DQogICAgICAgICAgICAgc3RhdHVzLCBzZWxmLl9jbWQgPSBvd25lci5fY29u
bi5jdF9jbWRfYWxsb2MoKQ0KQEAgLTI1OCwxMiArMjU5LDI4IEBADQogICAg
IGRlZiBfdW5sb2NrKHNlbGYpOg0KICAgICAgICAgc2VsZi5fb3duZXIuX2xv
Y2sucmVsZWFzZSgpDQogICAgICAgICBzZWxmLl9sb2NrX2NvdW50ID0gc2Vs
Zi5fbG9ja19jb3VudCAtIDENCisgICAgICAgICNhc3NlcnQgbm90IHNlbGYu
X2NoYW5uZWxfbG9ja19oZWxkIG9yIHNlbGYuX2xvY2tfY291bnQgPiAwDQor
DQorICAgIGRlZiBfbG9ja19jaGFubmVsKHNlbGYpOg0KKyAgICAgICAgYXNz
ZXJ0IHNlbGYuX2xvY2tfY291bnQgPiAwDQorICAgICAgICBhc3NlcnQgc2Vs
Zi5fc3RhdGUgPT0gX0NVUl9JRExFDQorICAgICAgICBhc3NlcnQgbm90IHNl
bGYuX2NoYW5uZWxfbG9ja19oZWxkDQorICAgICAgICBzZWxmLl9sb2NrKCkN
CisgICAgICAgIHNlbGYuX2NoYW5uZWxfbG9ja19oZWxkID0gMQ0KKw0KKyAg
ICBkZWYgX3VubG9ja19jaGFubmVsKHNlbGYpOg0KKyAgICAgICAgYXNzZXJ0
IHNlbGYuX2NoYW5uZWxfbG9ja19oZWxkDQorICAgICAgICBhc3NlcnQgc2Vs
Zi5fc3RhdGUgaW4gKF9DVVJfSURMRSxfQ1VSX0NMT1NFRCkNCisgICAgICAg
IGFzc2VydCBzZWxmLl9sb2NrX2NvdW50ID4gMQ0KKyAgICAgICAgc2VsZi5f
Y2hhbm5lbF9sb2NrX2hlbGQgPSAwDQorICAgICAgICBzZWxmLl91bmxvY2so
KQ0KIA0KICAgICBkZWYgX3JhaXNlX2Vycm9yKHNlbGYsIGV4YywgdGV4dCk6
DQogICAgICAgICBpZiBzZWxmLl9zdGF0ZSBub3QgaW4gKF9DVVJfSURMRSwg
X0NVUl9DTE9TRUQpOg0KLSAgICAgICAgICAgIGlmIHNlbGYuX293bmVyLl9j
b25uLmN0X2NhbmNlbChDU19DQU5DRUxfQUxMKSA9PSBDU19TVUNDRUVEOg0K
KyAgICAgICAgICAgIGlmIHNlbGYuX293bmVyIGFuZCBzZWxmLl9vd25lci5f
Y29ubiBhbmQgXA0KKyAgICAgICAgICAgICAgIHNlbGYuX293bmVyLl9jb25u
LmN0X2NhbmNlbChDU19DQU5DRUxfQUxMKSA9PSBDU19TVUNDRUVEOg0KICAg
ICAgICAgICAgICAgICBzZWxmLl9zdGF0ZSA9IF9DVVJfSURMRQ0KLSAgICAg
ICAgICAgICAgICBzZWxmLl91bmxvY2soKQ0KKyAgICAgICAgICAgICAgICBz
ZWxmLl91bmxvY2tfY2hhbm5lbCgpDQogICAgICAgICByYWlzZSBleGModGV4
dCkNCiANCiAgICAgZGVmIGNhbGxwcm9jKHNlbGYsIG5hbWUsIHBhcmFtcyA9
ICgpKToNCkBAIC0yNzksNyArMjk2LDcgQEANCiAgICAgICAgICAgICAgICAg
IyBBdCB0aGUgc3RhcnQgb2YgYSBjb21tYW5kIGFjcXVpcmUgYW4gZXh0cmEg
bG9jayAtDQogICAgICAgICAgICAgICAgICMgd2hlbiB0aGUgY3Vyc29yIGlz
IGlkbGUgYWdhaW4gdGhlIGV4dHJhIGxvY2sgd2lsbCBiZQ0KICAgICAgICAg
ICAgICAgICAjIHJlbGVhc2VkLg0KLSAgICAgICAgICAgICAgICBzZWxmLl9s
b2NrKCkNCisgICAgICAgICAgICAgICAgc2VsZi5fbG9ja19jaGFubmVsKCkN
CiAgICAgICAgICAgICAgICAgc3RhdHVzID0gc2VsZi5fY21kLmN0X2NvbW1h
bmQoQ1NfUlBDX0NNRCwgbmFtZSkNCiAgICAgICAgICAgICAgICAgaWYgc3Rh
dHVzICE9IENTX1NVQ0NFRUQ6DQogICAgICAgICAgICAgICAgICAgICBzZWxm
Ll9yYWlzZV9lcnJvcihFcnJvciwgJ2N0X2NvbW1hbmQnKQ0KQEAgLTMxNCw5
ICszMzEsMTMgQEANCiAgICAgICAgICAgICBpZiBzZWxmLl9zdGF0ZSAhPSBf
Q1VSX0lETEU6DQogICAgICAgICAgICAgICAgIHN0YXR1cyA9IHNlbGYuX2Nt
ZC5jdF9jYW5jZWwoQ1NfQ0FOQ0VMX0FMTCkNCiAgICAgICAgICAgICAgICAg
aWYgc3RhdHVzID09IENTX1NVQ0NFRUQ6DQotICAgICAgICAgICAgICAgICAg
ICBzZWxmLl91bmxvY2soKQ0KKyAgICAgICAgICAgICAgICAgICAgc2VsZi5f
c3RhdGUgPSBfQ1VSX0lETEUNCisgICAgICAgICAgICAgICAgICAgIHNlbGYu
X3VubG9ja19jaGFubmVsKCkNCisgICAgICAgICAgICAgICAgZWxzZToNCisg
ICAgICAgICAgICAgICAgICAgIHNlbGYuX3JhaXNlX2Vycm9yKEVycm9yLCAn
Y3RfY2FuY2VsJykNCiAgICAgICAgICAgICBzZWxmLl9jbWQgPSBOb25lDQog
ICAgICAgICAgICAgc2VsZi5fc3RhdGUgPSBfQ1VSX0NMT1NFRA0KKyAgICAg
ICAgICAgIGFzc2VydCBub3Qgc2VsZi5fY2hhbm5lbF9sb2NrX2hlbGQNCiAg
ICAgICAgIGZpbmFsbHk6DQogICAgICAgICAgICAgc2VsZi5fdW5sb2NrKCkN
CiANCkBAIC0zMzIsNyArMzUzLDcgQEANCiAgICAgICAgICAgICAjIEF0IHRo
ZSBzdGFydCBvZiBhIGNvbW1hbmQgYWNxdWlyZSBhbiBleHRyYSBsb2NrIC0g
d2hlbg0KICAgICAgICAgICAgICMgdGhlIGN1cnNvciBpcyBpZGxlIGFnYWlu
IHRoZSBleHRyYSBsb2NrIHdpbGwgYmUNCiAgICAgICAgICAgICAjIHJlbGVh
c2VkLg0KLSAgICAgICAgICAgIHNlbGYuX2xvY2soKQ0KKyAgICAgICAgICAg
IHNlbGYuX2xvY2tfY2hhbm5lbCgpDQogICAgICAgICAgICAgc2VsZi5fY21k
LmN0X2NvbW1hbmQoQ1NfTEFOR19DTUQsIHNxbCkNCiAgICAgICAgICAgICBm
b3IgbmFtZSwgdmFsdWUgaW4gcGFyYW1zLml0ZW1zKCk6DQogICAgICAgICAg
ICAgICAgIGJ1ZiA9IERhdGFCdWYodmFsdWUpDQpAQCAtMzYzLDcgKzM4NCw3
IEBADQogICAgICAgICBzZWxmLl9sb2NrKCkNCiAgICAgICAgIHRyeToNCiAg
ICAgICAgICAgICBpZiBzZWxmLl9zdGF0ZSA9PSBfQ1VSX0lETEU6DQotICAg
ICAgICAgICAgICAgIHJldHVybg0KKyAgICAgICAgICAgICAgICBzZWxmLl9y
YWlzZV9lcnJvcihQcm9ncmFtbWluZ0Vycm9yLCAnbm8gcmVzdWx0IHNldCBw
ZW5kaW5nJykNCiAgICAgICAgICAgICBpZiBzZWxmLl9zdGF0ZSA9PSBfQ1VS
X0NMT1NFRDoNCiAgICAgICAgICAgICAgICAgc2VsZi5fcmFpc2VfZXJyb3Io
UHJvZ3JhbW1pbmdFcnJvciwgJ2N1cnNvciBpcyBjbG9zZWQnKQ0KICAgICAg
ICAgICAgIGlmIHNlbGYuX3N0YXRlID09IF9DVVJfRkVUQ0hJTkc6DQpAQCAt
MzczLDcgKzM5NCw3IEBADQogICAgICAgICAgICAgICAgICAgICBzdGF0dXMg
PSBzZWxmLl9jbWQuY3RfY2FuY2VsKENTX0NBTkNFTF9BTEwpDQogICAgICAg
ICAgICAgICAgICAgICBpZiBzdGF0dXMgPT0gQ1NfU1VDQ0VFRDoNCiAgICAg
ICAgICAgICAgICAgICAgICAgICBzZWxmLl9zdGF0ZSA9IF9DVVJfSURMRQ0K
LSAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3VubG9jaygpDQorICAg
ICAgICAgICAgICAgICAgICAgICAgc2VsZi5fdW5sb2NrX2NoYW5uZWwoKQ0K
ICAgICAgICAgICAgICAgICAgICAgcmFpc2UNCiAgICAgICAgICAgICAgICAg
aWYgcm93Og0KICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJvdw0KQEAg
LTQ0NCwxMCArNDY1LDEwIEBADQogICAgICAgICBwYXNzDQogDQogICAgIGRl
ZiBfZmV0Y2hfcm93Y291bnQoc2VsZik6DQorICAgICAgICBzZWxmLnJvd2Nv
dW50ID0gLTENCiAgICAgICAgIHN0YXR1cywgcmVzdWx0ID0gc2VsZi5fY21k
LmN0X3Jlc3VsdHMoKQ0KICAgICAgICAgaWYgc3RhdHVzID09IENTX0VORF9S
RVNVTFRTOg0KLSAgICAgICAgICAgIHNlbGYuX3N0YXRlID0gX0NVUl9JRExF
DQotICAgICAgICAgICAgc2VsZi5fdW5sb2NrKCkNCisgICAgICAgICAgICBz
ZWxmLnJvd2NvdW50ID0gMA0KICAgICAgICAgICAgIHJldHVybg0KICAgICAg
ICAgZWxpZiBzdGF0dXMgIT0gQ1NfU1VDQ0VFRDoNCiAgICAgICAgICAgICBz
ZWxmLl9yYWlzZV9lcnJvcihFcnJvciwgJ2N0X3Jlc3VsdHMnKQ0KQEAgLTQ1
OSwxMSArNDgwLDE0IEBADQogICAgICAgICAgICAgc2VsZi5fcmFpc2VfZXJy
b3IoRXJyb3IsICdjdF9yZXN1bHRzJykNCiANCiAgICAgZGVmIF9zdGFydF9y
ZXN1bHRzKHNlbGYpOg0KKyAgICAgICAgc2VsZi5yb3djb3VudCA9IC0xDQog
ICAgICAgICB3aGlsZSAxOg0KICAgICAgICAgICAgIHN0YXR1cywgcmVzdWx0
ID0gc2VsZi5fY21kLmN0X3Jlc3VsdHMoKQ0KICAgICAgICAgICAgIGlmIHN0
YXR1cyA9PSBDU19FTkRfUkVTVUxUUzoNCi0gICAgICAgICAgICAgICAgc2Vs
Zi5fc3RhdGUgPSBfQ1VSX0lETEUNCi0gICAgICAgICAgICAgICAgc2VsZi5f
dW5sb2NrKCkNCisgICAgICAgICAgICAgICAgc2VsZi5yb3djb3VudCA9IDAN
CisgICAgICAgICAgICAgICAgaWYgc2VsZi5fc3RhdGUgIT0gX0NVUl9JRExF
Og0KKyAgICAgICAgICAgICAgICAgIHNlbGYuX3N0YXRlID0gX0NVUl9JRExF
DQorICAgICAgICAgICAgICAgICAgc2VsZi5fdW5sb2NrX2NoYW5uZWwoKQ0K
ICAgICAgICAgICAgICAgICByZXR1cm4NCiAgICAgICAgICAgICBlbGlmIHN0
YXR1cyAhPSBDU19TVUNDRUVEOg0KICAgICAgICAgICAgICAgICBzZWxmLl9y
YWlzZV9lcnJvcihFcnJvciwgJ2N0X3Jlc3VsdHMnKQ0KQEAgLTQ4MSw2ICs1
MDUsNyBAQA0KICAgICAgICAgICAgIGVsaWYgcmVzdWx0IGluIChDU19DTURf
RE9ORSwgQ1NfQ01EX1NVQ0NFRUQpOg0KICAgICAgICAgICAgICAgICBzdGF0
dXMsIHNlbGYucm93Y291bnQgPSBzZWxmLl9jbWQuY3RfcmVzX2luZm8oQ1Nf
Uk9XX0NPVU5UKQ0KICAgICAgICAgICAgICAgICBpZiBzdGF0dXMgIT0gQ1Nf
U1VDQ0VFRDoNCisgICAgICAgICAgICAgICAgICAgIHNlbGYucm93Y291bnQg
PSAtMQ0KICAgICAgICAgICAgICAgICAgICAgc2VsZi5fcmFpc2VfZXJyb3Io
RXJyb3IsICdjdF9yZXNfaW5mbycpDQogICAgICAgICAgICAgZWxzZToNCiAg
ICAgICAgICAgICAgICAgc2VsZi5fcmFpc2VfZXJyb3IoRXJyb3IsICdjdF9y
ZXN1bHRzJykNCkBAIC01NjIsOSArNTg3LDEwIEBADQogICAgIGRlZiBjbG9z
ZShzZWxmKToNCiAgICAgICAgICcnJ0RCSS1BUEkgQ29ubmVjdGlvbi5jbG9z
ZSgpDQogICAgICAgICAnJycNCi0gICAgICAgIGNvbm4gPSBzZWxmLl9jb25u
DQogICAgICAgICBzZWxmLl9sb2NrLmFjcXVpcmUoKQ0KICAgICAgICAgdHJ5
Og0KKyAgICAgICAgICAgIGNvbm4gPSBzZWxmLl9jb25uDQorICAgICAgICAg
ICAgc2VsZi5fY29ubiA9IE5vbmUNCiAgICAgICAgICAgICBzdGF0dXMsIHJl
c3VsdCA9IGNvbm4uY3RfY29uX3Byb3BzKENTX0dFVCwgQ1NfQ09OX1NUQVRV
UykNCiAgICAgICAgICAgICBpZiBzdGF0dXMgIT0gQ1NfU1VDQ0VFRDoNCiAg
ICAgICAgICAgICAgICAgc2VsZi5fcmFpc2VfZXJyb3IoRXJyb3IsICdjdF9j
b25fcHJvcHMnKQ0K
--416156269-904680266-1031654418=:2798--