Hi,
The following is written to /var/log/postgresql/postgresql-9.1-main.log:
127.0.0.1(59800) INSERT: strcoll_l.c:112: __strcoll_l: Assertion `((uintptr_t)
indirect) % __alignof__ (indirect[0]) == 0' failed.
2012-12-23 08:54:54 SGT LOG: server process (PID 1964) was terminated by signal
6: Aborted
2012-12-23 08:54:54 SGT LOG: terminating any other active server processes
2012-12-23 08:54:54 SGT WARNING: terminating connection because of crash of ano
ther server process
2012-12-23 08:54:54 SGT DETAIL: The postmaster has commanded this server proces
s to roll back the current transaction and exit, because another server process
exited abnormally and possibly corrupted shared memory.
2012-12-23 08:54:54 SGT HINT: In a moment you should be able to reconnect to th
e database and repeat your command.
Error occurring on Ubuntu 12.04 with PostgreSQL 9.1 on Dell PowerEdge R710
Same code executes successfully on Ubuntu 12.10 with PostgreSQL 9.1 on Dell Precision 390.
Application is a libpq c-application. Application is inserting a large number of records into the DB, for later query. Uses a thread pool and connection pool. Connection pool establishes connections up-front and hands them to threads when required. Connection pools creates 5 prepared statements to assist with the inserts on each connection. 70 Connections in the connection pool, up to 150 threads in the thread pool. Mutex's manage contention on the connection pool. Application successfully inserts 100+ records in the first table and 1000+ records in the second table before failing. After the above error all connections begin to report 'no connection' to the database.
Configuration in /etc/postgresql/9.1/main/postgresql.conf is as follows:
fysnc =on
full_page_writes = on
max_connections = 150
max_prepared_transactions = 350
max_locks_per_transaction = 10
Configuration in /etc/sysctl.conf :
kernel.shmmax=131072000
Feels like a configuration issue. Any suggestions on where to start looking would be appreciated.
Kind regards,
Michael