Take the 2-minute tour ×
Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. It's 100% free, no registration required.

I have a linux box with centos 6.7 and postgres 9.3.9.

I have a foreign data wrapper throught an oracle 11.2 box and a jdbc driver.

It's working fine since several months, but yesterday I had to change pg_hba file and launch a "service postgres reload".

Postgres swith to recovery mode and in my postgresql logs I can find the cause :

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x000000000064a661, pid=24074, tid=139895462369216
#
# JRE version: Java(TM) SE Runtime Environment (7.0_45-b18) (build 1.7.0_45-b18)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (24.45-b08 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C  [postgres: dpmmc_usr dpmmc XXXXXXXXX(54268) PARSE+0x24a661]  VirtualXactLockTableInsert+0x11
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /pgsql0/9.3/data/hs_err_pid24074.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.sun.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
2015-09-01 14:45:17 NCT @/ 00000 LOG:  server process (PID 24074) was terminated by signal 6: Aborted
2015-09-01 14:45:17 NCT @/ 00000 LOG:  terminating any other active server processes
2015-09-01 14:45:17 NCT @/ 00000 LOG:  server process (PID 24074) was terminated by signal 6: Aborted
2015-09-01 14:45:17 NCT @/ 00000 LOG:  terminating any other active server processes
2015-09-01 14:45:17 NCT orchestra_adm@XXXXXXXXX/orchestra 57P02 WARNING:  terminating connection because of crash of another server process
2015-09-01 14:45:17 NCT orchestra_adm@XXXXXXXXX/orchestra 57P02 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.
....
2015-09-01 14:45:17 NCT postgres@[local]/ccas 57P03 FATAL:  the database system is in recovery mode
2015-09-01 14:45:17 NCT abs_usr@XXXXXXXX/sirh 57P03 FATAL:  the database system is in recovery mode
....

My jdbc lib is /opt/jdk1.7.0_45/jre/lib/ext/ojdbc14.jar (I also try with ojdbc7.jar)

After the postgresql restart, I try to execute another reload and I have the same issue. So It not seems to be a java memory leak cause...

Where can I find help on this issue ?

someone already experienced this ?

what can I do to avoid this ?

Edit : Reload leads to a SIGHUP signal send to postmaster processus. Postmaster forward SIGHUP to all his child. And JVM considers SIGHUP as a violent terminaison so it sends exception to postmaster...

(hint on this : https://bugs.openjdk.java.net/browse/JDK-6740344?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel)

I try to give -Xrs JAVA_OPTS but it's never used... I don't know how to tell postgres to load java with options... (references for -Xrs : http://linux.die.net/man/1/java-java-1.7.0-openjdk)

Thanks !

share|improve this question

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.