By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
440,626 Members | 1,146 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 440,626 IT Pros & Developers. It's quick & easy.

Segmentation fault on updating a BYTEA field [psycopg2]

P: n/a
I have a simple DB table that stores md5 signature pairs:

Table "public.duplicate"
Column | Type | Modifiers
----------+-------+-----------
sig | bytea | not null
orig_sig | bytea | not null
Indexes:
"duplicate_pkey" PRIMARY KEY, btree (sig)
"ix_duplicate_orig_sig" btree (orig_sig)

I use SqlAlchemy to interact with it and inserting works fine; update
however crashes hard with a segfault. Sure enough, the crash is
reproducible when using the underlying psycopg2 directly:
>>import psycopg2
connect_string = ...
conn = psycopg2.connect(connect_string)
cur = conn.cursor()
cur.execute('SELECT sig,orig_sig from duplicate limit 1')
d = cur.fetchone()
d
(<read-only buffer for 0x40209100, size 16, offset 0 at 0x403054e0>,
<read-only buffer for 0x402090f0, size 16, offset 0 at 0x40305580>)
>>map(str,d)
["\x02#qO\xb0\xcc\xfcx\xb9u\xa5\x83)\xc4'@", '\xa1\xf22\xf6y\xd0\xbc
\xea6\xf0Y\xf1"\xc9(\n']
>>cur.execute('UPDATE duplicate SET orig_sig=%(orig_sig)s WHERE duplicate.sig = %(duplicate_sig)s',
.... dict(orig_sig=d[0], duplicate_sig=d[1]))
Segmentation fault

Am I (and SqlAlchemy) doing something silly or is this a bug in
psycopg2 ?

George
Jun 27 '08 #1
Share this Question
Share on Google+
1 Reply


P: n/a
On May 21, 6:32 pm, George Sakkis <george.sak...@gmail.comwrote:
I have a simple DB table that stores md5 signature pairs:

Table "public.duplicate"
Column | Type | Modifiers
----------+-------+-----------
sig | bytea | not null
orig_sig | bytea | not null
Indexes:
"duplicate_pkey" PRIMARY KEY, btree (sig)
"ix_duplicate_orig_sig" btree (orig_sig)

I use SqlAlchemy to interact with it and inserting works fine; update
however crashes hard with a segfault. Sure enough, the crash is
reproducible when using the underlying psycopg2 directly:
>import psycopg2
connect_string = ...
conn = psycopg2.connect(connect_string)
cur = conn.cursor()
cur.execute('SELECT sig,orig_sig from duplicate limit 1')
d = cur.fetchone()
d

(<read-only buffer for 0x40209100, size 16, offset 0 at 0x403054e0>,
<read-only buffer for 0x402090f0, size 16, offset 0 at 0x40305580>)>>map(str,d)

["\x02#qO\xb0\xcc\xfcx\xb9u\xa5\x83)\xc4'@", '\xa1\xf22\xf6y\xd0\xbc
\xea6\xf0Y\xf1"\xc9(\n']>>cur.execute('UPDATE duplicate SET orig_sig=%(orig_sig)s WHERE duplicate.sig = %(duplicate_sig)s',

... dict(orig_sig=d[0], duplicate_sig=d[1]))
Segmentation fault

Am I (and SqlAlchemy) doing something silly or is this a bug in
psycopg2 ?

George
I installed the latest release (psycopg2-2.0.7) and it seems the
problem is gone. Sorry for the noise.

George
Jun 27 '08 #2

This discussion thread is closed

Replies have been disabled for this discussion.