Exceeded maximum lock level

From: alexander lunyov <lan(at)zato(dot)ru>
To: pgsql-interfaces(at)postgresql(dot)org
Subject: Exceeded maximum lock level
Date: 2008-04-23 14:24:52
Message-ID: 480F46B4.5080102@zato.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-interfaces

Hello.

Freebsd 6.2, Postgresql 8.3 from ports.

I'm trying to add some features to threaded application, like sql logs.
I've changed application according to examples of libpq usage (simple
things - connect, inserts, disconnect), everything works for a little
time (under 1 minute), then i get error:

Fatal error 'Exceeded maximum lock level' at line 519 in file
/usr/src/lib/libpthread/thread/thr_mutex.c (errno = 844913743)

This application compiled with -lpthread, and in #postgresql user
RhodiumToad told me to use -pthread instead, but after changes in
makefiles to use -pthread the same error comes up right after first use
of sql functions (in the beginning some amount of data was actually
inserted to DB before error comes up). For now i told this application
not to use threads (it have command line key switching thread/fork
behavior) and it works, but i think threads would be better under heavy
load (i think in future there will be heavy load).

If i start application with threads but not use sql functions (sql code
is there but not used) i see no errors. Is it a problem of libpq?

Compilation flags looks like this:

CFLAGS=-O2 -fno-strict-aliasing -pipe -DFREEBSD -pthread
-export-dynamic -I/usr/local/include -I . -shared -fPIC

LIBS = -lpthread -L/usr/local/lib -lpq

--
wbr, alexander

Responses

Browse pgsql-interfaces by date

  From Date Subject
Next Message Alvaro Herrera 2008-04-23 14:55:10 Re: Exceeded maximum lock level
Previous Message Drago 2008-04-16 07:30:59 NOTIFY connection lost