Thread

  1. How to get info about deadlocks?

    Tom Lane <tgl@sss.pgh.pa.us> — 1999-11-29T04:31:49Z

    I've been experimenting with concurrent VACUUMs and getting occasional
    instances of
    
    NOTICE:  Deadlock detected -- See the lock(l) manual page for a possible cause.
    ERROR:  WaitOnLock: error on wakeup - Aborting this transaction
    
    It would be really nice if I could find out the particular locks that
    are causing this conflict --- but the code that emits these messages
    isn't very transparent :-(.  Can anyone explain how to determine just
    what the deadlock is?
    
    			regards, tom lane
    
    
  2. Re: [HACKERS] How to get info about deadlocks?

    Bruce Momjian <pgman@candle.pha.pa.us> — 1999-11-29T06:04:41Z

    > I've been experimenting with concurrent VACUUMs and getting occasional
    > instances of
    > 
    > NOTICE:  Deadlock detected -- See the lock(l) manual page for a possible cause.
    > ERROR:  WaitOnLock: error on wakeup - Aborting this transaction
    > 
    > It would be really nice if I could find out the particular locks that
    > are causing this conflict --- but the code that emits these messages
    > isn't very transparent :-(.  Can anyone explain how to determine just
    > what the deadlock is?
    > 
    
    Massimo has some.  See the top of lock.c for pg_options flags to dump
    out locks.
    
    -- 
      Bruce Momjian                        |  http://www.op.net/~candle
      maillist@candle.pha.pa.us            |  (610) 853-3000
      +  If your life is a hard drive,     |  830 Blythe Avenue
      +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026
    
    
  3. Re: [HACKERS] How to get info about deadlocks?

    Massimo Dal Zotto <dz@cs.unitn.it> — 1999-11-29T17:47:08Z

    > > I've been experimenting with concurrent VACUUMs and getting occasional
    > > instances of
    > > 
    > > NOTICE:  Deadlock detected -- See the lock(l) manual page for a possible cause.
    > > ERROR:  WaitOnLock: error on wakeup - Aborting this transaction
    > > 
    > > It would be really nice if I could find out the particular locks that
    > > are causing this conflict --- but the code that emits these messages
    > > isn't very transparent :-(.  Can anyone explain how to determine just
    > > what the deadlock is?
    > > 
    > 
    > Massimo has some.  See the top of lock.c for pg_options flags to dump
    > out locks.
    
    Yes, there is a DumpAllLocks() which should dump the lock table in case of
    deadlock, but I have never been able to find any useful information from it.
    The code is non compiled by default unless you define DEADLOCK_DEBUG.
    
    -- 
    Massimo Dal Zotto
    
    +----------------------------------------------------------------------+
    |  Massimo Dal Zotto               email: dz@cs.unitn.it               |
    |  Via Marconi, 141                phone: ++39-0461534251              |
    |  38057 Pergine Valsugana (TN)      www: http://www.cs.unitn.it/~dz/  |
    |  Italy                             pgp: finger dz@tango.cs.unitn.it  |
    +----------------------------------------------------------------------+
    
    
  4. Re: [HACKERS] How to get info about deadlocks?

    Tim Holloway <mtsinc@southeast.net> — 1999-11-30T01:46:30Z

    Well, you have a bit table that indicates what locks are already held and
    it's being AND'ed one indicating with the locks you hold. If they overlap,
    you're in trouble.
    
    Have you turned on LOCK_MGR_DEBUG? I'd print out the masks if the lock dump
    routine doesn't already.
    
    Tom Lane wrote:
    > 
    > I've been experimenting with concurrent VACUUMs and getting occasional
    > instances of
    > 
    > NOTICE:  Deadlock detected -- See the lock(l) manual page for a possible cause.
    > ERROR:  WaitOnLock: error on wakeup - Aborting this transaction
    > 
    > It would be really nice if I could find out the particular locks that
    > are causing this conflict --- but the code that emits these messages
    > isn't very transparent :-(.  Can anyone explain how to determine just
    > what the deadlock is?
    > 
    >                         regards, tom lane
    > 
    > ************