Open karlhorky opened 3 weeks ago
Is there a way to reproduce this error in a Github Action? I don't use windows, only use it in CI/CD & Github Actions
I guess that the first issue should also appear on Windows CI on GitHub Actions, using the code provided by @ProchaLu in https://github.com/ts-safeql/safeql/issues/243 and database.ts
in his reproduction repo:
import postgres from 'postgres';
const sql = postgres();
export async function getUsers1() {
// 💥 Missing comma after `users.id` causes libpg-query crash
return await sql<Users[]>`
SELECT
users.id
users.name
FROM
users
`;
}
Here's an example of running SafeQL in a GitHub Actions workflow for Windows (includes database setup, ESLint + SafeQL setup):
Although, the tricky part may be that on Windows, running eslint .
doesn't actually show a crash, it exits with code 127 and no more details:
$ pnpm eslint . --max-warnings 0
(node:11440) ExperimentalWarning: Importing JSON modules is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
$ echo $?
127
In the VS Code ESLint extension, it shows this error code 0xC0000409
/ STATUS_STACK_BUFFER_OVERRUN
(3221226505).
But since this error will not be surfaced, it's possible that the GitHub Actions workflow for Windows would need to test the exit code to make sure that there is no crash.
@Newbie012 any clue why (as described above) running eslint .
will exit with code 127 (no error message), but the VS Code ESLint extension will report the real error code 0xC0000409
/ STATUS_STACK_BUFFER_OVERRUN
(3221226505)?
Is this a bug in SafeQL that libpg-query
crashes don't cause a SafeQL error message on the ESLint command line interface?
Windows users of
libpg-query@16.2.0
via SafeQL have reported crashes:Error code
0xC0000409
(STATUS_STACK_BUFFER_OVERRUN
)Error code
0xC0000409
(aka error code3221226505
) (akaSTATUS_STACK_BUFFER_OVERRUN
) occurred when linting SQL with errors in it (missing commas and parentheses):Researching a bit led me to this:
How do you diagnose the exception code 0xc0000409 on Windows? | Stack Overflow
Error code
0xE06D7363
Error code
0xE06D7363
(aka error code3765269347
) occurred when linting Prisma SQL code (code currently unknown):Research led to this:
C++ Loadlibrary() error 3765269347
I am wondering whether this is a general problem or deficiency with how
libpg-query
is built on Windows, or whether it's an issue with how SafeQL is interacting withlibpg-query
?Last
libpg-query
Windows PRs:cc @pyramation @aquariuslt @Newbie012