On Friday, November 28, 2014, Adrian Klaver <adrian.klaver@xxxxxxxxxxx> wrote:
On 11/28/2014 12:18 PM, Misa Simic wrote:
On Friday, November 28, 2014, Adrian Klaver <adrian.klaver@xxxxxxxxxxx
<mailto:adrian.klaver@xxxxxxxxxxx>> wrote:
On 11/28/2014 07:56 AM, Misa Simic wrote:
Hi all,
We have found a strange problem with plv8 functions in PG94RC1
PG 9.3 works fine.
in PG94RC1 in plv8 functions regardless what function does
i.e.nothing
CREATE OR REPLACE FUNCTION
test.test_text_length_plv8(in___param1 text)
RETURNS text
AS
$BODY$
return 'OK'
$BODY$ LANGUAGE plv8;
if length of in_param1 is higher then (or equal to) 200 characters
connection just brake... current connection and it brakes - other
connections as well... Not sure what it does - but all sessions just
says server disconnected and we need and can reconect again....
ie.
SELECT test.test_text_length_plv8('__aaaa') works fine
SELECT
test.test_text_length_plv8('__aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa__aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa__aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa__aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa__aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa__aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa__aaaaaaaaaaaaaaaaaaaa')
exactly 200 chars - just brake conncetion witout any
message...but in
separate session when we run next command it says:
WARNING: terminating connection because of crash of another
server process
DETAIL: The postmaster has commanded this server process to
roll back
the current transaction and exit, because another server process
exited
abnormally and possibly corrupted shared memory.
HINT: In a moment you should be able to reconnect to the
database and
repeat your command.
We have tested using pgadmin and psql...
Versions:
PostgreSQL 9.4rc1 on x86_64-unknown-linux-gnu, compiled by gcc
(Ubuntu
4.9.1-16ubuntu6) 4.9.1, 64-bit
plv8: 1.5.0-dev1
The same version of plv8 on PG9.3 - works fine without problems...
Any suggestions?
Have you tried this with another language, say plpgsql, to see if
this a generic problem or specific to plV8?
Yes, plv8 specific..
Sql, plpgsql, plr, plpythonu work fine...
Though plv8 just produce problems in rc1.. Beta1 no probs....
Given that other PLs are not having problems, this is probably something that needs to be brought up with the plV8 maintainers:
https://code.google.com/p/plv8js/wiki/PLV8
https://code.google.com/p/plv8js/issues/list
A look at plv8 repo shows the last change was June 7, 2014. A lot has happened since then in the Postgres 9.4 code, so it is entirely possible the plv8 code is not aware of the changes.
To get more specific information you could try:
https://wiki.postgresql.org/wiki/Getting_a_stack_trace_of_a_running_PostgreSQL_backend_on_Linux/BSD
Thanks,
Misa
--
Adrian Klaver
adrian.klaver@xxxxxxxxxxx
--
Adrian Klaver
adrian.klaver@xxxxxxxxxxx
Thanks Adrian,
Not sure any more where problem could be....
We have just found that it creates problems on machines with ubuntu 14.10 (pg94rc1) - we have tried to install 14.10 in different environments (cloud, xen, virtual box) - and everywhere problems happens...
Other wierd thing problem hapens just if input parametar length is 200-255. 256 work fine.
We have noticed that other versions of pg (i.e 9.3, 94beta1) what work fine are on different version of ubuntu. So we have tried pg94rc1 on ubuntu 14.04 - and work fine...
We haven't tried other OS...
Thanks,
Misa