From: | Thomas Munro <thomas(dot)munro(at)gmail(dot)com> |
---|---|
To: | "Haifang Wang (Centific Technologies Inc)" <v-haiwang(at)microsoft(dot)com> |
Cc: | Sandeep Thakkar <sandeep(dot)thakkar(at)enterprisedb(dot)com>, Andrew Dunstan <andrew(at)dunslane(dot)net>, Rahul Pandey <pandeyrah(at)microsoft(dot)com>, Vishwa Deepak <Vishwa(dot)Deepak(at)microsoft(dot)com>, Shawn Steele <Shawn(dot)Steele(at)microsoft(dot)com>, Amy Wishnousky <amyw(at)microsoft(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "pgsql-bugs(at)lists(dot)postgresql(dot)org" <pgsql-bugs(at)lists(dot)postgresql(dot)org>, Shweta Gulati <gulatishweta(at)microsoft(dot)com>, Ashish Nawal <nawalashish(at)microsoft(dot)com> |
Subject: | Re: [EXTERNAL] Re: Windows Application Issues | PostgreSQL | REF # 48475607 |
Date: | 2024-08-28 10:16:11 |
Message-ID: | CA+hUKG+yLnVjc7qw1ac32GCzRUenXrK=3=nCvwP-LJBL8wVTEg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
On Tue, Aug 27, 2024 at 9:29 AM Haifang Wang (Centific Technologies
Inc) <v-haiwang(at)microsoft(dot)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
Attachment | Content-Type | Size |
---|---|---|
0001-initdb-Reject-non-ASCII-locale-names.patch | text/x-patch | 1.7 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | PG Bug reporting form | 2024-08-28 16:17:03 | BUG #18594: CASE WHEN ELSE failing to return the expected output when the same colum is used in WHEN and ELSE |
Previous Message | PG Bug reporting form | 2024-08-28 07:46:24 | BUG #18593: Container Image Vulnerabilities |