Insert Assertion Failed in strcoll_l.c:112 - Mailing list pgsql-general

From Michael Arnold
Subject Insert Assertion Failed in strcoll_l.c:112
Date
Msg-id CAMOVWRjdNUjDYeUTiG_f2W=iH3i0GtJAV3QwWLB9ftdnBAAsRA@mail.gmail.com
Whole thread Raw
Responses Re: Insert Assertion Failed in strcoll_l.c:112  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
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



pgsql-general by date:

Previous
From: "David Johnston"
Date:
Subject: Re: Using POSIX Regular Expressions on xml type fields gives inconsistent results
Next
From: Robert Treat
Date:
Subject: Re: Default timezone changes in 9.1