Hi, my name is Tudor and I am one of the maintainers of PGlite - PostgreSQL in 
WASM. I am doing a major refactoring of our codebase and I am a bit stuck in 
the last step of initdb.

IIUC, my problem is related to the storage layer. I see this in the logs:

2025-12-08 21:38:42.741 +01 [42] WARNING:  invalid page in block 0 of relation 
base/1/1259_fsm; zeroing out page
2025-12-08 21:38:42.882 +01 [42] WARNING:  invalid page in block 2 of relation 
base/1/1259_fsm; zeroing out page
2025-12-08 21:38:42.903 +01 [42] FATAL:  invalid page in block 1 of relation 
base/1/2600
2025-12-08 21:38:42.903 +01 [42] STATEMENT:  CREATE VIEW pg_stats_ext WITH 
(security_barrier) AS <ommited>

base/1/1259_fsm is 1MB
base/1/2600 is 16KB

Looking through the logs ("boot" stage):

DEBUG:  building index "pg_toast_2600_index" on table "pg_toast_2600" serially
DEBUG:  index "pg_toast_2600_index" can safely use deduplication
...
LOG:  checkpoint complete: wrote 227 buffers (1.4%); 0 WAL file(s) added, 0 
removed, 0 recycled; write=0.003 s, sync=0.000 s, total=0.004 s; sync files=0, 
longest=0.000 s, average=0.000 s; distance=711 kB, estimate=711 kB; 
lsn=0/1B1D38, redo lsn=0/1B1D38

I am using PostgreSQL v17.5 (also did some test on v17.7).

I would appreciate some pointers in debugging this further.

PS: I have been trying various "-c" flags, which got the initialization process 
further, but invariably fails with 'FATAL: invalid page in block ...' error. 
These are the flags I am using right now in "boot" stage: '--boot', '-F', '-c', 
'log_checkpoints=true', '-X', '1048576', '-d', '4', '-D', '/pglite/data', '-c', 
'checkpoint_flush_after=1', '-c', 'fsync=on', '-c', 'synchronous_commit=on', 
'-c', 'effective_io_concurrency=1', '-c', 'maintenance_io_concurrency=1', 
'-c','backend_flush_after=1', '-c', 'io_combine_limit=1', '-c', 
'ignore_invalid_pages=on', '-c', 'ignore_system_indexes=on', '-c', 
'ignore_checksum_failure=on', '-c', 'backend_flush_after=1' that got me to the 
"VACUUM FREEZE" step of the "single" stage.

Reply via email to