Thread: Query Freeze

Query Freeze

From
"alexandre :: aldeia digital"
Date:
Hi,

(sorry for the big mail)

I have 3 applications in windows and they
starts 3 postgres backends.

The 1st app. call the 2nd and this call the 3rd.

In the same place of the 3rd backend, the query freeze.
If I kill the second backend(or app.), the query is released...

Any suggestions?
Thank's

Alexandre

*** This is my ps when the query is freeze:

postgres 19055  0.0  0.9 336188 4932 pts/2   S    21:16   0:00
/usr/bin/postmaster -i -d 2
postgres 19057  0.0  0.9 337180 4900 pts/2   S    21:16   0:00 postgres:
stats buffer process
postgres 19059  0.0  0.9 336236 4960 pts/2   S    21:16   0:00 postgres:
stats collector process
postgres 19070  0.0  1.4 337808 7320 pts/2   S    21:16   0:00 postgres:
postgres mg_pg 192.168.1.156 idle in transaction
postgres 19071  0.5  2.0 338932 10372 pts/2  S    21:16   0:00 postgres:
postgres mg_pg 192.168.1.156 idle in transaction
postgres 19098  0.0  1.3 337472 6768 pts/2   S    21:16   0:00 postgres:
postgres mg_pg 192.168.1.156 SELECT waiting



*** This is my gdb (attach 19098; bt) :

#0  0x4018b6ff in semop () from /lib/libc.so.6
#1  0x08104fec in IpcSemaphoreLock (semId=2457600, sem=2, interruptOK=1
'\001') at ipc.c:422
#2  0x08108f3f in ProcSleep (lockMethodTable=0x81ee500, lockmode=5,
lock=0x53e28f14,   holder=0x53e2bf2c) at proc.c:717
#3  0x081081ff in WaitOnLock (lockmethod=1, lockmode=5, lock=0x53e28f14,
holder=0x53e2bf2c)   at lock.c:910
#4  0x08107fbb in LockAcquire (lockmethod=1, locktag=0xbfffebf0,
xid=20642, lockmode=5,   dontWait=0 '\000') at lock.c:698
#5  0x08107885 in XactLockTableWait (xid=20636) at lmgr.c:344
#6  0x08074370 in heap_mark4update (relation=0x5476fc18, tuple=0xbfffec90,
buffer=0xbfffec84)   at heapam.c:1684
#7  0x080c265c in ExecutePlan (estate=0x825c1a8, plan=0x825c108,
operation=CMD_SELECT,   numberTuples=0, direction=ForwardScanDirection, destfunc=0x825cc10) at
execMain.c:1052
#8  0x080c1bc7 in ExecutorRun (queryDesc=0x825c190, estate=0x825c1a8,
feature=3, count=0)   at execMain.c:233
#9  0x0810e6be in ProcessQuery (parsetree=0x8247cb0, plan=0x825c108,
dest=Remote,   completionTag=0xbfffed70 "") at pquery.c:259
#10 0x0810cf60 in pg_exec_query_string (   query_string=0x8247268 "BEGIN; SELECT EmpCod, L001Codi, L029Codi,
L029Tama, L029Qatu, L029Empe, L029Emps, L029ATec,   L029QRes  FROM
LOJ0291 WHERE EmpCod = '1' AND L029Codi = '6308' AND L001Codi = '1'
AND L029Tama   = '2'   "..., dest=Remote, parse_context=0x821dfd8) at
postgres.c:811
#11 0x0810df3e in PostgresMain (argc=5, argv=0xbfffefa0,
username=0x8205819 "postgres")   at postgres.c:1926
#12 0x080f557e in DoBackend (port=0x82056e8) at postmaster.c:2243
#13 0x080f4ebf in BackendStartup (port=0x82056e8) at postmaster.c:1874
#14 0x080f4142 in ServerLoop () at postmaster.c:995
#15 0x080f3c5b in PostmasterMain (argc=4, argv=0x81ee178) at postmaster.c:771
#16 0x080d36b5 in main (argc=4, argv=0xbffff924) at main.c:206
#17 0x400d20af in __libc_start_main () from /lib/libc.so.6







Re: Query Freeze

From
Tom Lane
Date:
"alexandre :: aldeia digital" <alepaes@aldeiadigital.com.br> writes:
> I have 3 applications in windows and they
> starts 3 postgres backends.
> The 1st app. call the 2nd and this call the 3rd.
> In the same place of the 3rd backend, the query freeze.
> If I kill the second backend(or app.), the query is released...

I think your second backend is holding a lock that the third one needs.
        regards, tom lane


Re: Query Freeze

From
"alexandre :: aldeia digital"
Date:
> "alexandre :: aldeia digital" <alepaes@aldeiadigital.com.br> writes:
>> I have 3 applications in windows and they
>> starts 3 postgres backends.
>> The 1st app. call the 2nd and this call the 3rd.
>> In the same place of the 3rd backend, the query freeze.
>> If I kill the second backend(or app.), the query is released...
>
> I think your second backend is holding a lock that the third one needs.

I will search in the applications...
Very thank´s.

Alexandre