BUG #17217: PANIC: stuck spinlock detected at LockBufHdr, bufmgr.c:4297

From: PG Bug reporting form <noreply(at)postgresql(dot)org>
To: pgsql-bugs(at)lists(dot)postgresql(dot)org
Cc: admin(at)zonezero(dot)se
Subject: BUG #17217: PANIC: stuck spinlock detected at LockBufHdr, bufmgr.c:4297
Date: 2021-10-06 14:09:29
Message-ID: 17217-713dfbbc09f5f77c@postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

The following bug has been logged on the website:

Bug reference: 17217
Logged by: Jesper St John
Email address: admin(at)zonezero(dot)se
PostgreSQL version: 13.4
Operating system: Linux (Linux 4.14.243-185.433.amzn2.x86_64)
Description:

I have an EC2 machine (m5.2xlarge) running pg_restore of 2 tables. Have done
this twice now with the same error popping up.

After a quick google, I found that if there's a problem with spinlocks,
there could be a bug hiding somewhere so that's why I'm reporting.

Nothing else seems to be a problem. I have recently upgraded this server to
13.4 from 12.something.

Let me know if there's anything I can do.

LOG
-----------------------------------------------------------------------------------------------------
2021-10-05 13:20:28 CEST @:(382) LOG: skipping vacuum of "<table_name>" ---
lock not available
2021-10-05 13:21:23 CEST @:(695) LOG: skipping vacuum of "<table_name>" ---
lock not available
2021-10-05 13:22:17 CEST @:(29074) LOG: checkpoint complete: wrote 0
buffers (0.0%); 0 WAL file(s) added, 479 removed, 2202 recycled;
write=1446.237 s, sync=0.046
s, total=1516.318 s; sync files=109, longest=0.025 s, average=0.001 s;
distance=18306715 kB, estimate=35380631 kB
2021-10-05 13:22:25 CEST @:(925) LOG: skipping vacuum of "<table_name>" ---
lock not available
2021-10-05 13:24:53 CEST @:(29077) LOG: using stale statistics instead of
current ones because stats collector is not responding
2021-10-05 13:26:25 CEST @:(1012) LOG: skipping vacuum of "<table_name>"
--- lock not available
2021-10-05 13:26:44 CEST @:(1113) LOG: skipping vacuum of "<table_name>"
--- lock not available
2021-10-05 13:27:02 CEST @:(29074) LOG: checkpoint starting: time
2021-10-05 13:29:59 CEST @:(29077) WARNING: worker took too long to start;
canceled
2021-10-05 13:30:16 CEST @:(1185) WARNING: autovacuum worker started
without a worker entry
2021-10-05 13:35:21 CEST @:(29077) LOG: using stale statistics instead of
current ones because stats collector is not responding
2021-10-05 13:37:32 CEST @:(1227) LOG: skipping vacuum of "<table_name>"
--- lock not available
2021-10-05 13:38:00 CEST @:(29077) WARNING: worker took too long to start;
canceled
2021-10-05 13:39:51 CEST @:(29077) WARNING: worker took too long to start;
canceled
2021-10-05 13:40:30 CEST @:(1331) WARNING: autovacuum worker started
without a worker entry
2021-10-05 13:41:15 CEST @:(1329) LOG: skipping vacuum of "<table_name>"
--- lock not available
2021-10-05 13:42:46 CEST @:(1358) LOG: skipping vacuum of "<table_name>"
--- lock not available
2021-10-05 13:44:11 CEST @:(1392) LOG: skipping vacuum of "<table_name>"
--- lock not available
2021-10-05 13:46:10 CEST @:(1472) LOG: skipping vacuum of "<table_name>"
--- lock not available
2021-10-05 13:46:56 CEST @:(1519) LOG: skipping vacuum of "<table_name>"
--- lock not available
2021-10-05 13:47:56 CEST @:(1570) LOG: skipping vacuum of "<table_name>"
--- lock not available
2021-10-05 13:48:18 CEST @:(29075) PANIC: stuck spinlock detected at
LockBufHdr, bufmgr.c:4297
2021-10-05 13:48:20 CEST @:(29068) LOG: background writer process (PID
29075) was terminated by signal 6: Aborted
2021-10-05 13:48:20 CEST @:(29068) LOG: terminating any other active server
processes
2021-10-05 13:48:20 CEST @:(29077) WARNING: terminating connection because
of crash of another server process
2021-10-05 13:48:20 CEST @:(29077) 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.
2021-10-05 13:48:20 CEST @:(29077) HINT: In a moment you should be able to
reconnect to the database and repeat your command.

version
---------------------------------------------------------------------------------------------------------
PostgreSQL 13.4 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5
20150623 (Red Hat 4.8.5-44), 64-bit

