Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

Exceeded maximum lock level



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



Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group