Re: can't load plpython

From: Euler Taveira de Oliveira <euler(at)timbira(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Alvaro Herrera <alvherre(at)commandprompt(dot)com>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: can't load plpython
Date: 2009-03-31 16:55:02
Message-ID: 49D24AE6.4020105@timbira.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Tom Lane escreveu:
> Alvaro Herrera <alvherre(at)commandprompt(dot)com> writes:
>> ... However, on HEAD this is crashing for me, and it's right when plpython
>> loads. Backtrace below.
>
> Does plpython pass its regression tests for you (I'd suppose not)?
>
> For me on Fedora 10 x86_64, CVS HEAD plus python 2.5.2 passes regression
> but the given example still dumps core. postmaster log says
>
> postgres: tgl regression [local] SELECT: Objects/stringobject.c:107: PyString_FromString: Assertion `str != ((void *)0)' failed.
> LOG: server process (PID 4714) was terminated by signal 6: Aborted
> LOG: terminating any other active server processes
>
PyString_FromString() [1] fails to return something useful, i.e, null pointer
when its argument is null. The trivial fix (that is attached) is to ensure
that we don't pass a null pointer as the second argument of
PyDict_SetItemString(). Of course, it's a Python bug and I filled it [3].

>> Obviously I don't know Python to fix it :-)
>
> Me either. Something is pretty bad in python-land, it seems.
>
Me either. ;)

[1]
http://svn.python.org/view/python/trunk/Objects/stringobject.c?revision=70682&view=markup
[2]
http://svn.python.org/view/python/trunk/Objects/dictobject.c?revision=70550&view=markup
[3] http://bugs.python.org/issue5627

--
Euler Taveira de Oliveira
http://www.timbira.com/

Attachment Content-Type Size
py.diff text/plain 982 bytes

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2009-03-31 16:55:38 Re: Partitioning feature ...
Previous Message justin 2009-03-31 16:48:54 Re: [HACKERS] string_to_array with empty input