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
pgsql-interfaces by date
|Next:||From: Alvaro Herrera||Date: 2008-04-23 14:55:10|
|Subject: Re: Exceeded maximum lock level|
|Previous:||From: Drago||Date: 2008-04-16 07:30:59|
|Subject: NOTIFY connection lost|