From ce08bd1b425f14a1ca80287ca4cf43deeb32ea76 Mon Sep 17 00:00:00 2001 From: Hazelnoot Date: Sun, 16 Mar 2025 12:37:46 -0400 Subject: reduce, clarify, and normalize more error messages --- packages/backend/src/boot/entry.ts | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'packages/backend/src/boot/entry.ts') diff --git a/packages/backend/src/boot/entry.ts b/packages/backend/src/boot/entry.ts index 735a0f4666..e52d77ab9b 100644 --- a/packages/backend/src/boot/entry.ts +++ b/packages/backend/src/boot/entry.ts @@ -9,6 +9,7 @@ import cluster from 'node:cluster'; import { EventEmitter } from 'node:events'; +import { inspect } from 'node:util'; import chalk from 'chalk'; import Xev from 'xev'; import Logger from '@/logger.js'; @@ -53,15 +54,22 @@ async function main() { // Display detail of unhandled promise rejection if (!envOption.quiet) { - process.on('unhandledRejection', console.dir); + process.on('unhandledRejection', e => { + try { + logger.error('Unhandled rejection:', inspect(e)); + } catch { + console.error('Unhandled rejection:', inspect(e)); + } + }); } // Display detail of uncaught exception process.on('uncaughtException', err => { try { - logger.error(err); - console.trace(err); - } catch { } + logger.error('Uncaught exception:', err); + } catch { + console.error('Uncaught exception:', err); + } }); // Dying away... -- cgit v1.2.3-freya From 0a56ce92caf512feb729d8dfa48bc654980fe5cd Mon Sep 17 00:00:00 2001 From: Hazelnoot Date: Thu, 12 Jun 2025 21:36:37 -0400 Subject: use uncaughtExceptionMonitor instead uncaughtException --- packages/backend/src/boot/entry.ts | 8 ++++---- packages/frontend-shared/build.js | 2 +- packages/misskey-bubble-game/build.js | 2 +- packages/misskey-js/build.js | 2 +- packages/misskey-reversi/build.js | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) (limited to 'packages/backend/src/boot/entry.ts') diff --git a/packages/backend/src/boot/entry.ts b/packages/backend/src/boot/entry.ts index e52d77ab9b..9a830403e7 100644 --- a/packages/backend/src/boot/entry.ts +++ b/packages/backend/src/boot/entry.ts @@ -64,13 +64,13 @@ async function main() { } // Display detail of uncaught exception - process.on('uncaughtException', err => { + process.on('uncaughtExceptionMonitor', ((err, origin) => { try { - logger.error('Uncaught exception:', err); + logger.error(`Uncaught exception (${origin}):`, err); } catch { - console.error('Uncaught exception:', err); + console.error(`Uncaught exception (${origin}):`, err); } - }); + })); // Dying away... process.on('exit', code => { diff --git a/packages/frontend-shared/build.js b/packages/frontend-shared/build.js index 9941114757..f3a94fe364 100644 --- a/packages/frontend-shared/build.js +++ b/packages/frontend-shared/build.js @@ -101,7 +101,7 @@ async function watchSrc() { process.on('SIGHUP', resolve); process.on('SIGINT', resolve); process.on('SIGTERM', resolve); - process.on('uncaughtException', reject); + process.on('uncaughtExceptionMonitor', reject); process.on('exit', resolve); }).finally(async () => { await context.dispose(); diff --git a/packages/misskey-bubble-game/build.js b/packages/misskey-bubble-game/build.js index 5d534cc6fd..93a695e649 100644 --- a/packages/misskey-bubble-game/build.js +++ b/packages/misskey-bubble-game/build.js @@ -99,7 +99,7 @@ async function watchSrc() { process.on('SIGHUP', resolve); process.on('SIGINT', resolve); process.on('SIGTERM', resolve); - process.on('uncaughtException', reject); + process.on('uncaughtExceptionMonitor', reject); process.on('exit', resolve); }).finally(async () => { await context.dispose(); diff --git a/packages/misskey-js/build.js b/packages/misskey-js/build.js index b794592815..76a95fb3f5 100644 --- a/packages/misskey-js/build.js +++ b/packages/misskey-js/build.js @@ -100,7 +100,7 @@ async function watchSrc() { process.on('SIGHUP', resolve); process.on('SIGINT', resolve); process.on('SIGTERM', resolve); - process.on('uncaughtException', reject); + process.on('uncaughtExceptionMonitor', reject); process.on('exit', resolve); }).finally(async () => { await context.dispose(); diff --git a/packages/misskey-reversi/build.js b/packages/misskey-reversi/build.js index 5d534cc6fd..93a695e649 100644 --- a/packages/misskey-reversi/build.js +++ b/packages/misskey-reversi/build.js @@ -99,7 +99,7 @@ async function watchSrc() { process.on('SIGHUP', resolve); process.on('SIGINT', resolve); process.on('SIGTERM', resolve); - process.on('uncaughtException', reject); + process.on('uncaughtExceptionMonitor', reject); process.on('exit', resolve); }).finally(async () => { await context.dispose(); -- cgit v1.2.3-freya From 3ce547141453960c6d15a63de21f6a89d2a7258c Mon Sep 17 00:00:00 2001 From: Hazelnoot Date: Thu, 12 Jun 2025 21:37:28 -0400 Subject: add additional process exit loggers --- packages/backend/src/boot/entry.ts | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'packages/backend/src/boot/entry.ts') diff --git a/packages/backend/src/boot/entry.ts b/packages/backend/src/boot/entry.ts index 9a830403e7..afb48e526c 100644 --- a/packages/backend/src/boot/entry.ts +++ b/packages/backend/src/boot/entry.ts @@ -73,8 +73,26 @@ async function main() { })); // Dying away... + process.on('disconnect', () => { + try { + logger.warn('IPC channel disconnected! The process may soon die.'); + } catch { + console.warn('IPC channel disconnected! The process may soon die.'); + } + }); + process.on('beforeExit', code => { + try { + logger.warn(`Event loop died! Process will exit with code ${code}.`); + } catch { + console.warn(`Event loop died! Process will exit with code ${code}.`); + } + }); process.on('exit', code => { - logger.info(`The process is going to exit with code ${code}`); + try { + logger.info(`The process is going to exit with code ${code}`); + } catch { + console.info(`The process is going to exit with code ${code}`); + } }); //#endregion -- cgit v1.2.3-freya