Re: BUG #5323: plperl and plperlu interaction segfaults

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Alexey Klyukin <alexk(at)commandprompt(dot)com>
Cc: Dave Olszewski <cxreg(at)pobox(dot)com>, pgsql-bugs(at)postgresql(dot)org, Tim Bunce <Tim(dot)Bunce(at)pobox(dot)com>
Subject: Re: BUG #5323: plperl and plperlu interaction segfaults
Date: 2010-02-12 15:17:29
Message-ID: 603c8f071002120717k5c494fb7rbac60e78004a6f51@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Fri, Feb 12, 2010 at 5:04 AM, Alexey Klyukin <alexk(at)commandprompt(dot)com> wrote:
>
> On Feb 12, 2010, at 6:21 AM, Robert Haas wrote:
>
>> On Thu, Feb 11, 2010 at 10:47 PM, Robert Haas <robertmhaas(at)gmail(dot)com> wrote:
>>> On Thu, Feb 11, 2010 at 3:12 PM, Alexey Klyukin <alexk(at)commandprompt(dot)com> 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 identical 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.  The 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.  Also, 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 reference count. Setting a correct context fixed the problem.

Yeah, I saw that commit. Cool.

...Robert

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Robert Haas 2010-02-12 18:02:45 Re: BUG #5324: Server not starting
Previous Message Alexey Klyukin 2010-02-12 10:04:44 Re: BUG #5323: plperl and plperlu interaction segfaults