CONF
---------------------------------------------------------------------------------------------------------
name | current_setting
| source
---------------------------------+-------------------------------------------------+----------------------
application_name | psql
| client
archive_command | pgbackrest --stanza=*** archive-push %p
| configuration file
archive_mode | on
| configuration file
autovacuum_analyze_scale_factor | 0.05
| configuration file
autovacuum_analyze_threshold | 50
| configuration file
autovacuum_freeze_max_age | 2000000000
| configuration file
autovacuum_max_workers | 6
| configuration file
autovacuum_naptime | 1min
| configuration file
autovacuum_vacuum_cost_delay | 20ms
| configuration file
autovacuum_vacuum_cost_limit | 4000
| configuration file
autovacuum_vacuum_scale_factor | 0.1
| configuration file
autovacuum_vacuum_threshold | 50
| configuration file
autovacuum_work_mem | 8GB
| configuration file
checkpoint_completion_target | 0.8
| configuration file
checkpoint_timeout | 30min
| configuration file
checkpoint_warning | 20min
| configuration file
client_encoding | UTF8
| client
cluster_name | ***
| configuration file
cpu_tuple_cost | 0.1
| configuration file
DateStyle | ISO, MDY
| configuration file
deadlock_timeout | 1s
| configuration file
default_statistics_target | 200
| configuration file
default_text_search_config | pg_catalog.english
| configuration file
dynamic_shared_memory_type | posix
| configuration file
effective_cache_size | 24GB
| configuration file
effective_io_concurrency | 128
| configuration file
from_collapse_limit | 16
| configuration file
geqo_threshold | 24
| configuration file
hot_standby_feedback | on
| configuration file
huge_pages | try
| configuration file
jit | on
| configuration file
join_collapse_limit | 20
| configuration file
lc_messages | en_US.UTF-8
| configuration file
lc_monetary | en_US.UTF-8
| configuration file
lc_numeric | en_US.UTF-8
| configuration file
lc_time | en_US.UTF-8
| configuration file
listen_addresses | *
| configuration file
log_autovacuum_min_duration | 10s
| configuration file
[21/202]
log_checkpoints | on
| configuration file
log_connections | on
| configuration file
log_destination | stderr
| configuration file
log_directory | /var/log/postgresql
| configuration file
log_disconnections | on
| configuration file
log_duration | off
| configuration file
log_error_verbosity | default
| configuration file
log_file_mode | 0640
| configuration file
log_filename | postgresql-%a.log
| configuration file
log_line_prefix | %t %u(at)%h:%d(%p)
| configuration file
log_lock_waits | on
| configuration file
log_min_duration_statement | 1h
| configuration file
log_rotation_age | 1d
| configuration file
log_rotation_size | 0
| configuration file
log_statement | none
| configuration file
log_temp_files | 1GB
| configuration file
log_truncate_on_rotation | on
| configuration file
logging_collector | on
| configuration file
maintenance_work_mem | 16GB
| configuration file
max_connections | 256
| configuration file
max_locks_per_transaction | 256
| configuration file
max_parallel_workers | 2
| configuration file
max_parallel_workers_per_gather | 2
| configuration file
max_pred_locks_per_transaction | 256
| configuration file
max_prepared_transactions | 64
| configuration file
max_stack_depth | 2MB
| environment variable
max_standby_archive_delay | 4h
| configuration file
max_standby_streaming_delay | 4h
| configuration file
max_wal_senders | 12
| configuration file
max_wal_size | 64GB
| configuration file
max_worker_processes | 3
| configuration file
min_wal_size | 4GB
| configuration file
random_page_cost | 1
| configuration file
shared_buffers | 12GB
| configuration file
shared_preload_libraries | pg_stat_statements
| configuration file
ssl | on
| configuration file
ssl_cert_file | server.crt
| configuration file
ssl_ciphers |
HIGH:+3DES:!aNULL:!SSLv2:!SSLv3:!TLSv1:!TLSv1.1 | configuration file
ssl_ecdh_curve | prime256v1
| configuration file
ssl_key_file | server.key
| configuration file
ssl_prefer_server_ciphers | on
| configuration file
stats_temp_directory | /run/postgresql
| configuration file
synchronous_commit | on
| configuration file
TimeZone | Europe/Stockholm
| configuration file
track_activities | on
| configuration file
track_activity_query_size | 8kB
| configuration file
track_counts | on
| configuration file
track_functions | pl
| configuration file
track_io_timing | on
| configuration file
vacuum_freeze_min_age | 100000
| configuration file
vacuum_freeze_table_age | 1900000000
| configuration file
wal_buffers | 32MB
| configuration file
wal_compression | on
| configuration file
wal_keep_size | 8GB
| configuration file
wal_level | logical
| configuration file
work_mem | 4GB
| configuration file

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2021-10-06 14:16:31 Re: BUG #17216: No Password Provided Error - uncaught exception
Previous Message Dimitri Fontaine 2021-10-06 08:22:08 pg_replication_slot_advance xmin handling when active slot becomes inactive