Обсуждение: BUG #1928: Postgresql is terminated by signal 10 (bus error) when using prepared statements

Поиск
Список
Период
Сортировка

BUG #1928: Postgresql is terminated by signal 10 (bus error) when using prepared statements

От
"Till Toenges"
Дата:
The following bug has been logged online:

Bug reference:      1928
Logged by:          Till Toenges
Email address:      tt@kyon.de
PostgreSQL version: 8.0.3
Operating system:   Mac OS X
Description:        Postgresql is terminated by signal 10 (bus error) when
using prepared statements
Details:

I use postgresql 8.0.3 with JDBC driver 8.0 to connect to the database.
Everything works most of the time. But if i make a series of queries,
greater than prepareThreshold, in a loop, it dies with signal 10.
PrepareThreshold is the number of times a query has to be executed until the
JDBC driver turns it into a server side prepared statement. Some queries
work well even above the threshold. This one dies on the (prepareThreshold +
1)th execution.

The query looks like this:

SELECT nc.name, COUNT(*) AS subscribers FROM nl_category AS nc LEFT JOIN
"nl_subscriber_categoryDispatchType" AS nsc ON (nsc.category_id = nc.id)
LEFT JOIN nl_subscriber AS ns ON (ns.id = nsc.subscriber_id) WHERE
"dateCreated" < ? GROUP BY nc.name ORDER BY nc.name

I can send more information if requested. The relevant log entries are:

LOG:  server process (PID 2961) was terminated by signal 10
LOG:  terminating any other active server processes
WARNING:  terminating connection because of crash of another server process
DETAIL:  The postmaster has commanded this server process to roll back the
current transaction and exit, because another server process exited
abnormally and possibly corrupted shared memory.
HINT:  In a moment you should be able to reconnect to the database and
repeat your command.
[... and some more connections dying]