BUG #5334: Version 2.22 of Perl Safe module breaks UTF8 PostgreSQL 8.4

From: "Tim Bunce" <Tim(dot)Bunce(at)pobox(dot)com>
To: pgsql-bugs(at)postgresql(dot)org
Subject: BUG #5334: Version 2.22 of Perl Safe module breaks UTF8 PostgreSQL 8.4
Date: 2010-02-18 10:50:23
Message-ID: 201002181050.o1IAoNIL062106@wwwmaster.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs


The following bug has been logged online:

Bug reference: 5334
Logged by: Tim Bunce
Email address: Tim(dot)Bunce(at)pobox(dot)com
PostgreSQL version: 8.4.2
Operating system: OS X
Description: Version 2.22 of Perl Safe module breaks UTF8 PostgreSQL
8.4
Details:

Version 2.22 of the Perl Safe module breaks PostgreSQL 8.4 (and probably
earlier versions) that have a default encoding of UTF-8.

Safe 2.2x added extra security for closures created inside Safe but then
returned and executed from outside Safe (which is what PostgreSQL does).
These closures are now wrapped so that they are executed with Safe
restrictions in effect.

This extra security is causing the 'utf8fix' code in PostgreSQL 8.4 to die
(with the error "'require' trapped by operation mask").

I'm investigating this currently but don't yet have a complete fix. (The
immediate problem appears to be easily fixed by switching to the simpler
utf8fix code I added for PostgreSQL 9.0. But a failure still happens if
warn() is called with utf8 string.)

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tim Bunce 2010-02-18 11:00:05 BUG #5335: GUC value lost on exception
Previous Message pekka.jarvinen 2010-02-18 09:20:46 BUG #5333: psql returns 0 on error