I've got postgres 9.2.1 32bit running in production on SmartOS(solaris) with synchronous remote-write replication enabled. At some point, both of the boxes were rebooted. Upon reboot, one of the postgres instances dumps core with the following stack trace:
Loading modules: [ libc.so.1 ld.so.1 ] > $C 080479b8 libc.so.1`_lwp_kill+0x15(1, 6, a9, fef31000, fef31000, 16) 080479d8 libc.so.1`raise+0x2b(6, 0, 80479f0, fef31000, 0, 0) 08047a28 libc.so.1`abort+0x10e(856c760, 2f, 8047a78, 810034d, 0, 84c4354) 08047a78 errfinish+0x1f7(0, 84c4354, 18a1, 83c789a, 0, fefca664) 08047bb8 StartupXLOG+0x2614(3, 856cbd4, 0, 8047c68, 8047c92, 8047c68) 08047bd8 StartupProcessMain+0x145(8126350, 0, 84c35c0, 84c35c0, 0, 2) 08047c38 AuxiliaryProcessMain+0x447(2, 8047c68, 84cd0ff, 2, 800000, 0) 08047cb8 StartChildProcess+0xec(853e828, 0, 0, 856eec8, 853e720, 40) 08047d28 PostmasterMain+0x7ce(3, 856de98, 0, 8516d50, 0, fefc36e0) 08047d68 main+0x412(3, 8047d8c, 8047d9c, 83c4ec0, 0, 0) 08047d80 _start+0x83(3, 8047e44, 8047fdb, 8047fdb, 0, 8047e70) Here's the more detailed platform information: [root@4bfe0103 (postgres) ~]$ uname -a SunOS 4bfe0103-2a9c-42c7-bc51-b33f1a8f5589 5.11 joyent_20121119T091433Z i86pc i386 i86pc Solaris If you are interested, I have uploaded the actual core file here: https://download.joyent.com/pub/postgres/core Here's the config for the primary postgres instance: listen_addresses = '0.0.0.0' # what IP address(es) to listen on; port = 5432 # (change requires restart) max_connections = 100 # (change requires restart) shared_buffers = 32MB # min 128kB wal_level = hot_standby # minimal, archive, or hot_standby fsync = on # turns forced synchronization on or off synchronous_commit = remote_write max_wal_senders = 15 # max number of walsender processes wal_keep_segments = 1000 # in logfile segments, 16MB each; 0 disables synchronous_standby_names = 'tcp://postgres@10.99.99.52:5432/postgres' hot_standby = on # "on" allows queries during recovery max_standby_archive_delay = 30s # max delay before canceling queries max_standby_streaming_delay = 30s # max delay before canceling queries wal_receiver_status_interval = 10s # send replies at least this often hot_standby_feedback = off # send info from standby to prevent log_destination = 'stderr' # Valid values are combinations of logging_collector = on # Enable capturing of stderr and csvlog log_directory = '/var/pg/' # directory where log files are written, log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' # log file name pattern, log_file_mode = 0600 # creation mode for log files, log_truncate_on_rotation = on # If on, an existing log file with the log_rotation_age = 1h # Automatic rotation of logfiles will log_rotation_size = 10MB # Automatic rotation of logfiles will log_min_messages = debug5 # values in order of decreasing detail: log_line_prefix = '%m' # special values: log_timezone = 'UTC' datestyle = 'iso, mdy' timezone = 'UTC' lc_messages = 'C' # locale for system error message lc_monetary = 'C' # locale for monetary formatting lc_numeric = 'C' # locale for number formatting lc_time = 'C' # locale for time formatting default_text_search_config = 'pg_catalog.english' Here's the config for the standby: listen_addresses = '0.0.0.0' # what IP address(es) to listen on; port = 5432 # (change requires restart) max_connections = 100 # (change requires restart) shared_buffers = 32MB # min 128kB wal_level = hot_standby # minimal, archive, or hot_standby fsync = on # turns forced synchronization on or off synchronous_commit = off max_wal_senders = 15 # max number of walsender processes wal_keep_segments = 1000 # in logfile segments, 16MB each; 0 disables synchronous_standby_names = '' # standby servers that provide sync rep hot_standby = on # "on" allows queries during recovery max_standby_archive_delay = 30s # max delay before canceling queries max_standby_streaming_delay = 30s # max delay before canceling queries wal_receiver_status_interval = 10s # send replies at least this often hot_standby_feedback = off # send info from standby to prevent log_destination = 'stderr' # Valid values are combinations of logging_collector = on # Enable capturing of stderr and csvlog log_directory = '/var/pg/' # directory where log files are written, log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' # log file name pattern, log_file_mode = 0600 # creation mode for log files, log_truncate_on_rotation = on # If on, an existing log file with the log_rotation_age = 1h # Automatic rotation of logfiles will log_rotation_size = 10MB # Automatic rotation of logfiles will log_min_messages = debug5 # values in order of decreasing detail: log_line_prefix = '%m' # special values: log_timezone = 'UTC' datestyle = 'iso, mdy' timezone = 'UTC' lc_messages = 'C' # locale for system error message lc_monetary = 'C' # locale for monetary formatting lc_numeric = 'C' # locale for number formatting lc_time = 'C' # locale for time formatting default_text_search_config = 'pg_catalog.english' Here's the recovery.conf on the standby: standby_mode = on primary_conninfo = 'host=10.99.99.58 port=5432 user=postgres application_name=tcp://postgres@10.99.99.52:5432/postgres' Let me know if you require any further information. -Yunong -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs