Re: BUG #5323: plperl and plperlu interaction segfaults - Mailing list pgsql-bugs

From Robert Haas
Subject Re: BUG #5323: plperl and plperlu interaction segfaults
Date
Msg-id 603c8f071002120717k5c494fb7rbac60e78004a6f51@mail.gmail.com
Whole thread Raw
In response to Re: BUG #5323: plperl and plperlu interaction segfaults  (Alexey Klyukin <alexk@commandprompt.com>)
List pgsql-bugs
On Fri, Feb 12, 2010 at 5:04 AM, Alexey Klyukin <alexk@commandprompt.com> w=
rote:
>
> On Feb 12, 2010, at 6:21 AM, Robert Haas wrote:
>
>> On Thu, Feb 11, 2010 at 10:47 PM, Robert Haas <robertmhaas@gmail.com> wr=
ote:
>>> On Thu, Feb 11, 2010 at 3:12 PM, Alexey Klyukin <alexk@commandprompt.co=
m> wrote:
>>>>> I think this might be the same problem previously discussed here:
>>>>> http://archives.postgresql.org/pgsql-bugs/2010-01/msg00224.php
>>>>
>>>> Seems to be the same problem. Backtrace I'm getting on 8.4 is almost i=
dentical to the one at the end of this post:
>>>> http://archives.postgresql.org/pgsql-bugs/2010-01/msg00144.php
>>>>
>>>>> Does that patch fix it?
>>>> The problem doesn't appear on 9.0 alpha with that patch committed.
>>>
>>> It looks like the plperl.c change applies cleanly back to 8.2, though
>>> I haven't yet verified that it actually fixes the problem on all those
>>> branches.
>>
>>
>> Not sure where to go from here. =A0The prerequisite patch ("Various
>> small improvements and cleanups for PL/Perl") is not suitable for
>> backpatching, so I think someone needs to prepare a cut-down patch
>> that addresses this issue in a more surgical fashion. =A0Also, would
>> like to understand why the test case fails to fail on CVS HEAD.
>>
>
> Andrew Dunstan backpatched all versions down to 8.2 yesterday:
> http://archives.postgresql.org/message-id/20100212043203.08C6E7541C6@cvs.=
postgresql.org
>
> This eliminated the bug on my system (checked on 8.4).
> The problem appeared due to the context mismatch between the interpreter =
that created the reference
> to the compiled subroutine and the one that tried to decrement the refere=
nce count. Setting a correct context fixed the problem.

Yeah, I saw that commit.  Cool.

...Robert

pgsql-bugs by date:

Previous
From: Alexey Klyukin
Date:
Subject: Re: BUG #5323: plperl and plperlu interaction segfaults
Next
From: Robert Haas
Date:
Subject: Re: BUG #5324: Server not starting