The following bug has been logged online:
Bug reference: 3866
Logged by: Andrew Gilligan
Email address: andy@tcpd.net
PostgreSQL version: 8.3RC1
Operating system: FreeBSD 4.11
Description: Segfault during table update when using convert_from()
Details:
Greetings,
It seems there exists a bug in the way character set conversion
is handled in some circumstances.
Running the test below results in the server (8.3RC1) segfaulting
every time. I haven't fully explored the extent, but it exists
with (at least) LATIN2 and LATIN9 conversion.
The database and client encoding are both UTF8.
Best regards,
-Andy
-- test case --
test=# CREATE TABLE t (id int, geo text);
CREATE TABLE
test=# INSERT INTO t (id, geo) VALUES (1,
convert_from(decode('50696f74726bf3772c20506f6c616e64','hex'), 'LATIN9'));
INSERT 0 1
test=# UPDATE t SET geo =
convert_from(decode('50696f74726bf3772c20506f6c616e64','hex'), 'LATIN9');
UPDATE 1
-- more than 1 row is needed to trigger the error
test=# INSERT INTO t (id, geo) VALUES (2,
convert_from(decode('50696f74726bf3772c20506f6c616e64','hex'), 'LATIN9'));
INSERT 0 1
test=# UPDATE t SET geo =
convert_from(decode('50696f74726bf3772c20506f6c616e64','hex'), 'LATIN9');
server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
The connection to the server was lost. Attempting reset: Failed.
!>