mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-03-10 22:21:22 -07:00
Fix: Prevent freezing in non-interactive Gemini CLI when debug mode is enabled (#14580)
This commit is contained in:
@@ -134,12 +134,14 @@ export function entrypoint(workdir: string, cliArgs: string[]): string[] {
|
|||||||
);
|
);
|
||||||
|
|
||||||
const quotedCliArgs = cliArgs.slice(2).map((arg) => quote([arg]));
|
const quotedCliArgs = cliArgs.slice(2).map((arg) => quote([arg]));
|
||||||
|
const isDebugMode =
|
||||||
|
process.env['DEBUG'] === 'true' || process.env['DEBUG'] === '1';
|
||||||
const cliCmd =
|
const cliCmd =
|
||||||
process.env['NODE_ENV'] === 'development'
|
process.env['NODE_ENV'] === 'development'
|
||||||
? process.env['DEBUG']
|
? isDebugMode
|
||||||
? 'npm run debug --'
|
? 'npm run debug --'
|
||||||
: 'npm rebuild && npm run start --'
|
: 'npm rebuild && npm run start --'
|
||||||
: process.env['DEBUG']
|
: isDebugMode
|
||||||
? `node --inspect-brk=0.0.0.0:${process.env['DEBUG_PORT'] || '9229'} $(which gemini)`
|
? `node --inspect-brk=0.0.0.0:${process.env['DEBUG_PORT'] || '9229'} $(which gemini)`
|
||||||
: 'gemini';
|
: 'gemini';
|
||||||
|
|
||||||
|
|||||||
@@ -46,7 +46,9 @@ try {
|
|||||||
// if debugging is enabled and sandboxing is disabled, use --inspect-brk flag
|
// if debugging is enabled and sandboxing is disabled, use --inspect-brk flag
|
||||||
// note with sandboxing this flag is passed to the binary inside the sandbox
|
// note with sandboxing this flag is passed to the binary inside the sandbox
|
||||||
// inside sandbox SANDBOX should be set and sandbox_command.js should fail
|
// inside sandbox SANDBOX should be set and sandbox_command.js should fail
|
||||||
if (process.env.DEBUG && !sandboxCommand) {
|
const isInDebugMode = process.env.DEBUG === '1' || process.env.DEBUG === 'true';
|
||||||
|
|
||||||
|
if (isInDebugMode && !sandboxCommand) {
|
||||||
if (process.env.SANDBOX) {
|
if (process.env.SANDBOX) {
|
||||||
const port = process.env.DEBUG_PORT || '9229';
|
const port = process.env.DEBUG_PORT || '9229';
|
||||||
nodeArgs.push(`--inspect-brk=0.0.0.0:${port}`);
|
nodeArgs.push(`--inspect-brk=0.0.0.0:${port}`);
|
||||||
@@ -64,7 +66,7 @@ const env = {
|
|||||||
DEV: 'true',
|
DEV: 'true',
|
||||||
};
|
};
|
||||||
|
|
||||||
if (process.env.DEBUG) {
|
if (isInDebugMode) {
|
||||||
// If this is not set, the debugger will pause on the outer process rather
|
// If this is not set, the debugger will pause on the outer process rather
|
||||||
// than the relaunched process making it harder to debug.
|
// than the relaunched process making it harder to debug.
|
||||||
env.GEMINI_CLI_NO_RELAUNCH = 'true';
|
env.GEMINI_CLI_NO_RELAUNCH = 'true';
|
||||||
|
|||||||
Reference in New Issue
Block a user