pgsql: Work around perl bug in SvPVutf8().
Work around perl bug in SvPVutf8().
Certain things like typeglobs or readonly things like $^V cause
perl's SvPVutf8() to die nastily and crash the backend. To avoid
that bug we make a copy of the object, which will subsequently be
garbage collected.
Back patched to 9.1 where we first started using SvPVutf8().
Per -hackers discussion. Original problem reported by David Wheeler.
Branch
------
master
Details
-------
http://git.postgresql.org/pg/commitdiff/2abefd9a92f3c02ad4f6030ac1578bbf314db368
Modified Files
--------------
src/pl/plperl/plperl_helpers.h | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
On 01/05/2012 12:05 PM, Andrew Dunstan wrote:
Work around perl bug in SvPVutf8().
Certain things like typeglobs or readonly things like $^V cause
perl's SvPVutf8() to die nastily and crash the backend. To avoid
that bug we make a copy of the object, which will subsequently be
garbage collected.Back patched to 9.1 where we first started using SvPVutf8().
Per -hackers discussion. Original problem reported by David Wheeler.
Ugh. This broke the regression tests. I'll get it fixed.
cheers
andrew
Excerpts from Andrew Dunstan's message of jue ene 05 19:06:54 -0300 2012:
On 01/05/2012 12:05 PM, Andrew Dunstan wrote:
Work around perl bug in SvPVutf8().
Certain things like typeglobs or readonly things like $^V cause
perl's SvPVutf8() to die nastily and crash the backend. To avoid
that bug we make a copy of the object, which will subsequently be
garbage collected.Back patched to 9.1 where we first started using SvPVutf8().
Per -hackers discussion. Original problem reported by David Wheeler.
Ugh. This broke the regression tests. I'll get it fixed.
Yeah, notice that it's causing crashes, not just different results.
--
Álvaro Herrera <alvherre@commandprompt.com>
The PostgreSQL Company - Command Prompt, Inc.
PostgreSQL Replication, Consulting, Custom Development, 24x7 support
On 01/05/2012 05:30 PM, Alvaro Herrera wrote:
Excerpts from Andrew Dunstan's message of jue ene 05 19:06:54 -0300 2012:
On 01/05/2012 12:05 PM, Andrew Dunstan wrote:
Work around perl bug in SvPVutf8().
Certain things like typeglobs or readonly things like $^V cause
perl's SvPVutf8() to die nastily and crash the backend. To avoid
that bug we make a copy of the object, which will subsequently be
garbage collected.Back patched to 9.1 where we first started using SvPVutf8().
Per -hackers discussion. Original problem reported by David Wheeler.
Ugh. This broke the regression tests. I'll get it fixed.
Yeah, notice that it's causing crashes, not just different results.
Indeed. It looks like the garbage collection was a bit too eager, so I
have a fix where we control when it gets done.
cheers
andrew