Exceeded maximum lock level

Поиск
Список
Период
Сортировка
От alexander lunyov
Тема Exceeded maximum lock level
Дата
Msg-id 480F46B4.5080102@zato.ru
обсуждение исходный текст
Ответы Re: Exceeded maximum lock level
Список 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


В списке pgsql-interfaces по дате отправления:

Предыдущее
От: Drago
Дата:
Сообщение: NOTIFY connection lost
Следующее
От: Alvaro Herrera
Дата:
Сообщение: Re: Exceeded maximum lock level