Re: BUG #16007: Regarding patch for BUG #3995: pqSocketCheck doesn't return - Mailing list pgsql-bugs
From | Kiran Khatke |
---|---|
Subject | Re: BUG #16007: Regarding patch for BUG #3995: pqSocketCheck doesn't return |
Date | |
Msg-id | CAGKgC8UNrx3nzgfyKUt9mXdM3sKakxZJV-cd4MLh5+C+UgkDgw@mail.gmail.com Whole thread Raw |
In response to | Re: BUG #16007: Regarding patch for BUG #3995: pqSocketCheck doesn't return (Tom Lane <tgl@sss.pgh.pa.us>) |
Responses |
Re: BUG #16007: Regarding patch for BUG #3995: pqSocketCheck doesn't return
|
List | pgsql-bugs |
Hello Tom,
Please find below required information and let me know if you have any questions.
A description of what you are trying to achieve and what results you expect.:
I am expecting to change the DB configuration with running SQL Statement - MGMT_SERVER_TIME.
And I would not expect hung in poll().
PostgreSQL version number you are running:
8.3.17
How you installed PostgreSQL: Changes made to the settings in the postgresql.conf file: see Server Configuration for a quick way to list them all.
Operating system and version:
Linux, 2.6.32
What program you're using to connect to PostgreSQL:
Daemon called DBMGR is written in C. And that interfaces with postgres to issue SQL statements.
For questions about any kind of error:
One of the thread of DBMGR Daemon is waiting for the result of poll() function.
poll() was called by pgSocketCheck(). So pqSocketCheck() didn't return, hung in poll().
Below is the backtrace.
#6 0x1006f618 in pga_stop () at src/dbmgr/pg_admin.c:168
#7 0x10f0c330 in _dbm_sigabrt (signo=6, si=0x7f766d58, context=0x7f766dd8) at src/dbmgr/dbm_main.c:1567
#8 <signal handler called>
#9 0x2ea7f184 in *__GI___poll (fds=<value optimized out>, nfds=1, timeout=<value optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#10 0x2b600238 in pqSocketCheck (conn=0x11088158, forRead=1, forWrite=0, end_time=-1) at fe-misc.c:1043
#11 0x2b600404 in pqWaitTimed (forRead=<value optimized out>, forWrite=4, conn=0x11088158, finish_time=1) at fe-misc.c:917
#12 0x2b5ff884 in PQgetResult (conn=0x11088158) at fe-exec.c:1223
#13 0x2b5ffb48 in PQexecFinish (conn=0x11088158) at fe-exec.c:1452
#14 0x100c2930 in dbConnObj::execStatement (this=0x11091048, sqlStatement=0x3100bec4 "UPDATE MGMT_SERVER SET LAST_SUCCESSFUL_CONNECTION='1561569998' ", checkAlreadyExists=false, freeResult=true,
retSeqErr=false) at src/dbmgr/dbConnObj.c:243
#15 0x10099498 in dbConnectionMgr::updateSQL (this=0x11090640, objID=DBO_MGMT_SERVER_TIME, type=DB_CONFIGURATION, serialObj=0x1156249c "1,19,16385,10,1561569998", consObj=@0x7f7673f8, cons=0x2e8957e4 "",
consSerial=0x2e8957e4 "") at src/dbmgr/dbConnectionMgr.c:1647
What you were doing when the error happened / how to cause the error:
DBMgr daemon's main processing thread which is handling database commands (insert/update/delete) got stuck.
So no further dbmgr calls for any of the DB table get executed.
Finally watch dog timer expires for the dbmgr and dbmgr is killed.
The EXACT TEXT of the error message you're getting, if there is one: (Copy and paste the message to the email, do not send a screenshot)
I am expecting to change the DB configuration with running SQL Statement - MGMT_SERVER_TIME.
And I would not expect hung in poll().
PostgreSQL version number you are running:
8.3.17
How you installed PostgreSQL: Changes made to the settings in the postgresql.conf file: see Server Configuration for a quick way to list them all.
Operating system and version:
Linux, 2.6.32
What program you're using to connect to PostgreSQL:
Daemon called DBMGR is written in C. And that interfaces with postgres to issue SQL statements.
For questions about any kind of error:
One of the thread of DBMGR Daemon is waiting for the result of poll() function.
poll() was called by pgSocketCheck(). So pqSocketCheck() didn't return, hung in poll().
Below is the backtrace.
#6 0x1006f618 in pga_stop () at src/dbmgr/pg_admin.c:168
#7 0x10f0c330 in _dbm_sigabrt (signo=6, si=0x7f766d58, context=0x7f766dd8) at src/dbmgr/dbm_main.c:1567
#8 <signal handler called>
#9 0x2ea7f184 in *__GI___poll (fds=<value optimized out>, nfds=1, timeout=<value optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#10 0x2b600238 in pqSocketCheck (conn=0x11088158, forRead=1, forWrite=0, end_time=-1) at fe-misc.c:1043
#11 0x2b600404 in pqWaitTimed (forRead=<value optimized out>, forWrite=4, conn=0x11088158, finish_time=1) at fe-misc.c:917
#12 0x2b5ff884 in PQgetResult (conn=0x11088158) at fe-exec.c:1223
#13 0x2b5ffb48 in PQexecFinish (conn=0x11088158) at fe-exec.c:1452
#14 0x100c2930 in dbConnObj::execStatement (this=0x11091048, sqlStatement=0x3100bec4 "UPDATE MGMT_SERVER SET LAST_SUCCESSFUL_CONNECTION='1561569998' ", checkAlreadyExists=false, freeResult=true,
retSeqErr=false) at src/dbmgr/dbConnObj.c:243
#15 0x10099498 in dbConnectionMgr::updateSQL (this=0x11090640, objID=DBO_MGMT_SERVER_TIME, type=DB_CONFIGURATION, serialObj=0x1156249c "1,19,16385,10,1561569998", consObj=@0x7f7673f8, cons=0x2e8957e4 "",
consSerial=0x2e8957e4 "") at src/dbmgr/dbConnectionMgr.c:1647
What you were doing when the error happened / how to cause the error:
DBMgr daemon's main processing thread which is handling database commands (insert/update/delete) got stuck.
So no further dbmgr calls for any of the DB table get executed.
Finally watch dog timer expires for the dbmgr and dbmgr is killed.
The EXACT TEXT of the error message you're getting, if there is one: (Copy and paste the message to the email, do not send a screenshot)
Regards,
Kiran
On Thu, Sep 12, 2019 at 1:17 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:
PG Bug reporting form <noreply@postgresql.org> writes:
> We are using PostgreSQL Version 8.3.17 in our product and running into issue
> described under BUG#3995.
> Can you please share if any patch is there on 8.3.x version to address this
> issue.
So far as I can see from the discussion of #3995, there was absolutely
no reason to think there was any PG bug. But you are following in the
footsteps of that reporter by (a) jumping to a conclusion about what
your problem is, and (b) providing absolutely zero concrete information
that would allow anyone to help you.
Please read
https://wiki.postgresql.org/wiki/Guide_to_reporting_problems
Also, you really should think about updating to a version of Postgres
that isn't many years obsolete. Even if your problem did trace down
to being a PG bug, we are not going to fix it in 8.3.x.
regards, tom lane
pgsql-bugs by date: