Re: [BUG] PostgreSQL crashes with ThreadSanitizer during early initialization - Mailing list pgsql-hackers

From Emmanuel Sibi
Subject Re: [BUG] PostgreSQL crashes with ThreadSanitizer during early initialization
Date
Msg-id CAJhJm+iE0mEAuQ314_iVHG4qpHj8M1u7z4MV0DzbqnHUOVAQOg@mail.gmail.com
Whole thread Raw
In response to Re: [BUG] PostgreSQL crashes with ThreadSanitizer during early initialization  (Quan Zongliang <quanzongliang@yeah.net>)
Responses Re: [BUG] PostgreSQL crashes with ThreadSanitizer during early initialization
List pgsql-hackers
Hi Quan, Thanks for testing the patch! I'm glad it resolves the startup crash.
> I tested this patch. postgres -V no longer crashes.

Regarding the shutdown issue - I tested extensively with
ThreadSanitizer enabled using both build configurations I mentioned
earlier, and all shutdown modes work correctly in my environment:
> There is a minor issue. I'm not sure if it's caused by this patch.
> The database can only be shut down using the immediate mode.

Fast shutdown:
2025-09-15 20:20:07.454 IST [28229] LOG: received fast shutdown request
[...]
2025-09-15 20:20:07.574 IST [28229] LOG: database system is shut down
Smart shutdown:
2025-09-15 20:28:14.271 IST [31263] LOG: received smart shutdown request
[...]
2025-09-15 20:28:14.399 IST [31263] LOG: database system is shut down

All modes complete within seconds with the final "database system is
shut down" message, unlike the hang you're experiencing.
The patch only moves __ubsan_default_options() to a separate
compilation unit to avoid TSan initialization issues during startup.
It doesn't modify any shutdown logic or signal handling code.
My Environment: Ubuntu 24.04.1, clang 18, PostgreSQL 17.2.

Best regards,
Emmanuel



pgsql-hackers by date:

Previous
From: Peter Geoghegan
Date:
Subject: Re: index prefetching
Next
From: Maxim Orlov
Date:
Subject: Re: POC: make mxidoff 64 bits