Re: [EXTERNAL] Re: Windows Application Issues | PostgreSQL | REF # 48475607

Andrew Dunstan <andrew@dunslane.net>

From: Andrew Dunstan <andrew@dunslane.net>
To: Thomas Munro <thomas.munro@gmail.com>, "Haifang Wang (Centific Technologies Inc)" <v-haiwang@microsoft.com>
Cc: Sandeep Thakkar <sandeep.thakkar@enterprisedb.com>, Rahul Pandey <pandeyrah@microsoft.com>, Vishwa Deepak <Vishwa.Deepak@microsoft.com>, Shawn Steele <Shawn.Steele@microsoft.com>, Amy Wishnousky <amyw@microsoft.com>, Tom Lane <tgl@sss.pgh.pa.us>, "pgsql-bugs@lists.postgresql.org" <pgsql-bugs@lists.postgresql.org>, Shweta Gulati <gulatishweta@microsoft.com>, Ashish Nawal <nawalashish@microsoft.com>
Date: 2024-08-29T15:16:53Z
Lists: pgsql-bugs

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Reject non-ASCII locale names.

On 2024-08-28 We 6:16 AM, Thomas Munro wrote:
> On Tue, Aug 27, 2024 at 9:29 AM Haifang Wang (Centific Technologies
> Inc) <v-haiwang@microsoft.com> wrote:
>> Just would like to follow up with you about this bug. How is it going with the investigation?
> Well, we figured out that Windows is aborting inside setlocale().  The
> C standard says "The pointer to string returned by the setlocale
> function is such that a subsequent call with that string value and its
> associated category will restore that part of the program’s locale."
> Window does not conform, and crashes itself.
>
> One practical change we could make would be to reject non-ASCII locale
> names in initdb, as in the attached, and back-patch to 16.  Then the
> EDB installer (a separate project that is calling initdb and providing
> the non-ASCII string containing "ü") would at least get a graceful
> failure instead of a crash.  It hardly makes a difference to the user,
> but I've finally understood that these crashes in the Windows runtime
> library might be generating a stream of crash reports to Microsoft,
> which might be bringing you here?
>
> For example:
>
> $ initdb -D asdf --locale="liberté"
> The files belonging to this database system will be owned by user "tmunro".
> This user must also own the server process.
>
> initdb: error: locale name "liberté" contains non-ASCII characters


+1 for doing this.


cheers


andrew


--
Andrew Dunstan
EDB: https://www.enterprisedb.com