Server Crash

From: "Anjul Tyagi" <anjul(at)ibosstech-us(dot)com>
To: "pgsql-bugs(at)lists(dot)postgresql(dot)org" <pgsql-bugs(at)lists(dot)postgresql(dot)org>
Subject: Server Crash
Date: 2018-06-26 12:47:26
Message-ID: emc5980c28-9d53-4310-b7ef-a25d5418ae84@iboss01081
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin pgsql-bugs

Hi All,

We have recently deployed couple of new plperl SPROC in our postgres
production server and after that server start throwing error. Currently
we are using postgres 9.1 and planning to upgrade with PG 10.

But we are not sure if that will cause the same error in PG 10 as well.
We really need help.

Error Message:

2018-06-21 13:43:29 EDT [22212]: [4-1] user=cmsuser,db=forte
,host=10.10.1.3,port=10.10.1.3(56601),id=5b2bdea5.56c4,line=4DETAIL:
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.

2018-06-21 13:43:29 EDT [3673]: [5-1] user=cmsuser,db=forte
,host=10.10.1.3,port=10.10.1.3(55649),id=5b2bd568.e59,line=5DETAIL: 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.

Server Details:
Linux - Red Hat Enterprise Linux Server release 6.3 (Santiago)
Postgres - Postgres 9.1.13

below are the sample SPROC code:

CREATE OR REPLACE FUNCTION getauthcode(
claim character varying,
oflag character varying,
pacode character varying,
dispos character varying)
RETURNS text AS
$BODY$
use strict;
use warnings;
use SOAP::Lite;
use JSON;

try
{
my $host = `hostname`;
my $rv = spi_exec_query("select * from
getsprocurl('getauthcode','".$host."')");
my $url = $rv->{rows}[0]->{ret_url};
elog(NOTICE, 'Host Name ' . $host . ' URL '. $url );

my $soap = SOAP::Lite->new();
my $service = $soap->service($url);
my %params = ("claim" => $_[0], "oflag" => $_[1], "pacode" =>
$_[2], "dispos" => $_[3]);
my $response = $service->getAuthCode(%params);
my $json_array = decode_json($response);

for my $report ( $json_array) {
my $status = $report->{status}, '\n';
if ($status eq 'success')
{
return $report->{PriorApprovalCode};
}
else{
return $report->{message};
}
}
}
catch Exception with
{
my $ex = shift;
return 'SOAPFAULT: ' . date('H:i:s') . ' ' . exception($ex);
}

$BODY$
LANGUAGE plperlu VOLATILE STRICT
COST 100;

Appreciate for your help in advance.

Regards,

Anjul TYAGI

ü Go Green

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message John Scalia 2018-06-26 22:37:58 Upgrading 9.6.9 to 10.4
Previous Message Bruce Momjian 2018-06-25 16:35:25 Re: BTree index support prefix compression

Browse pgsql-bugs by date

  From Date Subject
Next Message Anjul Tyagi 2018-06-27 08:51:39 Re: Server Crash
Previous Message Pash Ebash 2018-06-26 11:07:42 Found incorrect output in pg_lsclusters