quarkusio/quarkus · warning · RuntimeException

Process interrupted

Error message

Process interrupted

What it means

Thrown by the INT-signal handler registered by Quarkus's interactive Prompter: when the JVM receives SIGINT (Ctrl+C) during a console prompt, the handler converts the signal into a RuntimeException('Process interrupted'). It is the library's way of unwinding an interactive read when the user cancels, rather than a defect in your code.

Source

Thrown at devtools/maven/src/main/java/io/quarkus/maven/components/Prompter.java:78

    private static void read(TerminalConnection connection, Readline readline, Iterator<Prompt> prompts) {
        final Prompt prompt = prompts.next();
        readline.readline(connection, prompt.prompt, input -> {
            prompt.inputConsumer.accept(
                    (input == null || input.isBlank()) && prompt.defaultValue != null ? prompt.defaultValue : input);
            if (!prompts.hasNext()) {
                connection.close();
            } else {
                read(connection, readline, prompts);
            }
        });
    }

    private Consumer<Signal> interruptionSignalHandler() {
        return new Consumer<Signal>() {
            @Override
            public void accept(Signal signal) {
                if (signal == Signal.INT) {
                    throw new RuntimeException("Process interrupted");
                }
            }
        };
    }
}

View on GitHub (pinned to e1c734241f)

Solutions

  1. This is an intentional interruption — re-run the command and answer the prompt instead of pressing Ctrl+C.
  2. Run the goal with all options supplied on the command line (e.g. -Dextensions=... -DprojectGroupId=...) so no interactive prompt blocks the build.
  3. Use -DnoInteractions / non-interactive flags where available, or pipe input (echo 'y' | mvn ...) in CI.
  4. If it fires without user action, check whether CI/tooling sends signals to the build process.

Example fix

// before (interactive, blocks on prompt)
mvn quarkus:add-extension
// after (non-interactive, cannot be interrupted mid-prompt)
mvn quarkus:add-extension -Dextensions="io.quarkus:quarkus-rest"
Defensive patterns

Strategy: try-catch

Try / catch

try {
    prompter.prompt("Continue? [y/N]");
} catch (RuntimeException e) {
    if ("Process interrupted".equals(e.getMessage())) {
        // user pressed Ctrl+C during the prompt; clean up and exit gracefully
        return;
    }
    throw e;
}

Prevention

When it happens

Trigger: Pressing Ctrl+C (SIGINT) while a Quarkus Maven mojo (e.g. quarkus:create, quarkus:add-extension) is blocked reading user input from a Prompter prompt.

Common situations: User cancels an interactive wizard in a terminal; CI environments sending SIGINT/SIGTERM to a build that is stuck waiting on a prompt; terminal session disconnects.

Related errors


AI-assisted analysis of quarkusio/quarkus@e1c734241f (2026-09-05). Data as JSON: /api/errors/d9e65356921ec63c. Report an issue: GitHub.