| From: | Justin Pryzby <pryzby(at)telsasoft(dot)com> |
|---|---|
| To: | pgsql-hackers(at)lists(dot)postgresql(dot)org |
| Subject: | pg19b1: TRAP: failed Assert("pgstat_bktype_io_stats_valid(bktype_shstats, MyBackendType)") |
| Date: | 2026-07-08 14:57:53 |
| Message-ID: | ak5lccE4qiQpOBHn@pryzbyj2023 |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
While restoring from backup to v19, I hit a crash adding a unique
constraint, since 999dec9ec6a "aio: Don't wait for already in-progress
IO."
The crash is not consistent, and I don't have an easy reproducer, but I
can tell you that the crash involves the counts<=0 case, with
IOOBJECT_RELATION / IOCONTEXT_NORMAL / IOOP_READ, and depends on
maintenance_work_mem=512MB and track_io_timing=1, and always seems to
happens in a parallel worker.
LOG: background worker "parallel worker" (PID 1475078) was terminated by signal 6: Aborted
DETAIL: Failed process was running: ALTER TABLE ONLY public.counter_latest_data
ADD CONSTRAINT counter_latest_data_counter_id_site_id_key UNIQUE (counter_id, site_id);
ALTER TABLE public.counter_latest_data CLUSTER ON counter_latest_data_counter_id_site_id_key;
(gdb) bt
#0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo(at)entry=6, no_tid=no_tid(at)entry=0) at ./nptl/pthread_kill.c:44
#1 0x00007f28d65d49ff in __pthread_kill_internal (threadid=<optimized out>, signo=6) at ./nptl/pthread_kill.c:89
#2 0x00007f28d657fcc2 in __GI_raise (sig=sig(at)entry=6) at ../sysdeps/posix/raise.c:26
#3 0x00007f28d65684ac in __GI_abort () at ./stdlib/abort.c:73
#4 0x00005596eca9bec6 in ExceptionalCondition (conditionName=conditionName(at)entry=0x5596ecc47230 "pgstat_bktype_io_stats_valid(bktype_shstats, MyBackendType)",
fileName=fileName(at)entry=0x5596ecc471d8 "../postgresql/src/backend/utils/activity/pgstat_io.c", lineNumber=lineNumber(at)entry=228) at ../postgresql/src/backend/utils/error/assert.c:65
#5 0x00005596ec979b6d in pgstat_io_flush_cb (nowait=<optimized out>) at ../postgresql/src/backend/utils/activity/pgstat_io.c:228
#6 0x00005596ec9758ba in pgstat_report_stat (force=force(at)entry=true) at ../postgresql/src/backend/utils/activity/pgstat.c:810
#7 0x00005596ec975a9c in pgstat_shutdown_hook (code=<optimized out>, arg=<optimized out>) at ../postgresql/src/backend/utils/activity/pgstat.c:646
#8 0x00005596ec92e901 in shmem_exit (code=code(at)entry=0) at ../postgresql/src/backend/storage/ipc/ipc.c:250
#9 0x00005596ec92ea74 in proc_exit_prepare (code=code(at)entry=0) at ../postgresql/src/backend/storage/ipc/ipc.c:199
#10 0x00005596ec92eb2e in proc_exit (code=code(at)entry=0) at ../postgresql/src/backend/storage/ipc/ipc.c:112
#11 0x00005596ec89f2f0 in BackgroundWorkerMain (startup_data=<optimized out>, startup_data_len=<optimized out>) at ../postgresql/src/backend/postmaster/bgworker.c:853
#12 0x00005596ec8a1a4d in postmaster_child_launch (child_type=child_type(at)entry=B_BG_WORKER, child_slot=239, startup_data=startup_data(at)entry=0x55972a7244d8, startup_data_len=startup_data_len(at)entry=1472,
client_sock=client_sock(at)entry=0x0) at ../postgresql/src/backend/postmaster/launch_backend.c:263
#13 0x00005596ec8a34bd in StartBackgroundWorker (rw=0x55972a7244d8) at ../postgresql/src/backend/postmaster/postmaster.c:4176
#14 maybe_start_bgworkers () at ../postgresql/src/backend/postmaster/postmaster.c:4341
#15 0x00005596ec8a4e05 in LaunchMissingBackgroundProcesses () at ../postgresql/src/backend/postmaster/postmaster.c:3416
#16 ServerLoop () at ../postgresql/src/backend/postmaster/postmaster.c:1728
#17 0x00005596ec8a7257 in PostmasterMain (argc=argc(at)entry=12, argv=argv(at)entry=0x55972a6a0ec0) at ../postgresql/src/backend/postmaster/postmaster.c:1403
#18 0x00005596ec5cbd1c in main (argc=12, argv=0x55972a6a0ec0) at ../postgresql/src/backend/main/main.c:231
--
Justin
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Andrew Dunstan | 2026-07-08 15:16:07 | Re: json/jsonb cleanup + FmgrInfo caching |
| Previous Message | Marcos Pegoraro | 2026-07-08 13:58:26 | Re: [PATCH] Add pg_get_table_ddl() to reconstruct CREATE TABLE statements |