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