Re: PL/R Median Busts Commit (Postgres 9.1.6 + plr 8.3.0.13 on Ubuntu 12.10 64 bit)

Поиск
Список
Период
Сортировка
От Mark Kirkwood
Тема Re: PL/R Median Busts Commit (Postgres 9.1.6 + plr 8.3.0.13 on Ubuntu 12.10 64 bit)
Дата
Msg-id 51071083.6010801@catalyst.net.nz
обсуждение исходный текст
Ответ на Re: PL/R Median Busts Commit (Postgres 9.1.6 + plr 8.3.0.13 on Ubuntu 12.10 64 bit)  (Mark Kirkwood <mark.kirkwood@catalyst.net.nz>)
Ответы Re: PL/R Median Busts Commit (Postgres 9.1.6 + plr 8.3.0.13 on Ubuntu 12.10 64 bit)  (Joe Conway <mail@joeconway.com>)
Список pgsql-bugs
On 29/01/13 10:29, Mark Kirkwood wrote:
> On 25/01/13 13:56, Mark Kirkwood wrote:
>> On 25/01/13 13:49, Tom Lane wrote:
>>> Mark Kirkwood <mark.kirkwood@catalyst.net.nz> writes:
>>>> On 25/01/13 13:06, Tom Lane wrote:
>>>>> Unless libR can be coerced into not screwing up our signal handlers,
>>>>> I'd say that PL/R is broken beyond repair.  That would be
>>>>> unfortunate.
>>>
>>>> It looks like Joe has run into something similar with libR stealing
>>>> SIGINT, he reinstalls it. A simple patch along the same lines for
>>>> SIGUSR1 (attached) seems to fix the issue.
>>>
>>> This certainly is not good enough, for either signal.  What happens if
>>> the signal arrives while libR still has control?  These things being
>>> asynchronous with respect to the receiving backend, we certainly can't
>>> assume that that won't happen.
>>>
>>> Why does libR think it should be messing with these handlers in the
>>> first place?
>>>
>>>
>>
>> Agreed - I will see if I can work out why.
>>
>
>
> Looking at the R source (which reminds me of Postgres, nice, clear
> code...), I saw quite a bit of code involving signal handlers - and
> nothing along the lines of "don't set them up if you are in embedded
> mode". So clearly more investigation is needed, and we really need to
> take this up on the R mailing list I think. Joe - is this something
> you would like to do? I am happy do it, but my knowledge of R is
> measured in hours...
>
>

Like a dog with a bone - sometimes it's hard to let go... given the
quite readable nature of the R source I managed to find what I *think*
is the "don't do R signals switch" (which I'd obviously missed before).
Making use of this seems to fix the original bug - and possibly the
SIGINT stealing too.

Patch attached to set the variable (R_SignalHandlers = 0), and remove
the SIGINT workaround.

Cheers

Mark



Вложения

В списке pgsql-bugs по дате отправления:

Предыдущее
От: Alvaro Herrera
Дата:
Сообщение: Re: Re: BUG #7748: "drop owned by" fails with error message: "unrecognized object class: 1262"
Следующее
От: Joe Conway
Дата:
Сообщение: Re: PL/R Median Busts Commit (Postgres 9.1.6 + plr 8.3.0.13 on Ubuntu 12.10 64 bit)